#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: