Lattice Land Core Library
lala::AVar Class Reference

#include <ast.hpp>

Public Member Functions

constexpr CUDA AVar ()
 
constexpr AVar (const AVar &)=default
 
constexpr AVar (AVar &&)=default
 
constexpr AVaroperator= (const AVar &)=default
 
constexpr AVaroperator= (AVar &&)=default
 
constexpr CUDA bool operator== (const AVar &other) const
 
constexpr CUDA AVar (AType atype, int var_id)
 
constexpr CUDA AVar (AType atype, size_t var_id)
 
constexpr CUDA bool is_untyped () const
 
constexpr CUDA int aty () const
 
constexpr CUDA int vid () const
 
constexpr CUDA 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]

constexpr CUDA 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]

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

◆ AVar() [5/5]

constexpr CUDA 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==()

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

◆ is_untyped()

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

◆ aty()

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

◆ vid()

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

◆ type_as()

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

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