atlas  0.6
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Types | Private Attributes | List of all members
atlas::interpreter::layer Class Reference

#include <axis.h>

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

Public Types

typedef std::vector< std::pair< id_type, type_expr > > vec
 

Public Member Functions

 layer (const layer &)=delete
 
layeroperator= (const layer &)=delete
 
 layer (size_t n)
 
 layer (size_t n, type_p return_type)
 
 ~layer ()
 
void add (id_type id, type_expr &&t, bool is_const)
 
bool empty () const
 
std::pair< id_type, type_expr > & operator[] (size_t i)
 
vec::iterator begin ()
 
vec::iterator end ()
 
vec::const_iterator cbegin () const
 
vec::const_iterator cend () const
 
bool is_const (vec::const_iterator it) const
 

Static Public Member Functions

static const_type_p lookup (id_type id, size_t &depth, size_t &offset, bool &is_const)
 
static void specialise (size_t depth, size_t offset, const type_expr &t)
 
static bool may_break (unsigned depth)
 
static bool may_return ()
 
static type_exprcurrent_return_type ()
 

Static Public Attributes

static list lexical_context
 

Private Types

typedef containers::simple_list< layer * > list
 

Private Attributes

vec variable
 
BitMap constness
 
const unsigned loop_depth
 
const type_p return_type
 

Member Typedef Documentation

typedef std::vector<std::pair<id_type,type_expr> > atlas::interpreter::layer::vec

Constructor & Destructor Documentation

atlas::interpreter::layer::layer ( const layer )
delete
atlas::interpreter::layer::layer ( size_t  n)
atlas::interpreter::layer::layer ( size_t  n,
type_p  return_type 
)
atlas::interpreter::layer::~layer ( )
inline

Member Function Documentation

void atlas::interpreter::layer::add ( id_type  id,
type_expr &&  t,
bool  is_const 
)
vec::iterator atlas::interpreter::layer::begin ( )
inline
vec::const_iterator atlas::interpreter::layer::cbegin ( ) const
inline
vec::const_iterator atlas::interpreter::layer::cend ( ) const
inline
static type_expr& atlas::interpreter::layer::current_return_type ( )
inlinestatic
bool atlas::interpreter::layer::empty ( ) const
inline
vec::iterator atlas::interpreter::layer::end ( )
inline
bool atlas::interpreter::layer::is_const ( vec::const_iterator  it) const
inline
const_type_p atlas::interpreter::layer::lookup ( id_type  id,
size_t &  depth,
size_t &  offset,
bool &  is_const 
)
static
static bool atlas::interpreter::layer::may_break ( unsigned  depth)
inlinestatic
static bool atlas::interpreter::layer::may_return ( )
inlinestatic
std::pair<id_type,type_expr>& atlas::interpreter::layer::operator[] ( size_t  i)
inline
void atlas::interpreter::layer::specialise ( size_t  depth,
size_t  offset,
const type_expr t 
)
static

Member Data Documentation

BitMap atlas::interpreter::layer::constness
private
layer::list atlas::interpreter::layer::lexical_context
static
const unsigned atlas::interpreter::layer::loop_depth
private
const type_p atlas::interpreter::layer::return_type
private
vec atlas::interpreter::layer::variable
private

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