All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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:

Go to the source code of this file.

Namespaces

 Gaudi
 Helper functions to set/get the application return code.
 
 Gaudi::Parsers
 

Macros

#define GAUDIKERNEL_PARSERS_ICPP   1
 

Typedefs

typedef
boost::spirit::position_iterator
< string::const_iterator > 
Gaudi::Parsers::IteratorT
 the actual type of position iterator More...
 

Functions

IteratorT Gaudi::Parsers::createIterator (const std::string &input)
 create the position iterator from the input More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 

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

Author
Alexander MAZUROV Alexa.nosp@m.nder.nosp@m..Mazu.nosp@m.rov@.nosp@m.gmail.nosp@m..com
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-05-12

Definition in file Parsers.icpp.

Macro Definition Documentation

#define GAUDIKERNEL_PARSERS_ICPP   1

Definition at line 4 of file Parsers.icpp.