μHAL (v2.7.9)
Part of the IPbus software repository
Classes | Namespaces | Typedefs | Functions
NodeTreeClassAttributeGrammar.hpp File Reference
#include <string>
#include <vector>
#include <utility>
#include <boost/fusion/adapted/std_pair.hpp>
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
#include <boost/spirit/include/qi_char.hpp>
#include <boost/spirit/include/qi_grammar.hpp>
Include dependency graph for NodeTreeClassAttributeGrammar.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  uhal::NodeTreeClassAttribute
 Struct to store the name and member variables within a node class attribute when parsed by boost spirit The class attribute has the form "classname;name1=val1;name2=val2;name3=val3;" where the name-value pairs are optional, as is the trailing semicolon. More...
 

Namespaces

 uhal
 

Typedefs

typedef std::vector< std::pair< std::string, std::string > > uhal::NameValuePairVectorType
 boost::fusion requires us to typedef our template types, so typedef a container which can hold key/value pairs More...
 

Functions

 BOOST_FUSION_ADAPT_STRUCT (uhal::NodeTreeClassAttribute,(std::string, mClass)(uhal::NameValuePairVectorType, mArguments)) namespace uhal
 A boost::fusion adaptive struct used by the boost::qi parser. More...
 

Function Documentation

◆ BOOST_FUSION_ADAPT_STRUCT()

BOOST_FUSION_ADAPT_STRUCT ( uhal::NodeTreeClassAttribute  ,
(std::string, mClass)(uhal::NameValuePairVectorType, mArguments)   
)

A boost::fusion adaptive struct used by the boost::qi parser.

A struct wrapping a set of rules as a grammar that can parse a NodeTreeClassAttribute of the form "class;name1=val1;name2=val2;name3=val3"

Default Constructor where we will define the boost::qi rules relating the members

Boost spirit parsing rule for parsing a NodeTreeClassAttribute

Boost spirit parsing rule for parsing the "classname" part of a NodeTreeClassAttribute

Boost spirit parsing rule for parsing all the "name-value pairs" of a NodeTreeClassAttribute

Boost spirit parsing rule for parsing each of the "name-value pairs" of a NodeTreeClassAttribute

Boost spirit parsing rule for parsing the "name" part of the "name-value pairs" of a NodeTreeClassAttribute

Boost spirit parsing rule for parsing the "value" part of the "name-value pairs" of a NodeTreeClassAttribute

Definition at line 69 of file NodeTreeClassAttributeGrammar.hpp.