pl_search_cpp 2.2
Loading...
Searching...
No Matches
typedefs.hpp
Go to the documentation of this file.
1/*
2MIT License
3
4...license text...
5
6*/
7
13#ifndef PL_SEARCH_TYPEDEFS_HPP
14#define PL_SEARCH_TYPEDEFS_HPP
15
16#include <memory>
17
18namespace pl_search {
19
20class Pred;
21
22class Term;
23class PVar;
24class PInt;
25class PFloat;
26class PAtom;
27class CList;
28class UpdatablePVar;
29class LoopBodyFactory;
30
34typedef std::shared_ptr<Pred> PredPtr;
35
39#define NEW_PRED std::make_shared<Pred>
40
44typedef std::shared_ptr<Term> TermPtr;
45typedef std::shared_ptr<PVar> PVarPtr;
46typedef std::shared_ptr<PInt> PIntPtr;
47typedef std::shared_ptr<PFloat> PFloatPtr;
48typedef std::shared_ptr<PAtom> PAtomPtr;
49typedef std::shared_ptr<CList> CListPtr;
50typedef std::shared_ptr<UpdatablePVar> UpdatablePVarPtr;
51typedef std::shared_ptr<LoopBodyFactory> LoopBodyFactoryPtr;
52
56#define NEW_PVAR std::make_shared<PVar>
57#define NEW_PINT std::make_shared<PInt>
58#define NEW_PFLOAT std::make_shared<PFloat>
59#define NEW_PATOM std::make_shared<PAtom>
60#define NEW_CLIST std::make_shared<CList>
61#define NEW_UPDATABLE_PVAR std::make_shared<UpdatablePVar>
62#define NEW_LOOP_BODY_FACTORY std::make_shared<LoopBodyFactory>
63
64} // namespace pl_search
65
66#endif // PL_SEARCH_TYPEDEFS_HPP
Definition clist.hpp:45
std::shared_ptr< CList > CListPtr
Definition typedefs.hpp:49
std::shared_ptr< Pred > PredPtr
Typedef for a shared pointer to a Pred object.
Definition typedefs.hpp:34
std::shared_ptr< PInt > PIntPtr
Definition typedefs.hpp:46
std::shared_ptr< PAtom > PAtomPtr
Definition typedefs.hpp:48
std::shared_ptr< LoopBodyFactory > LoopBodyFactoryPtr
Definition typedefs.hpp:51
std::shared_ptr< PFloat > PFloatPtr
Definition typedefs.hpp:47
std::shared_ptr< PVar > PVarPtr
Definition typedefs.hpp:45
std::shared_ptr< UpdatablePVar > UpdatablePVarPtr
Definition typedefs.hpp:50
std::shared_ptr< Term > TermPtr
Typedefs for shared pointers to Terms and subclasses.
Definition typedefs.hpp:44