OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
Classes | Typedefs | Enumerations | Functions | Variables
client::ast Namespace Reference

Classes

struct  expression
 
struct  function_call
 
struct  identifier
 
struct  is_recursive_wrapper
 
struct  is_recursive_wrapper< recursive_wrapper< T > >
 
struct  nil
 
struct  operation
 
struct  quoted_string
 
class  recursive_wrapper
 
struct  tagged
 
struct  unary
 

Typedefs

typedef std::variant< nil, bool, unsigned int, double, identifier, recursive_wrapper< unary >, recursive_wrapper< function_call >, recursive_wrapper< expression > > operand
 
typedef std::variant< expression, quoted_string > function_call_argument
 

Enumerations

enum  optoken {
  op_plus , op_minus , op_times , op_divide ,
  op_positive , op_negative , op_not , op_equal ,
  op_not_equal , op_less , op_less_equal , op_greater ,
  op_greater_equal , op_and , op_or
}
 

Functions

template<typename Visitor , typename Variant >
decltype(auto) apply_visitor (Visitor &&vis, Variant &&var)
 
std::ostream & operator<< (std::ostream &out, identifier const &id)
 

Variables

template<typename T >
constexpr bool is_recursive_wrapper_v = is_recursive_wrapper<T>::value
 

Typedef Documentation

◆ function_call_argument

Definition at line 130 of file ast.hpp.

◆ operand

typedef std::variant< nil , bool , unsigned int , double , identifier , recursive_wrapper<unary> , recursive_wrapper<function_call> , recursive_wrapper<expression> > client::ast::operand

Definition at line 124 of file ast.hpp.

Enumeration Type Documentation

◆ optoken

Enumerator
op_plus 
op_minus 
op_times 
op_divide 
op_positive 
op_negative 
op_not 
op_equal 
op_not_equal 
op_less 
op_less_equal 
op_greater 
op_greater_equal 
op_and 
op_or 

Definition at line 132 of file ast.hpp.

Function Documentation

◆ apply_visitor()

template<typename Visitor , typename Variant >
decltype(auto) client::ast::apply_visitor ( Visitor &&  vis,
Variant &&  var 
)

◆ operator<<()

std::ostream & client::ast::operator<< ( std::ostream &  out,
identifier const &  id 
)
inline

Definition at line 181 of file ast.hpp.

Variable Documentation

◆ is_recursive_wrapper_v

template<typename T >
constexpr bool client::ast::is_recursive_wrapper_v = is_recursive_wrapper<T>::value
inlineconstexpr

Definition at line 70 of file ast.hpp.