Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

xst_stack Struct Template Reference

#include <xst_stack.h>

Collaboration diagram for xst_stack:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<typename StackT>
struct cttl_impl::xst_stack< StackT >

Implements stack lambda primitive.

StackT
Template parameter specifying type of stack or reference to stack.
Warning:
This is internal CTTL header file and should not be included by user programs.

Definition at line 54 of file xst_stack.h.

Public Types

enum  { const_value_, depth_ = 1, capacity_ = 1, primitive_id_ = primitive_id_stack }
typedef value_T dereferenced_value_T
 Defines type of dereferenced stack primitive, which is type of object stored in the stack.
typedef xst_stack< StackT > left_T
 Defines type of left scalar primitive of lambda compound.
typedef xst_stack< typename
xst_storage_adaptor< StackT
>::reference > 
reference_T
 Defines reference type for stack primitive.
typedef xst_stack< StackT > right_T
 Defines type of right scalar primitive of lambda compound.
typedef xst_storage_adaptor<
StackT >::value_type 
stack_T
 Defines type of encapsulated stack object.
typedef stack_T::value_type value_T
 Defines type of object stored in the stack.

Public Member Functions

template<int LocationT>
dereferenced_value_Tdereferenced_value (xst_lambda_wrap< xst_const_scalar< LocationT > > subscript_)
 Dereferenced stack primitive returns top stack element.
left_T const & left_lambda () const
 Direct constant access to left-hand-side stack lambda compound node.
left_Tleft_lambda ()
 Direct mutable access to left-hand-side stack lambda compound node.
reference_T make_reference () const
 Manufactures copy of reference object for stack primitive.
template<int LocationT>
void pop (xst_lambda_wrap< xst_const_scalar< LocationT > >)
 Push data from stack.
template<int LocationT, typename InputValueT>
void push (xst_lambda_wrap< xst_const_scalar< LocationT > >, InputValueT const &data_)
 Push data to stack.
right_T const & right_lambda () const
 Direct constant access to right-hand-side stack lambda compound node.
right_Tright_lambda ()
 Direct mutable access to right-hand-side stack lambda compound node.
template<int LocationT>
size_t size (xst_lambda_wrap< xst_const_scalar< LocationT > >) const
 Get stack size.
template<int LocationT>
stack_Tstack_ptr (xst_lambda_wrap< xst_const_scalar< LocationT > >)
 Get mutable pointer to stack encapsulated by lambda compound node.
template<int LocationT>
stack_T const * stack_ptr (xst_lambda_wrap< xst_const_scalar< LocationT > >) const
 Get constant pointer to stack encapsulated by lambda compound node.
template<int LocationT>
value_Ttop (xst_lambda_wrap< xst_const_scalar< LocationT > >)
 Mutable access to top element of stack.
template<int LocationT>
value_T const & top (xst_lambda_wrap< xst_const_scalar< LocationT > >) const
 Constant access to top element of stack.
template<typename FunctorT>
void traverse_bottom_up (FunctorT &functor_) const
 Lambda compound bottom up traversal algorithm with constant access to terminal nodes.
template<typename FunctorT>
void traverse_bottom_up (FunctorT &functor_)
 Lambda compound bottom up traversal algorithm with mutable access to terminal nodes.
template<typename FunctorT>
void traverse_top_down (FunctorT &functor_) const
 Lambda compound top-down traversal algorithm with constant access to terminal nodes.
template<typename FunctorT>
void traverse_top_down (FunctorT &functor_)
 Lambda compound top-down traversal algorithm with mutable access to terminal nodes.
 xst_stack (xst_stack< StackT > const &other_)
 Copy constructor.
 xst_stack (value_T const &)
 Constructs stack primitive from type of object stored in the stack.
 xst_stack (StackT stack_)
 Constructs stack primitive from stack or reference to stack.
 xst_stack ()
 Default constructor.

Static Public Member Functions

template<typename FunctorT>
void subscript_bottom_up (FunctorT &functor_)
 Subscript bottom-up traversal algorithm.
template<typename FunctorT>
void subscript_top_down (FunctorT &functor_)
 Subscript top-down subscript traversal algorithm.


Member Typedef Documentation

typedef value_T dereferenced_value_T
 

Defines type of dereferenced stack primitive, which is type of object stored in the stack.

Definition at line 83 of file xst_stack.h.

typedef xst_stack< StackT > left_T
 

Defines type of left scalar primitive of lambda compound.

Definition at line 86 of file xst_stack.h.

typedef xst_stack< typename xst_storage_adaptor< StackT >::reference > reference_T
 

Defines reference type for stack primitive.

Definition at line 92 of file xst_stack.h.

typedef xst_stack< StackT > right_T
 

Defines type of right scalar primitive of lambda compound.

Definition at line 89 of file xst_stack.h.

typedef xst_storage_adaptor< StackT >::value_type stack_T
 

Defines type of encapsulated stack object.

Definition at line 77 of file xst_stack.h.

typedef stack_T::value_type value_T
 

Defines type of object stored in the stack.

Definition at line 80 of file xst_stack.h.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
const_value_  Constant required to compile algorithms for subscript-based access to lambda compound.
depth_  Number of nodes inside stack primitive.
capacity_  Capacity of stack primitive.
primitive_id_  Unique identifier of stack primitive.

Definition at line 62 of file xst_stack.h.


Constructor & Destructor Documentation

xst_stack  )  [inline]
 

Default constructor.

Definition at line 95 of file xst_stack.h.

xst_stack StackT  stack_  )  [inline]
 

Constructs stack primitive from stack or reference to stack.

Definition at line 100 of file xst_stack.h.

xst_stack value_T const &   )  [inline]
 

Constructs stack primitive from type of object stored in the stack.

Postcondition:
Note that an empty stack is created, the object type is used only for template resolution.

Definition at line 112 of file xst_stack.h.

xst_stack xst_stack< StackT > const &  other_  )  [inline]
 

Copy constructor.

Definition at line 117 of file xst_stack.h.


Member Function Documentation

dereferenced_value_T& dereferenced_value xst_lambda_wrap< xst_const_scalar< LocationT > >  subscript_  )  [inline]
 

Dereferenced stack primitive returns top stack element.

Definition at line 133 of file xst_stack.h.

References cttl::alias::top().

left_T const& left_lambda  )  const [inline]
 

Direct constant access to left-hand-side stack lambda compound node.

Definition at line 150 of file xst_stack.h.

left_T& left_lambda  )  [inline]
 

Direct mutable access to left-hand-side stack lambda compound node.

Definition at line 143 of file xst_stack.h.

reference_T make_reference  )  const [inline]
 

Manufactures copy of reference object for stack primitive.

Definition at line 124 of file xst_stack.h.

void pop xst_lambda_wrap< xst_const_scalar< LocationT > >   )  [inline]
 

Push data from stack.

Definition at line 247 of file xst_stack.h.

void push xst_lambda_wrap< xst_const_scalar< LocationT > >  ,
InputValueT const &  data_
[inline]
 

Push data to stack.

Definition at line 229 of file xst_stack.h.

References CTTL_TRACE_DEPOSIT_TEXT, and cttl::alias::identity().

right_T const& right_lambda  )  const [inline]
 

Direct constant access to right-hand-side stack lambda compound node.

Definition at line 162 of file xst_stack.h.

right_T& right_lambda  )  [inline]
 

Direct mutable access to right-hand-side stack lambda compound node.

Definition at line 156 of file xst_stack.h.

size_t size xst_lambda_wrap< xst_const_scalar< LocationT > >   )  const [inline]
 

Get stack size.

Definition at line 284 of file xst_stack.h.

stack_T* stack_ptr xst_lambda_wrap< xst_const_scalar< LocationT > >   )  [inline]
 

Get mutable pointer to stack encapsulated by lambda compound node.

Definition at line 310 of file xst_stack.h.

stack_T const* stack_ptr xst_lambda_wrap< xst_const_scalar< LocationT > >   )  const [inline]
 

Get constant pointer to stack encapsulated by lambda compound node.

Definition at line 297 of file xst_stack.h.

void subscript_bottom_up FunctorT &  functor_  )  [inline, static]
 

Subscript bottom-up traversal algorithm.

Definition at line 181 of file xst_stack.h.

References const_scalar.

void subscript_top_down FunctorT &  functor_  )  [inline, static]
 

Subscript top-down subscript traversal algorithm.

Definition at line 174 of file xst_stack.h.

References const_scalar.

value_T& top xst_lambda_wrap< xst_const_scalar< LocationT > >   )  [inline]
 

Mutable access to top element of stack.

Definition at line 271 of file xst_stack.h.

value_T const& top xst_lambda_wrap< xst_const_scalar< LocationT > >   )  const [inline]
 

Constant access to top element of stack.

Definition at line 259 of file xst_stack.h.

void traverse_bottom_up FunctorT &  functor_  )  const [inline]
 

Lambda compound bottom up traversal algorithm with constant access to terminal nodes.

Definition at line 206 of file xst_stack.h.

void traverse_bottom_up FunctorT &  functor_  )  [inline]
 

Lambda compound bottom up traversal algorithm with mutable access to terminal nodes.

Definition at line 192 of file xst_stack.h.

void traverse_top_down FunctorT &  functor_  )  const [inline]
 

Lambda compound top-down traversal algorithm with constant access to terminal nodes.

Definition at line 213 of file xst_stack.h.

void traverse_top_down FunctorT &  functor_  )  [inline]
 

Lambda compound top-down traversal algorithm with mutable access to terminal nodes.

Definition at line 199 of file xst_stack.h.


The documentation for this struct was generated from the following file:
Generated on Thu Nov 2 17:49:06 2006 for CTTL Lambda Expression by  doxygen 1.3.9.1