PolyBoRi
WeakRingPtr.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 //*****************************************************************************
14 //*****************************************************************************
15 
16 #ifndef polybori_WeakRingPtr_h_
17 #define polybori_WeakRingPtr_h_
18 
19 // include basic definitions
20 #include <polybori/pbori_defs.h>
22 #include <polybori/BoolePolyRing.h>
23 
25 
32 class WeakRingPtr {
34  typedef WeakRingPtr self;
35 
36 public:
38 
40  WeakRingPtr(const value_type& data): m_data(*data.core()) {}
41 
43  WeakRingPtr(const self& rhs): m_data(rhs.m_data) {}
44 
47 
49  value_type operator*() const { return value_type(m_data); }
50 
52  operator bool() const { return m_data; }
53 
54 private:
56 };
57 
59 
60 #endif /* polybori_WeakRingPtr_h_ */
#define END_NAMESPACE_PBORI
Finish project's namespace.
Definition: pbori_defs.h:77
#define BEGIN_NAMESPACE_PBORI
Start project's namespace.
Definition: pbori_defs.h:74
This class reinterprets decicion diagram managers as Boolean polynomial rings, adds an ordering and v...
Definition: BoolePolyRing.h:40
This class defines WeakRingPtr.
Definition: WeakRingPtr.h:32
WeakRingPtr(const self &rhs)
Copy constructor.
Definition: WeakRingPtr.h:43
value_type operator*() const
Dereferencing.
Definition: WeakRingPtr.h:49
Forward declaration of friend.
Definition: CWeakPtr.h:31
WeakRingPtr(const value_type &data)
Default constructor.
Definition: WeakRingPtr.h:40
BoolePolyRing value_type
Definition: WeakRingPtr.h:37
~WeakRingPtr()
Destructor.
Definition: WeakRingPtr.h:46