| # Gaudi Framework, version v22r2 |

Home |  | Generated: Tue May 10 2011

Classes | Public Types | Public Member Functions | Private Attributes

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

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

`#include <Grammars.h>`

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

List of all members.

## Classes
struct | definition
## 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::string & | delim () const
void | setDelim (const std::string &delim)
| Set delimiters for pair values.
## Private Attributes
std::string | m_delim

## 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 353 of file Grammars.h.

## Member Typedef Documentation

template<typename KeyGrammarT , typename ValueGrammarT >

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

Definition at line 362 of file Grammars.h.

template<typename KeyGrammarT , typename ValueGrammarT >

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

Definition at line 364 of file Grammars.h.

template<typename KeyGrammarT , typename ValueGrammarT >

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

Definition at line 363 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 369 of file Grammars.h.

            : m_delim(delim) {}

## Member Function Documentation

template<typename KeyGrammarT , typename ValueGrammarT >

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

Returns:
  Delimiter for pair values

Definition at line 398 of file Grammars.h.

    { return m_delim ; }

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 373 of file Grammars.h.

    { 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 375 of file Grammars.h.

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

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 402 of file Grammars.h.

    { m_delim = delim;}

## Member Data Documentation

template<typename KeyGrammarT , typename ValueGrammarT >

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

Definition at line 404 of file Grammars.h.

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

- /afs/.cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v22r2/GaudiKernel/GaudiKernel/Grammars.h

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines