Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] C++ify Frame
[simgrid.git] / src / mc / mc_forward.h
1 /* Copyright (c) 2007-2014. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #ifndef SIMGRID_MC_FORWARD_H
8 #define SIMGRID_MC_FORWARD_H
9
10 #include <xbt/misc.h>
11 #include <mc/datatypes.h>
12
13 #ifdef __cplusplus
14
15 #define MC_OVERRIDE
16
17 namespace simgrid {
18 namespace mc {
19
20 class PageStore;
21 class ModelChecker;
22 class AddressSpace;
23 class Process;
24 class Snapshot;
25 class ObjectInformation;
26 class Type;
27 class Variable;
28 class Frame;
29
30 }
31 }
32
33 typedef ::simgrid::mc::ModelChecker s_mc_model_checker_t;
34 typedef ::simgrid::mc::PageStore s_mc_pages_store_t;
35 typedef ::simgrid::mc::AddressSpace s_mc_address_space_t;
36 typedef ::simgrid::mc::Process s_mc_process_t;
37 typedef ::simgrid::mc::Snapshot s_mc_snapshot_t;
38 typedef ::simgrid::mc::ObjectInformation s_mc_object_info_t;
39 typedef ::simgrid::mc::Type s_mc_type_t;
40 typedef ::simgrid::mc::Variable s_mc_variable_t;
41 typedef ::simgrid::mc::Frame s_mc_frame_t;
42
43 #else
44
45 typedef struct _s_mc_model_checker s_mc_model_checker_t;
46 typedef struct _s_mc_pages_store s_mc_pages_store_t;
47 typedef struct _s_mc_address_space_t s_mc_address_space_t;
48 typedef struct _s_mc_process_t s_mc_process_t;
49 typedef struct _s_mc_snapshot_t s_mc_snapshot_t;
50 typedef struct _s_mc_object_info_t s_mc_object_info_t;
51 typedef struct _s_mc_type_t s_mc_type_t;
52 typedef struct _s_mc_variable_t s_mc_variable_t;
53 typedef struct _s_mc_frame_t s_mc_frame_t;
54
55 #endif
56
57 typedef s_mc_pages_store_t *mc_pages_store_t;
58 typedef s_mc_model_checker_t *mc_model_checker_t;
59 typedef s_mc_address_space_t *mc_address_space_t;
60 typedef s_mc_process_t *mc_process_t;
61 typedef s_mc_snapshot_t *mc_snapshot_t;
62 typedef s_mc_object_info_t *mc_object_info_t;
63 typedef s_mc_type_t *mc_type_t;
64 typedef s_mc_variable_t *mc_variable_t;
65 typedef s_mc_frame_t *mc_frame_t;
66
67 typedef struct s_memory_map s_memory_map_t, *memory_map_t;
68
69 SG_BEGIN_DECL()
70 extern mc_model_checker_t mc_model_checker;
71 SG_END_DECL()
72
73 #endif