carl
24.04
Computer ARithmetic Library
|
Implements a manager for uninterpreted functions, containing their actual contents and allocating their ids. More...
#include <UFManager.h>
Public Member Functions | |
const auto & | ufContents () const |
const auto & | ufIDMap () const |
const std::string & | get_name (const UninterpretedFunction &uf) const |
const std::vector< Sort > & | getDomain (const UninterpretedFunction &uf) const |
Sort | getCodomain (const UninterpretedFunction &uf) const |
UninterpretedFunction | newUninterpretedFunction (std::string &&name, std::vector< Sort > &&domain, Sort codomain) |
Gets the uninterpreted function with the given name, domain, arguments and codomain. More... | |
Static Public Member Functions | |
static UFManager & | getInstance () |
Returns the single instance of this class by reference. More... | |
Private Member Functions | |
UFManager () | |
Constructs an uninterpreted functions manager. More... | |
UninterpretedFunction | newUF (std::unique_ptr< UFContent > &&sc) |
Tries to add the given uninterpreted function's content to the so far stored uninterpreted function's contents. More... | |
const auto & | getUF (const UninterpretedFunction &uf) const |
Private Attributes | |
friend | Singleton< UFManager > |
FastPointerMap< UFContent, std::size_t > | mUFIdMap |
Stores all instantiated uninterpreted function's contents and maps them to their unique id. More... | |
std::vector< std::unique_ptr< UFContent > > | mUFs |
Maps the unique ids to the instantiated uninterpreted function's content. More... | |
Implements a manager for uninterpreted functions, containing their actual contents and allocating their ids.
Definition at line 116 of file UFManager.h.
|
inlineprivate |
Constructs an uninterpreted functions manager.
Definition at line 128 of file UFManager.h.
|
inline |
uf | An uninterpreted function. |
Definition at line 159 of file UFManager.h.
|
inline |
uf | An uninterpreted function. |
Definition at line 175 of file UFManager.h.
|
inline |
uf | An uninterpreted function. |
Definition at line 167 of file UFManager.h.
|
inlinestaticinherited |
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.
|
inlineprivate |
Definition at line 141 of file UFManager.h.
|
private |
Tries to add the given uninterpreted function's content to the so far stored uninterpreted function's contents.
If it has already been stored, if will be deleted and the id of the already existing uninterpreted function's content will be used to create the returned uninterpreted function.
sc | The uninterpreted function's content to store. |
Definition at line 13 of file UFManager.cpp.
|
inline |
Gets the uninterpreted function with the given name, domain, arguments and codomain.
name | The name of the uninterpreted function of the uninterpreted function to get. |
domain | The domain of the uninterpreted function of the uninterpreted function to get. |
codomain | The codomain of the uninterpreted function of the uninterpreted function to get. |
Definition at line 186 of file UFManager.h.
|
inline |
Definition at line 148 of file UFManager.h.
|
inline |
Definition at line 151 of file UFManager.h.
|
private |
Stores all instantiated uninterpreted function's contents and maps them to their unique id.
Definition at line 121 of file UFManager.h.
|
private |
Maps the unique ids to the instantiated uninterpreted function's content.
Definition at line 123 of file UFManager.h.
|
private |
Definition at line 117 of file UFManager.h.