XBT_PUBLIC_CLASS string : private string_data {
static const char NUL;
public:
-
// Types
typedef std::size_t size_type;
typedef std::ptrdiff_t difference_type;
return data()[i];
}
// Conversion
+ static string_data& to_string_data(string& s) { return s; }
operator std::string() const { return std::string(this->c_str(), this->size()); }
// Iterators
simgrid::mc::ActorInformation* info = actor_info_cast(actor);
if (info->name.empty()) {
- simgrid::xbt::string_data string_data = (simgrid::xbt::string_data&)actor->name;
+ simgrid::xbt::string_data string_data = simgrid::xbt::string::to_string_data(actor->name);
info->name = process->read_string(remote(string_data.data), string_data.len);
}
return info->name.c_str();