3 #include <boost/regex.hpp> 
    7         std::string indent(
' ', indentwidth);
 
    8         std::cout << indent << 
"Difference\n" 
    9                   << indent << 
"    nominators\n";
 
   12         std::cout << indent << 
"    denominators\n";
 
   17         std::vector<std::shared_ptr<Base> > nom, denom;
 
   21         for (
auto item: nom) {
 
   22             item->divideBy(denom);
 
   23             bfuncs.emplace_back(item->clone());
 
   28         for (
auto item: denom)
 
   36         boost::regex argumentList(
"(,[a-z]+\\(.*)");
 
   37         boost::regex endParenthesis(
"\\)(.*)");
 
   40         std::string str(it, 
end);
 
   41         if (!boost::regex_match(str, what, argumentList)) 
return false;
 
   47         str = std::string(it, 
end);
 
   48         if (!boost::regex_match(str, what, endParenthesis)) 
return false;
 
   50         std::string fullMatch = what[0];
 
   51         std::string rest = what[1];
 
   53         it += (fullMatch.size() - rest.size());
 
PartBunchBase< T, Dim >::ConstIterator end(PartBunchBase< T, Dim > const &bunch)
std::string::iterator iterator
virtual void apply(std::vector< std::shared_ptr< Base > > &bfuncs)
virtual void print(int indentwidth)
static bool parse_detail(iterator &it, const iterator &end, Function *&fun)
virtual void apply(std::vector< std::shared_ptr< Base >> &bfuncs)=0
static bool parse(iterator &it, const iterator &end, Function *&fun)
virtual void print(int indent)=0