#include <simgrid_config.h>
+#include <string>
+#include <cstdarg>
+
#if HAVE_MC
#include <stdexcept>
#include <cstddef>
#include <cstdlib>
#include <cstring>
-#include <string>
#include <iterator>
#include <xbt/sysdep.h>
+#endif
+
namespace simgrid {
namespace xbt {
+#if HAVE_MC
+
/** POD structure representation of a string
*/
struct string_data {
std::size_t len;
};
-/** A std::string with well-known representation
+/** A std::string-like with well-known representation
*
- * This is a (incomplete) drop-in replacement for `std::string`.
+ * HACK, this is a (incomplete) replacement for `std::string`.
* It has a fixed POD representation (`simgrid::xbt::string_data`)
* which can be used to easily read the string content from another
* process.
return b <= a;
}
-}
-}
-
#else
-#include <string>
+typedef std::string string;
-namespace simgrid {
-namespace xbt {
+#endif
-typedef std::string string;
+std::string string_vprintf(const char *fmt, va_list ap);
+std::string string_printf(const char *fmt, ...);
}
}
#endif
-
-#endif