Gaudi Framework, version v21r4

Home   Generated: 7 Sep 2009

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

#include <Grammars.h>

Collaboration diagram for Gaudi::Parsers::PairGrammar< KeyGrammarT, ValueGrammarT >:

Collaboration graph
[legend]

List of all members.


Detailed Description

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

The valid represenation of pairs are: ("abc",123) or ("abc","def") Inner types of pair depends on KeyGrammarT and ValueGrammarT grammars.

Author:
Alexander MAZUROV Alexander.Mazurov@gmail.com

Vanya BELYAEV ibelyaev@physics.syr.edu

Date:
2006-05-14

Definition at line 351 of file Grammars.h.


Public Types

typedef KeyGrammarT::ResultT KeyT
typedef ValueGrammarT::ResultT ValueT
typedef std::pair< KeyT, ValueT > ResultT

Public Member Functions

 PairGrammar (const std::string &delim=",")
 Constructor.
void matchFirst (const KeyT &first) const
 callback. Action when we match first value
void matchSecond (const ValueT &second) const
 callback. Action when we match second value
const std::stringdelim () const
void setDelim (const std::string &delim)
 Set delimiters for pair values.

Private Attributes

std::string m_delim

Classes

struct  definition

Member Typedef Documentation

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

Definition at line 360 of file Grammars.h.

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

Definition at line 361 of file Grammars.h.

template<typename KeyGrammarT, typename ValueGrammarT>
typedef std::pair<KeyT,ValueT> Gaudi::Parsers::PairGrammar< KeyGrammarT, ValueGrammarT >::ResultT

Definition at line 362 of file Grammars.h.


Constructor & Destructor Documentation

template<typename KeyGrammarT, typename ValueGrammarT>
Gaudi::Parsers::PairGrammar< KeyGrammarT, ValueGrammarT >::PairGrammar ( const std::string delim = ","  )  [inline]

Constructor.

Parameters:
delim Delimiter for pair values

Definition at line 367 of file Grammars.h.

00368         : m_delim(delim) {}


Member Function Documentation

template<typename KeyGrammarT, typename ValueGrammarT>
void Gaudi::Parsers::PairGrammar< KeyGrammarT, ValueGrammarT >::matchFirst ( const KeyT &  first  )  const [inline]

callback. Action when we match first value

Definition at line 371 of file Grammars.h.

00371 { this->val().first = first; }

template<typename KeyGrammarT, typename ValueGrammarT>
void Gaudi::Parsers::PairGrammar< KeyGrammarT, ValueGrammarT >::matchSecond ( const ValueT &  second  )  const [inline]

callback. Action when we match second value

Definition at line 373 of file Grammars.h.

00373 { this->val().second = second; }

template<typename KeyGrammarT, typename ValueGrammarT>
const std::string& Gaudi::Parsers::PairGrammar< KeyGrammarT, ValueGrammarT >::delim (  )  const [inline]

Returns:
Delimiter for pair values

Definition at line 396 of file Grammars.h.

00396 { return m_delim ; }

template<typename KeyGrammarT, typename ValueGrammarT>
void Gaudi::Parsers::PairGrammar< KeyGrammarT, ValueGrammarT >::setDelim ( const std::string delim  )  [inline]

Set delimiters for pair values.

Parameters:
delim Delimiter

Definition at line 400 of file Grammars.h.

00400 { m_delim = delim;}


Member Data Documentation

template<typename KeyGrammarT, typename ValueGrammarT>
std::string Gaudi::Parsers::PairGrammar< KeyGrammarT, ValueGrammarT >::m_delim [private]

Definition at line 402 of file Grammars.h.


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

Generated at Mon Sep 7 18:26:01 2009 for Gaudi Framework, version v21r4 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004