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

xtl_entity Struct Template Reference

#include <xtl_op_impl.h>

Inheritance diagram for xtl_entity:

Inheritance graph
[legend]
Collaboration diagram for xtl_entity:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<typename ExprT>
struct cttl_impl::xtl_entity< ExprT >

Implements behavior of entity expression adaptor, which enforces non-empty match of the encapsulated sub-expression.

ExprT
Template parameter specifying type of grammar sub-expression object, determined by the C++ compiler at compile time.

Definition at line 1017 of file xtl_op_impl.h.

Public Member Functions

 xtl_entity (ExprT const &expr_)
 Constructs and initializes the object.
template<typename UniverseT>
size_t match (UniverseT &edge_)
 Implements grammar evaluation method for entity match algorithm, starting at the upper boundary of the parseable universe.
template<typename UniverseT>
size_t find (UniverseT &edge_)
 Implements grammar evaluation method for symbol search algorithm, starting at the upper boundary of the parseable universe.
template<typename UniverseT>
size_t bang_find (UniverseT &edge_)
 Implements grammar evaluation method for repeatable search algorithm, starting at the upper boundary of the parseable universe.


Constructor & Destructor Documentation

xtl_entity ExprT const &  expr_  )  [inline]
 

Constructs and initializes the object.

Parameters:
expr_ immutable reference to the sub-expression object.

Definition at line 1027 of file xtl_op_impl.h.


Member Function Documentation

size_t bang_find UniverseT &  edge_  )  [inline]
 

Implements grammar evaluation method for repeatable search algorithm, starting at the upper boundary of the parseable universe.

UniverseT
Template parameter specifying type of the parseable universe. Can be either cttl::const_edge or cttl::edge.
Parameters:
edge_ reference to the parseable universe.
Postcondition:
If method succeeds, the universe, specified by the edge_ parameter, gets consumed accordingly to the size of the matched entity.
Returns:
evaluation result: if method succeeds, it returns absolute offset corresponding to the upper boundary of the matched entity. Otherwise, it returns UniverseT::string_T::npos, indicating that the evaluation method has failed.

Definition at line 1131 of file xtl_op_impl.h.

size_t find UniverseT &  edge_  )  [inline]
 

Implements grammar evaluation method for symbol search algorithm, starting at the upper boundary of the parseable universe.

UniverseT
Template parameter specifying type of the parseable universe. Can be either cttl::const_edge or cttl::edge.
Parameters:
edge_ reference to the parseable universe.
Postcondition:
If method succeeds, the universe, specified by the edge_ parameter, gets consumed accordingly to the size of the matched entity.
Returns:
evaluation result: if method succeeds, it returns absolute offset corresponding to the upper boundary of the matched entity. Otherwise, it returns UniverseT::string_T::npos, indicating that the evaluation method has failed.

Definition at line 1095 of file xtl_op_impl.h.

size_t match UniverseT &  edge_  )  [inline]
 

Implements grammar evaluation method for entity match algorithm, starting at the upper boundary of the parseable universe.

UniverseT
Template parameter specifying type of the parseable universe. Can be either cttl::const_edge or cttl::edge.
Parameters:
edge_ reference to the parseable universe.
Postcondition:
If method succeeds, the universe, specified by the edge_ parameter, gets consumed accordingly to the size of the matched entity.
Returns:
evaluation result: if method succeeds, it returns absolute offset corresponding to the upper boundary of the matched entity. Otherwise, it returns UniverseT::string_T::npos, indicating that the evaluation method has failed.

Definition at line 1059 of file xtl_op_impl.h.


The documentation for this struct was generated from the following file:
Generated on Thu Nov 2 17:45:40 2006 for Common Text Transformation Library by  doxygen 1.3.9.1