Lattice Land Core Library
Loading...
Searching...
No Matches
lala::AVar Class Reference

#include <ast.hpp>

Public Member Functions

CUDA constexpr AVar ()
 
constexpr AVar (const AVar &)=default
 
constexpr AVar (AVar &&)=default
 
constexpr AVaroperator= (const AVar &)=default
 
constexpr AVaroperator= (AVar &&)=default
 
CUDA constexpr bool operator== (const AVar &other) const
 
CUDA constexpr AVar (AType atype, int var_id)
 
CUDA constexpr AVar (AType atype, size_t var_id)
 
CUDA constexpr bool is_untyped () const
 
CUDA constexpr int aty () const
 
CUDA constexpr int vid () const
 
CUDA constexpr void type_as (AType aty)
 

Detailed Description

We call an "abstract variable" the representation of a logical variable in an abstract domain. It is a pair of integers (aty, vid) where aty is the UID of the abstract element and vid is an internal identifier of the variable inside the abstract element. The mapping between logical variables and abstract variables is maintained in an environment (see env.hpp). An abstract variable always has a single name (or no name if it is not explicitly represented in the initial formula). But a logical variable can be represented by several abstract variables when the variable occurs in different abstract elements.

Constructor & Destructor Documentation

◆ AVar() [1/5]

CUDA constexpr lala::AVar::AVar ( )
inlineconstexpr

◆ AVar() [2/5]

constexpr lala::AVar::AVar ( const AVar & )
constexprdefault

◆ AVar() [3/5]

constexpr lala::AVar::AVar ( AVar && )
constexprdefault

◆ AVar() [4/5]

CUDA constexpr lala::AVar::AVar ( AType atype,
int var_id )
inlineconstexpr

◆ AVar() [5/5]

CUDA constexpr lala::AVar::AVar ( AType atype,
size_t var_id )
inlineconstexpr

Member Function Documentation

◆ operator=() [1/2]

constexpr AVar & lala::AVar::operator= ( const AVar & )
constexprdefault

◆ operator=() [2/2]

constexpr AVar & lala::AVar::operator= ( AVar && )
constexprdefault

◆ operator==()

CUDA constexpr bool lala::AVar::operator== ( const AVar & other) const
inlineconstexpr

◆ is_untyped()

CUDA constexpr bool lala::AVar::is_untyped ( ) const
inlineconstexpr

◆ aty()

CUDA constexpr int lala::AVar::aty ( ) const
inlineconstexpr

◆ vid()

CUDA constexpr int lala::AVar::vid ( ) const
inlineconstexpr

◆ type_as()

CUDA constexpr void lala::AVar::type_as ( AType aty)
inlineconstexpr

The documentation for this class was generated from the following file: