3 #ifndef GAUDIKERNEL_PARSERS_ICPP
4 #define GAUDIKERNEL_PARSERS_ICPP 1
16 #include "boost/bind.hpp"
20 #include <boost/version.hpp>
21 #if BOOST_VERSION >= 103800
23 #if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
24 #define BOOST_SPIRIT_USE_OLD_NAMESPACE
26 #include <boost/spirit/include/classic.hpp>
27 #include <boost/spirit/include/phoenix1.hpp>
29 #include <boost/spirit.hpp>
30 #include <boost/spirit/phoenix.hpp>
61 using namespace boost::spirit ;
64 typedef boost::spirit::position_iterator<string::const_iterator>
IteratorT;
68 {
return IteratorT ( input.begin(), input.end() ) ; }
84 template<
typename IntegerT>
86 (IntegerT& result,
const string& input)
92 g[var(result)=arg1]).full;
111 template<
typename IntegerT>
113 ( std::vector<IntegerT>& result,
const string& input)
136 template<
typename CharT>
138 ( CharT& result ,
const string& input )
144 g[var(result)=arg1]).full;
163 template<
typename CharT>
165 (std::vector<CharT>& result,
const string& input)
187 template<
typename RealT>
189 ( RealT& result ,
const string& input)
215 template<
typename RealT>
217 ( std::vector<RealT>& result,
const string& input)
The valid represenation of char values are:
IteratorT createIterator(const std::string &input)
create the position iterator from the input
The valid represenation of real values are:
The declaration of major parsing functions used e.g for (re)implementation of new extended properties...
StatusCode 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 int...
StatusCode parse(GaudiUtils::HashMap< K, V > &result, const std::string &input)
Basic parser for the types of HashMap used in DODBasicMapper.
StatusCode parse_integer(IntegerT &result, const string &input)
helper function to "merge" the implementation of all parsers for integer-like quantities into one tem...
boost::spirit::position_iterator< string::const_iterator > IteratorT
the actual type of position iterator
This class is used for returning status codes from appropriate routines.
Collection of grammars for property types.
StatusCode parse_real(RealT &result, const string &input)
helper function to "merge" the implementation of all parsers for "float-like" quantities into one tem...
The valid representation of integers values are:
StatusCode 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 in...
The valid represenation of vector are:
Skipping spaces and comments.
StatusCode parse_char(CharT &result, const string &input)
helper function to "merge" the implementation of all parsers for "char-like" quantities into one temp...
std
AIDA -> ROTO converter.
StatusCode 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 int...
This is a number of static methods for bootstrapping the Gaudi framework.