+#ifdef __cplusplus
+
+#define MC_OVERRIDE
+
+namespace simgrid {
+namespace mc {
+
+class PageStore;
+class ModelChecker;
+class AddressSpace;
+class Process;
+class Snapshot;
+
+}
+}
+
+typedef ::simgrid::mc::ModelChecker s_mc_model_checker_t;
+typedef ::simgrid::mc::PageStore s_mc_pages_store_t;
+typedef ::simgrid::mc::AddressSpace s_mc_address_space_t;
+typedef ::simgrid::mc::Process s_mc_process_t;
+typedef ::simgrid::mc::Snapshot s_mc_snapshot_t;
+
+#else
+
+typedef struct _s_mc_model_checker s_mc_model_checker_t;
+typedef struct _s_mc_pages_store s_mc_pages_store_t;
+typedef struct _s_mc_address_space_t s_mc_address_space_t;
+typedef struct _s_mc_process_t s_mc_process_t;
+typedef struct _s_mc_snapshot_t s_mc_snapshot_t;
+
+#endif
+