atlas  0.6
Public Member Functions | Public Attributes | List of all members
atlas::interpreter::type_expr Struct Reference

#include <axis-types.h>

Collaboration diagram for atlas::interpreter::type_expr:
Collaboration graph
[legend]

Public Member Functions

 type_expr () noexcept
 
 type_expr (primitive_tag p) noexcept
 
 type_expr (type_ptr &&c) noexcept
 
 type_expr (type_list &&l) noexcept
 
 type_expr (dressed_type_list &&l) noexcept
 
 type_expr (type_expr &&arg, type_expr &&result) noexcept
 
 type_expr (type_expr &&t) noexcept
 
type_exproperator= (type_expr &&t) noexcept
 
void clear () noexcept
 
 ~type_expr () noexcept
 
void swap (type_expr &t) noexcept
 
type_expr copy () const
 
void set_from (type_expr &&p) noexcept
 
bool specialise (const type_expr &pattern)
 
bool can_specialise (const type_expr &pattern) const
 

Public Attributes

type_tag kind
 
union {
   primitive_tag   prim
 
   type_p   component_type
 
   raw_type_list   tupple
 
   func_type *   func
 
}; 
 

Constructor & Destructor Documentation

atlas::interpreter::type_expr::type_expr ( )
inlinenoexcept
atlas::interpreter::type_expr::type_expr ( primitive_tag  p)
inlineexplicitnoexcept
atlas::interpreter::type_expr::type_expr ( type_ptr &&  c)
inlineexplicitnoexcept
atlas::interpreter::type_expr::type_expr ( type_list &&  l)
explicitnoexcept
atlas::interpreter::type_expr::type_expr ( dressed_type_list &&  l)
explicitnoexcept
atlas::interpreter::type_expr::type_expr ( type_expr &&  arg,
type_expr &&  result 
)
inlinenoexcept
atlas::interpreter::type_expr::type_expr ( type_expr &&  t)
noexcept
atlas::interpreter::type_expr::~type_expr ( )
inlinenoexcept

Member Function Documentation

bool atlas::interpreter::type_expr::can_specialise ( const type_expr pattern) const
void atlas::interpreter::type_expr::clear ( )
noexcept
type_expr atlas::interpreter::type_expr::copy ( ) const
void atlas::interpreter::type_expr::set_from ( type_expr &&  p)
noexcept
bool atlas::interpreter::type_expr::specialise ( const type_expr pattern)
void atlas::interpreter::type_expr::swap ( type_expr t)
noexcept

Member Data Documentation

union { ... }
type_p atlas::interpreter::type_expr::component_type
func_type* atlas::interpreter::type_expr::func
type_tag atlas::interpreter::type_expr::kind
primitive_tag atlas::interpreter::type_expr::prim
raw_type_list atlas::interpreter::type_expr::tupple

The documentation for this struct was generated from the following files: