Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove useless #ifdef __cplusplus from hpp files.
[simgrid.git] / src / mc / mc_private.hpp
1 /* Copyright (c) 2007-2017. The SimGrid Team. All rights reserved.          */
2
3 /* This program is free software; you can redistribute it and/or modify it
4  * under the terms of the license (GNU LGPL) which comes with this package. */
5
6 #ifndef SIMGRID_MC_PRIVATE_HPP
7 #define SIMGRID_MC_PRIVATE_HPP
8
9 #include "mc/mc.h"
10 #include "xbt/automaton.h"
11
12 #include "src/mc/mc_forward.hpp"
13 #include "src/xbt/memory_map.hpp"
14
15 namespace simgrid {
16 namespace mc {
17
18 struct DerefAndCompareByActorsCountAndUsedHeap {
19   template<class X, class Y>
20   bool operator()(X const& a, Y const& b)
21   {
22     return std::make_pair(a->actors_count, a->heap_bytes_used) < std::make_pair(b->actors_count, b->heap_bytes_used);
23   }
24 };
25
26 }
27 }
28
29 SG_BEGIN_DECL()
30
31 /********************************* MC Global **********************************/
32
33 XBT_PRIVATE void MC_init_dot_output();
34
35 XBT_PRIVATE extern FILE *dot_output;
36
37 XBT_PRIVATE void MC_show_deadlock(void);
38
39 /********************************** Snapshot comparison **********************************/
40
41 //#define MC_DEBUG 1
42 #define MC_VERBOSE 1
43
44 /********************************** Miscellaneous **********************************/
45
46 SG_END_DECL()
47
48 namespace simgrid {
49 namespace mc {
50
51 XBT_PRIVATE void find_object_address(
52   std::vector<simgrid::xbt::VmMap> const& maps, simgrid::mc::ObjectInformation* result);
53
54 XBT_PRIVATE
55 int snapshot_compare(int num1, simgrid::mc::Snapshot* s1, int num2, simgrid::mc::Snapshot* s2);
56
57 // Move is somewhere else (in the LivenessChecker class, in the Session class?):
58 extern XBT_PRIVATE xbt_automaton_t property_automaton;
59
60 }
61 }
62
63 #endif