11 #ifndef _ATTRIB_STRING_PARSER_H_ 
   12 #define _ATTRIB_STRING_PARSER_H_ 
   18 #  pragma clang diagnostic push 
   21 #  pragma clang diagnostic ignored "-Wkeyword-macro" 
   23 #include <boost/regex.hpp> 
   25 #  pragma clang diagnostic pop 
   76         boost::sregex_iterator 
m_it;
 
   83           static const boost::sregex_iterator endmark;
 
   84           if ( 
m_it != endmark ) {
 
   88               static const boost::regex varexp{
"\\$\\{([^}]+)\\}"};
 
   95                       const std::string name  = m[1];
 
   96                       const char*       cname = name.c_str();
 
   97                       if ( System::isEnvSet( cname ) ) {
 
   99                         return System::getEnv( cname );
 
  103                     boost::match_default | boost::format_all );
 
  124       boost::sregex_iterator 
parse()
 const {
 
  125         static const boost::regex exp{
"[[:space:]]*([^[:space:]]+)[[:space:]]*=[[:space:]]*'(.*?)'"};
 
  126         return boost::sregex_iterator( 
begin( m_data ), 
end( m_data ), exp );