| # Gaudi Framework, version v21r10p1 |

Home |  | Generated: 29 Jul 2010

# Parsers.icpp File Reference

Helper inline functions for implementation of real parsing function from the namespace Gaudi::Parsers. More...

`#include <vector>`
`#include <map>`
`#include <string>`
`#include "boost/bind.hpp"`
`#include <boost/version.hpp>`
`#include <boost/spirit.hpp>`
`#include <boost/spirit/phoenix.hpp>`
`#include "GaudiKernel/Parsers.h"`
`#include "GaudiKernel/Grammars.h"`

Include dependency graph for Parsers.icpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Namespaces
namespace | Gaudi
namespace | Gaudi::Parsers
## Defines
#define | GAUDIKERNEL_PARSERS_ICPP 1
## Typedefs
typedef boost::spirit::position_iterator < string::const_iterator > | Gaudi::Parsers::IteratorT
| the actual type of position iterator
## Functions
IteratorT | Gaudi::Parsers::createIterator (const std::string &input)
| create the position iterator from the input
template<typename IntegerT>
StatusCode | Gaudi::Parsers::parse_integer (IntegerT &result, const string &input)
| helper function to "merge" the implementation of all parsers for integer-like quantities into one templated grammar
template<typename IntegerT>
StatusCode | Gaudi::Parsers::parse_integer_vector (std::vector< IntegerT > &result, const string &input)
| helper function to "merge" the implementation of all parsers for vector of integer-like quantities into the combination of templated grammars
template<typename CharT>
StatusCode | Gaudi::Parsers::parse_char (CharT &result, const string &input)
| helper function to "merge" the implementation of all parsers for "char-like" quantities into one templated grammar
template<typename CharT>
StatusCode | Gaudi::Parsers::parse_char_vector (std::vector< CharT > &result, const string &input)
| helper function to "merge" the implementation of all parsers for vector of 'char-like' quantities into the combination of templated grammars
template<typename RealT>
StatusCode | Gaudi::Parsers::parse_real (RealT &result, const string &input)
| helper function to "merge" the implementation of all parsers for "float-like" quantities into one templated grammar
template<typename RealT>
StatusCode | Gaudi::Parsers::parse_real_vector (std::vector< RealT > &result, const string &input)
| helper function to "merge" the implementation of all parsers for vector of 'char-like' quantities into the combination of templated grammars

## Detailed Description

Helper inline functions for implementation of real parsing function from the namespace Gaudi::Parsers.

For adding new type you should have only grammar class which recognize this type. Then by combining this grammar with such already implemented grammars like VectorGrammar, MapGrammar, PairGrammar you can very simply implement container types which will work with your type.

If you want your type can be handled in property file - see ValueGrammar in JobOptionsSvc which lays in GaudiSvc.

Author:
  Alexander MAZUROV Alexander.Mazurov@gmail.com

  Vanya BELYAEV ibelyaev@physics.syr.edu

Date:
  2006-05-12

Definition in file Parsers.icpp.

## Define Documentation

#define GAUDIKERNEL_PARSERS_ICPP 1

Definition at line 4 of file Parsers.icpp.