The Gaudi Framework  master (1304469f)
Loading...
Searching...
No Matches
Gaudi::Utils::AttribStringParser Class Reference

Parse attribute strings allowing iteration over the various attributes. More...

#include </builds/gaudi/Gaudi/GaudiKernel/include/GaudiKernel/AttribStringParser.h>

Collaboration diagram for Gaudi::Utils::AttribStringParser:

Classes

struct  Attrib
 Simple class to wrap tag/value pairs. More...
 
class  Iterator
 Iterator to loop over the tag/value pairs in the attribute string. More...
 

Public Member Functions

 AttribStringParser (std::string data, bool expand_vars=true)
 Initialize the parsing of an attribute string.
 

Private Member Functions

boost::sregex_iterator parse () const
 

Private Attributes

std::string m_data
 
bool m_expandVars
 

Friends

Iterator begin (const AttribStringParser &parser)
 

Detailed Description

Parse attribute strings allowing iteration over the various attributes.

Example of usage:

std::string input{"key1='value1' key2='value2'"};
for(auto attrib: Parser(input)) {
std::cout << attrib.tag << " -> " << attrib.value << std::endl;
}
Parse attribute strings allowing iteration over the various attributes.

Definition at line 39 of file AttribStringParser.h.

Constructor & Destructor Documentation

◆ AttribStringParser()

Gaudi::Utils::AttribStringParser::AttribStringParser ( std::string data,
bool expand_vars = true )
inline

Initialize the parsing of an attribute string.

Parameters
dataattribute string
expand_varsif true (default) expand environment variables in values

Definition at line 123 of file AttribStringParser.h.

Member Function Documentation

◆ parse()

boost::sregex_iterator Gaudi::Utils::AttribStringParser::parse ( ) const
inlineprivate

Definition at line 129 of file AttribStringParser.h.

129 {
130 static const boost::regex exp{ "[[:space:]]*([^[:space:]]+)[[:space:]]*=[[:space:]]*'(.*?)'" };
131 return boost::sregex_iterator( begin( m_data ), end( m_data ), exp );
132 }
friend Iterator begin(const AttribStringParser &)
AttribStringParser::Iterator end(const AttribStringParser &)

Friends And Related Symbol Documentation

◆ begin

Iterator begin ( const AttribStringParser & parser)
friend

Definition at line 135 of file AttribStringParser.h.

135 {
136 return AttribStringParser::Iterator( parser.parse(), parser.m_expandVars );
137 }

Member Data Documentation

◆ m_data

std::string Gaudi::Utils::AttribStringParser::m_data
private

Definition at line 126 of file AttribStringParser.h.

◆ m_expandVars

bool Gaudi::Utils::AttribStringParser::m_expandVars
private

Definition at line 127 of file AttribStringParser.h.


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