Gaudi Framework, version v22r4

Home   Generated: Fri Sep 2 2011
Classes | Public Types | Public Member Functions | Public Attributes

Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT > Class Template Reference

The valid represenation of map are:

More...

#include <Grammars.h>

Inheritance diagram for Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >:
Inheritance graph
[legend]
Collaboration diagram for Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >:
Collaboration graph
[legend]

List of all members.

Classes

struct  definition
struct  Operations
struct  tag_key
struct  tag_mapped

Public Types

typedef KeyGrammarT::ResultT KeyT
typedef ValueGrammarT::ResultT ValueT
typedef std::map< KeyT, ValueTResultT
typedef MapT ResultT
typedef MapT::key_type KeyT
typedef MapT::mapped_type MappedT
typedef std::pair< KeyT, MappedTPairT
typedef std::vector< PairTVectorPairT

Public Member Functions

void matchItem () const
 call backs. Action when we match pair in map
void matchFirst (const KeyT &value) const
 call backs. Action when we match key of pair
void matchSecond (const ValueT &value) const
 call backs. Action when we match value pf pair
 MapGrammar ()

Public Attributes

Grammar_< Iterator, typename
MapT::key_type, Skipper >
::Grammar 
key
Grammar_< Iterator, typename
MapT::mapped_type, Skipper >
::Grammar 
value
qi::rule< Iterator, PairT(),
Skipper
pair
qi::rule< Iterator,
VectorPairT(), Skipper
list
qi::rule< Iterator, ResultT(),
Skipper
map
ph::function< Operationsop

Detailed Description

template<typename KeyGrammarT, typename ValueGrammarT>
class Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >

The valid represenation of map are:

Author:
Alexander MAZUROV Alexander.Mazurov@gmail.com
Vanya BELYAEV ibelyaev@physics.syr.edu
Date:
2006-05-14

Definition at line 472 of file Grammars.h.


Member Typedef Documentation

template<typename KeyGrammarT , typename ValueGrammarT >
typedef KeyGrammarT::ResultT Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::KeyT

Definition at line 483 of file Grammars.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef MapT::key_type Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::KeyT

Definition at line 291 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef MapT::mapped_type Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::MappedT

Definition at line 292 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef std::pair<KeyT, MappedT> Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::PairT

Definition at line 293 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef MapT Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::ResultT

Definition at line 290 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef std::map<KeyT,ValueT> Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::ResultT

Definition at line 485 of file Grammars.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef ValueGrammarT::ResultT Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::ValueT

Definition at line 484 of file Grammars.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef std::vector<PairT> Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::VectorPairT

Definition at line 295 of file GrammarsV2.h.


Constructor & Destructor Documentation

template<typename KeyGrammarT , typename ValueGrammarT >
Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::MapGrammar (  ) [inline]

Definition at line 321 of file GrammarsV2.h.

                 : MapGrammar::base_type(map) {
        pair = key[op(qi::_val,qi::_1, tag_key())] > (qi::lit(':') | '=')  >
        value[op(qi::_val,qi::_1, tag_mapped())];
        list = -(pair % enc::char_(','));
        map = (('['  >> list >> ']')
              | ('{'  >> list >> '}'))[op(qi::_val,qi::_1)];
    }

Member Function Documentation

template<typename KeyGrammarT , typename ValueGrammarT >
void Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::matchFirst ( const KeyT value ) const [inline]

call backs. Action when we match key of pair

Definition at line 494 of file Grammars.h.

{  this->attrs().first = value ; }
template<typename KeyGrammarT , typename ValueGrammarT >
void Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::matchItem (  ) const [inline]

call backs. Action when we match pair in map

Definition at line 488 of file Grammars.h.

      {
        //this->val().insert(this->attrs());
        this->val()[this->attrs().first] = this->attrs().second ;
      }
template<typename KeyGrammarT , typename ValueGrammarT >
void Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::matchSecond ( const ValueT value ) const [inline]

call backs. Action when we match value pf pair

Definition at line 496 of file Grammars.h.

{ this->attrs().second = value ; }

Member Data Documentation

template<typename KeyGrammarT , typename ValueGrammarT >
Grammar_<Iterator, typename MapT::key_type, Skipper>::Grammar Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::key

Definition at line 330 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
qi::rule<Iterator, VectorPairT(), Skipper> Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::list

Definition at line 334 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
qi::rule<Iterator, ResultT(), Skipper> Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::map

Definition at line 335 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
ph::function<Operations> Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::op

Definition at line 336 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
qi::rule<Iterator, PairT(), Skipper> Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::pair

Definition at line 333 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
Grammar_<Iterator, typename MapT::mapped_type, Skipper>::Grammar Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::value

Definition at line 332 of file GrammarsV2.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Fri Sep 2 2011 16:25:57 for Gaudi Framework, version v22r4 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004