Lattice Land Core Library
|
#include <env.hpp>
Classes | |
struct | snapshot_type |
Public Types | |
using | allocator_type = Allocator |
using | this_type = VarEnv<Allocator> |
template<class T > | |
using | bvector = battery::vector<T, Allocator> |
using | bstring = battery::string<Allocator> |
using | variable_type = Variable<Allocator> |
Public Member Functions | |
CUDA NI AType | extends_abstract_dom () |
CUDA | VarEnv (const Allocator &allocator) |
CUDA | VarEnv (this_type &&other) |
CUDA | VarEnv () |
CUDA | VarEnv (const this_type &other) |
template<class Alloc2 > | |
CUDA | VarEnv (const VarEnv< Alloc2 > &other, const Allocator &allocator=Allocator{}) |
CUDA this_type & | operator= (this_type &&other) |
CUDA this_type & | operator= (const this_type &other) |
template<class Alloc2 > | |
CUDA this_type & | operator= (const VarEnv< Alloc2 > &other) |
CUDA allocator_type | get_allocator () const |
CUDA size_t | num_abstract_doms () const |
CUDA size_t | num_vars () const |
CUDA size_t | num_vars_in (AType aty) const |
template<bool diagnose = false, class F > | |
CUDA NI bool | interpret (const F &f, AVar &avar, IDiagnostics &diagnostics) |
CUDA NI std::optional< std::reference_wrapper< const variable_type > > | variable_of (const char *lv) const |
template<class Alloc2 > | |
CUDA std::optional< std::reference_wrapper< const variable_type > > | variable_of (const battery::string< Alloc2 > &lv) const |
template<class Alloc2 > | |
CUDA bool | contains (const battery::string< Alloc2 > &lv) const |
CUDA bool | contains (const char *lv) const |
CUDA bool | contains (AVar av) const |
CUDA const variable_type & | operator[] (int i) const |
CUDA const variable_type & | operator[] (AVar av) const |
CUDA const bstring & | name_of (AVar av) const |
CUDA const Sort< Allocator > & | sort_of (AVar av) const |
CUDA NI snapshot_type | snapshot () const |
CUDA NI void | restore (const snapshot_type &snap) |
Static Public Attributes | |
static constexpr const char * | name = "VarEnv" |
Friends | |
template<class Alloc2 > | |
class | VarEnv |
A VarEnv
is a variable environment mapping between logical variables and abstract variables.
using lala::VarEnv< Allocator >::allocator_type = Allocator |
using lala::VarEnv< Allocator >::this_type = VarEnv<Allocator> |
using lala::VarEnv< Allocator >::bvector = battery::vector<T, Allocator> |
using lala::VarEnv< Allocator >::bstring = battery::string<Allocator> |
using lala::VarEnv< Allocator >::variable_type = Variable<Allocator> |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Save the state of the environment.
|
inline |
Restore the environment to its previous state snap
.
|
staticconstexpr |