![]() |
|
|
Generated: 18 Jul 2008 |
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.
Definition in file Parsers.icpp.
#include <vector>
#include <map>
#include <string>
#include "boost/bind.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 inptut | |
| 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 iteger-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 | |
| #define GAUDIKERNEL_PARSERS_ICPP 1 |
Definition at line 4 of file Parsers.icpp.