atlas  0.6
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
atlas::interpreter::subscr_base Struct Reference

#include <axis.h>

Inheritance diagram for atlas::interpreter::subscr_base:
Inheritance graph
[legend]
Collaboration diagram for atlas::interpreter::subscr_base:
Collaboration graph
[legend]

Public Types

enum  sub_type {
  row_entry, vector_entry, ratvec_entry, string_char,
  matrix_entry, matrix_column, mod_poly_term, not_so
}
 
- Public Types inherited from atlas::interpreter::expression_base
enum  level { no_value, single_value, multi_value }
 

Public Member Functions

 subscr_base (expression_ptr &&a, expression_ptr &&i)
 
virtual ~subscr_base () nothing_new_here
 
void print (std::ostream &out, bool reversed) const
 
- Public Member Functions inherited from atlas::interpreter::expression_base
 expression_base ()
 
 expression_base (const expression_base &)=delete
 
 expression_base (expression_base &&)=delete
 
expression_baseoperator= (const expression_base &)=delete
 
expression_baseoperator= (expression_base &&)=delete
 
virtual ~expression_base ()
 
virtual void evaluate (level l) const =0
 
virtual void print (std::ostream &out) const =0
 
void void_eval () const
 
void eval () const
 
void multi_eval () const
 

Static Public Member Functions

static sub_type index_kind (const type_expr &aggr, const type_expr &index, type_expr &subscr)
 
static sub_type slice_kind (const type_expr &aggr)
 
static bool assignable (sub_type)
 

Public Attributes

expression_ptr array
 
expression_ptr index
 

Member Enumeration Documentation

Enumerator
row_entry 
vector_entry 
ratvec_entry 
string_char 
matrix_entry 
matrix_column 
mod_poly_term 
not_so 

Constructor & Destructor Documentation

atlas::interpreter::subscr_base::subscr_base ( expression_ptr &&  a,
expression_ptr &&  i 
)
inline
virtual atlas::interpreter::subscr_base::~subscr_base ( )

Member Function Documentation

bool atlas::interpreter::subscr_base::assignable ( subscr_base::sub_type  t)
static
subscr_base::sub_type atlas::interpreter::subscr_base::index_kind ( const type_expr aggr,
const type_expr index,
type_expr subscr 
)
static
void atlas::interpreter::subscr_base::print ( std::ostream &  out,
bool  reversed 
) const
subscr_base::sub_type atlas::interpreter::subscr_base::slice_kind ( const type_expr aggr)
static

Member Data Documentation

expression_ptr atlas::interpreter::subscr_base::array
expression_ptr atlas::interpreter::subscr_base::index

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