The Gaudi Framework  master (e68eea06)
Loading...
Searching...
No Matches
Gaudi::Parsers::MapGrammar< It, MapT, Skipper > Struct Template Reference

#include </builds/gaudi/Gaudi/GaudiKernel/include/Gaudi/Parsers/Grammars.h>

Inheritance diagram for Gaudi::Parsers::MapGrammar< It, MapT, Skipper >:
Collaboration diagram for Gaudi::Parsers::MapGrammar< It, MapT, Skipper >:

Public Types

using KeyT = typename MapT::key_type
 
using MappedT = typename MapT::mapped_type
 
using PairT = std::pair<KeyT, MappedT>
 

Public Member Functions

 MapGrammar ()
 

Public Attributes

Grammar_< It, KeyT, Skipper >::Grammar key
 
Grammar_< It, MappedT, Skipper >::Grammar val
 
qi::rule< It, PairT(), Skipperkv
 
qi::rule< It, std::vector< PairT >(), Skipperbody
 
qi::rule< It, std::vector< PairT >(), Skipperbracketed
 
qi::rule< It, MapT(), Skippermap
 

Detailed Description

template<typename It, typename MapT, typename Skipper>
struct Gaudi::Parsers::MapGrammar< It, MapT, Skipper >

Definition at line 236 of file Grammars.h.

Member Typedef Documentation

◆ KeyT

template<typename It, typename MapT, typename Skipper>
using Gaudi::Parsers::MapGrammar< It, MapT, Skipper >::KeyT = typename MapT::key_type

Definition at line 237 of file Grammars.h.

◆ MappedT

template<typename It, typename MapT, typename Skipper>
using Gaudi::Parsers::MapGrammar< It, MapT, Skipper >::MappedT = typename MapT::mapped_type

Definition at line 238 of file Grammars.h.

◆ PairT

template<typename It, typename MapT, typename Skipper>
using Gaudi::Parsers::MapGrammar< It, MapT, Skipper >::PairT = std::pair<KeyT, MappedT>

Definition at line 239 of file Grammars.h.

Constructor & Destructor Documentation

◆ MapGrammar()

template<typename It, typename MapT, typename Skipper>
Gaudi::Parsers::MapGrammar< It, MapT, Skipper >::MapGrammar ( )
inline

Definition at line 249 of file Grammars.h.

250 kv = key >> ( qi::lit( ':' ) | qi::lit( '=' ) ) >> val;
251 body = -( kv % ',' ) >> qi::omit[*enc::char_( ',' )];
252 bracketed = rep::confix( '[', ']' )[body] | rep::confix( '{', '}' )[body];
253 map = bracketed;
254 }
qi::rule< It, std::vector< PairT >(), Skipper > bracketed
Definition Grammars.h:246
Grammar_< It, MappedT, Skipper >::Grammar val
Definition Grammars.h:242
qi::rule< It, std::vector< PairT >(), Skipper > body
Definition Grammars.h:245
qi::rule< It, MapT(), Skipper > map
Definition Grammars.h:247
Grammar_< It, KeyT, Skipper >::Grammar key
Definition Grammars.h:241
qi::rule< It, PairT(), Skipper > kv
Definition Grammars.h:244

Member Data Documentation

◆ body

template<typename It, typename MapT, typename Skipper>
qi::rule<It, std::vector<PairT>(), Skipper> Gaudi::Parsers::MapGrammar< It, MapT, Skipper >::body

Definition at line 245 of file Grammars.h.

◆ bracketed

template<typename It, typename MapT, typename Skipper>
qi::rule<It, std::vector<PairT>(), Skipper> Gaudi::Parsers::MapGrammar< It, MapT, Skipper >::bracketed

Definition at line 246 of file Grammars.h.

◆ key

template<typename It, typename MapT, typename Skipper>
Grammar_<It,KeyT,Skipper>::Grammar Gaudi::Parsers::MapGrammar< It, MapT, Skipper >::key

Definition at line 241 of file Grammars.h.

◆ kv

template<typename It, typename MapT, typename Skipper>
qi::rule<It, PairT(), Skipper> Gaudi::Parsers::MapGrammar< It, MapT, Skipper >::kv

Definition at line 244 of file Grammars.h.

◆ map

template<typename It, typename MapT, typename Skipper>
qi::rule<It, MapT(), Skipper> Gaudi::Parsers::MapGrammar< It, MapT, Skipper >::map

Definition at line 247 of file Grammars.h.

◆ val

template<typename It, typename MapT, typename Skipper>
Grammar_<It,MappedT,Skipper>::Grammar Gaudi::Parsers::MapGrammar< It, MapT, Skipper >::val

Definition at line 242 of file Grammars.h.


The documentation for this struct was generated from the following file: