8   const char* table[] = {
"Linear", 
"Polynomial", 
"Cspline", 
"Cspline_Periodic", 
"Akima", 
"Akima_Periodic"};
    18     template <
typename Iterator, 
typename Skipper>
    19     struct InterpolGrammar : qi::grammar<Iterator, GaudiMath::Interpolation::Type(), Skipper> {
    23         literal = ( qi::lit( table[
Linear] ) )[qi::_val = Linear] |
    24                   ( qi::lit( table[
Polynomial] ) )[qi::_val = Polynomial] |
    25                   ( qi::lit( table[
Cspline] ) )[qi::_val = Cspline] |
    27                   ( qi::lit( table[
Akima] ) )[qi::_val = Akima] |
    30       qi::rule<Iterator, ResultT(), Skipper> 
literal;
    38   namespace Interpolation
 StatusCode parse_(ResultT &result, const std::string &input)
qi::rule< Iterator, ResultT(), Skipper > literal
std::ostream & toStream(const Type &, std::ostream &)
StatusCode parse(Type &, const std::string &)
GaudiMath::Interpolation::Type ResultT
This class is used for returning status codes from appropriate routines. 
GaudiMath.h GaudiMath/GaudiMath.h. 
Helper functions to set/get the application return code. 
std::string toString(const Type &)
#define REGISTER_GRAMMAR(ResultType, GrammarName)