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

xtl_opbin2pipe Struct Template Reference

#include <xtl_op_impl.h>

Inheritance diagram for xtl_opbin2pipe:

Inheritance graph
[legend]
Collaboration diagram for xtl_opbin2pipe:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<typename Left_exprT, typename Right_exprT>
struct cttl_impl::xtl_opbin2pipe< Left_exprT, Right_exprT >

Implements behavior of binary POSIX union operator.

Left_exprT
Template parameter specifying type of left-hand-side grammar expression object, determined by the C++ compiler at compile time.
Right_exprT
Template parameter specifying type of right-hand-side grammar expression object, determined by the C++ compiler at compile time.

Definition at line 1538 of file xtl_op_impl.h.

Public Member Functions

 xtl_opbin2pipe (Left_exprT const &lhs_expr_, Right_exprT const &rhs_expr_)
 Constructs and initializes the object.
template<typename UniverseT>
size_t match (UniverseT &edge_)
 Implements grammar evaluation method for POSIX union match algorithm, starting at the upper boundary of the parseable universe.
template<typename UniverseT>
size_t find (UniverseT &edge_)
 Implements grammar evaluation method for POSIX union 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_opbin2pipe Left_exprT const &  lhs_expr_,
Right_exprT const &  rhs_expr_
[inline]
 

Constructs and initializes the object.

Left_exprT
Template parameter specifying type of left-hand-side grammar expression object, determined by the C++ compiler at compile time.
Right_exprT
Template parameter specifying type of right-hand-side grammar expression object, determined by the C++ compiler at compile time.
Parameters:
lhs_expr_ immutable reference to left-hand-side grammar expression object.
rhs_expr_ immutable reference to right-hand-side grammar expression object.

Definition at line 1561 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 fragment.
Returns:
evaluation result: if method succeeds, it returns absolute offset corresponding to the upper boundary of the matched fragment. Otherwise, it returns UniverseT::string_T::npos, indicating that the evaluation method has failed.

Definition at line 1755 of file xtl_op_impl.h.

References xtl_edge_offset_manager::first, xtl_edge_offset_manager::restore(), and xtl_edge_offset_manager::swap().

size_t find UniverseT &  edge_  )  [inline]
 

Implements grammar evaluation method for POSIX union 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 fragment.
Returns:
evaluation result: if method succeeds, it returns absolute offset corresponding to the upper boundary of the matched fragment. Otherwise, it returns UniverseT::string_T::npos, indicating that the evaluation method has failed.

Definition at line 1673 of file xtl_op_impl.h.

References xtl_edge_offset_manager::first, xtl_edge_offset_manager::restore(), and xtl_edge_offset_manager::swap().

size_t match UniverseT &  edge_  )  [inline]
 

Implements grammar evaluation method for POSIX union 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 fragment.
Returns:
evaluation result: if method succeeds, it returns absolute offset corresponding to the upper boundary of the matched fragment. Otherwise, it returns UniverseT::string_T::npos, indicating that the evaluation method has failed.

Definition at line 1593 of file xtl_op_impl.h.

References xtl_edge_offset_manager::first, xtl_edge_offset_manager::restore(), and xtl_edge_offset_manager::swap().


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