| # Gaudi Framework, version v21r8 |

Home |  | Generated: 17 Mar 2010

# 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>`

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

[legend]

List of all members.

## 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
## Classes
struct | definition

## 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 ValueGrammarT::ResultT Gaudi::Parsers::PairGrammar< KeyGrammarT, ValueGrammarT >::ValueT

Definition at line 363 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.

## 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.

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

    00373 { 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.

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

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

    00402 { 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_v21r8/GaudiKernel/GaudiKernel/Grammars.h