This class stores a set of function symbols.
More...
#include <function_symbol_pool.h>
This class stores a set of function symbols.
Definition at line 24 of file function_symbol_pool.h.
◆ unordered_set
◆ function_symbol_pool()
function_symbol_pool::function_symbol_pool |
( |
| ) |
|
◆ as_empty_list()
const function_symbol & atermpp::detail::function_symbol_pool::as_empty_list |
( |
| ) |
|
|
inlinenoexcept |
- Returns
- The function symbol used by the term indicating the empty list.
Definition at line 65 of file function_symbol_pool.h.
◆ as_int()
◆ as_list()
◆ capacity()
std::size_t atermpp::detail::function_symbol_pool::capacity |
( |
| ) |
const |
|
inlinenoexcept |
- Returns
- The maximum number of function symbols stored in this pool.
Definition at line 71 of file function_symbol_pool.h.
◆ create() [1/2]
function_symbol function_symbol_pool::create |
( |
const std::string & |
name, |
|
|
const std::size_t |
arity, |
|
|
const bool |
check_for_registered_functions = false |
|
) |
| |
Creates a function symbol pair (name, arity), returns a pointer to an existing element if this pair is already defined.
- Parameters
-
check_for_registered_functions | Check whether there is a registered prefix p such that name equal pn where n is a number. In that case prevent that pn will be generated as a fresh function name. \threadsafe |
Definition at line 87 of file function_symbol_pool.cpp.
◆ create() [2/2]
function_symbol function_symbol_pool::create |
( |
std::string && |
name, |
|
|
const std::size_t |
arity, |
|
|
const bool |
check_for_registered_functions = false |
|
) |
| |
◆ create_helper()
void function_symbol_pool::create_helper |
( |
const std::string & |
name | ) |
|
|
private |
◆ deregister()
void function_symbol_pool::deregister |
( |
const std::string & |
prefix | ) |
|
◆ get_sufficiently_large_postfix_index()
std::size_t function_symbol_pool::get_sufficiently_large_postfix_index |
( |
const std::string & |
prefix | ) |
const |
Get an index such that no function symbol with name prefix + returned value and any value above it already exists.
Definition at line 140 of file function_symbol_pool.cpp.
◆ register_prefix()
std::shared_ptr< std::size_t > function_symbol_pool::register_prefix |
( |
const std::string & |
prefix | ) |
|
◆ resize_if_needed()
void function_symbol_pool::resize_if_needed |
( |
| ) |
|
◆ size()
std::size_t atermpp::detail::function_symbol_pool::size |
( |
| ) |
const |
|
inlinenoexcept |
◆ sweep()
void function_symbol_pool::sweep |
( |
| ) |
|
◆ m_as_empty_list
◆ m_as_int
◆ m_as_list
◆ m_function_symbol_metrics
◆ m_mutex
◆ m_prefix_to_register_function_map
std::map<std::string, std::shared_ptr<std::size_t> > atermpp::detail::function_symbol_pool::m_prefix_to_register_function_map |
|
private |
A map that records a function for each prefix that must be called to set the postfix number to a sufficiently high number if a function symbol with the same prefix string is registered.
Definition at line 90 of file function_symbol_pool.h.
◆ m_symbol_set
unordered_set atermpp::detail::function_symbol_pool::m_symbol_set |
|
private |
The documentation for this class was generated from the following files: