-
Notifications
You must be signed in to change notification settings - Fork 3
/
pointers.h
47 lines (35 loc) · 1.34 KB
/
pointers.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifndef MYPOP_POINTERS_H
#define MYPOP_POINTERS_H
#include <boost/shared_ptr.hpp>
namespace MyPOP {
/**
* All temporal pointer types used by the planner. When working with partial plans
* some properties are shared between these. For example:
* - Steps are always monotonically increasing, once added to a plan all its children
* will have the same steps.
* - Likewise, links will never be broken once established. If then need to be broken
* the planner will have to backtrack.
* - Flaws are shared among multiple plans, so we want to have only a single
* object in memory at any given time.
*/
class Flaw;
typedef boost::shared_ptr<const Flaw> FlawPtr;
class OpenCondition;
typedef boost::shared_ptr<const OpenCondition> OpenConditionPtr;
class Mutex;
typedef boost::shared_ptr<const Mutex> MutexPtr;
class Unsafe;
typedef boost::shared_ptr<const Unsafe> UnsafePtr;
class Step;
typedef boost::shared_ptr<const Step> StepPtr;
class Link;
typedef boost::shared_ptr<const Link> LinkPtr;
/**
* When defining the domain of a variable, we can say that the domain of two variables are
* equal. Thus they share the same set of objects which is easier to maintain if the set of
* objects is an external object the VariableDomain objects have a pointer to.
*/
//class VariableDomain;
//typedef boost::shared_ptr<VariableDomain> VariableDomainPtr;
};
#endif