#include <BVTermPool.h>
|
| BVTermPool () |
|
| BVTermPool (const BVTermPool &)=delete |
|
BVTermPool & | operator= (const BVTermPool &)=delete |
|
ConstTermPtr | create () |
|
ConstTermPtr | create (BVTermType _type, BVValue &&_value) |
|
ConstTermPtr | create (BVTermType _type, const BVVariable &_variable) |
|
ConstTermPtr | create (BVTermType _type, const BVTerm &_operand, std::size_t _index=0) |
|
ConstTermPtr | create (BVTermType _type, const BVTerm &_first, const BVTerm &_second) |
|
ConstTermPtr | create (BVTermType _type, const BVTerm &_operand, std::size_t _first, std::size_t _last) |
|
void | assignId (TermPtr _term, std::size_t _id) override |
| Assigns a unique id to the generated element. More...
|
|
void | print () const |
|
std::pair< typename FastPointerSet< BVTermContent >::iterator, bool > | insert (ElementPtr _element, bool _assertFreshness=false) |
| Inserts the given element into the pool, if it does not yet occur in there. More...
|
|
ConstElementPtr | add (ElementPtr _element) |
| Adds the given element to the pool, if it does not yet occur in there. More...
|
|
Definition at line 13 of file BVTermPool.h.
◆ ConstElementPtr
◆ ConstTermPtr
◆ ElementPtr
◆ Term
◆ TermPtr
◆ BVTermPool() [1/2]
carl::BVTermPool::BVTermPool |
( |
| ) |
|
◆ BVTermPool() [2/2]
carl::BVTermPool::BVTermPool |
( |
const BVTermPool & |
| ) |
|
|
delete |
◆ add()
Adds the given element to the pool, if it does not yet occur in there.
Note, that this method uses the allocator which is locked before calling.
- Parameters
-
_element | The element to add to the pool. |
- Returns
- The given element, if it did not yet occur in the pool; The equivalent element already occurring in the pool, otherwise.
Definition at line 113 of file Pool.h.
◆ assignId()
void carl::BVTermPool::assignId |
( |
TermPtr |
, |
|
|
std::size_t |
|
|
) |
| |
|
overridevirtual |
Assigns a unique id to the generated element.
Note that this method serves as a callback for subclasses. The actual assignment of the id is done there.
- Parameters
-
_element | The element for which to add the id. |
_id | A unique id. |
Reimplemented from carl::Pool< BVTermContent >.
Definition at line 176 of file BVTermPool.cpp.
◆ create() [1/6]
◆ create() [2/6]
◆ create() [3/6]
◆ create() [4/6]
◆ create() [5/6]
◆ create() [6/6]
◆ getInstance()
Returns the single instance of this class by reference.
If there is no instance yet, a new one is created.
Definition at line 45 of file Singleton.h.
◆ insert()
Inserts the given element into the pool, if it does not yet occur in there.
- Parameters
-
_element | The element to add to the pool. |
_assertFreshness | When true, an assertion fails if the element is not fresh (i.e., if it already occurs in the pool). |
- Returns
- The position of the given element in the pool and true, if it did not yet occur in the pool; The position of the equivalent element in the pool and false, otherwise.
Definition at line 89 of file Pool.h.
◆ operator=()
◆ print()
◆ mIdAllocator
id allocator
Definition at line 31 of file Pool.h.
◆ mMutexPool
Mutex to avoid multiple access to the pool.
Definition at line 35 of file Pool.h.
◆ mpInvalid
◆ mPool
The formula pool.
Definition at line 33 of file Pool.h.
◆ Singleton< BVTermPool >
The documentation for this class was generated from the following files: