How to parse a string which may contain either double or int depending on whether the dot is set. E.g. 6.0 is of double type and 6 is of int type. The rule would be
rule<it,boost::variant<int,double>,skipper> r = qi::double_|qi::int_;
However, a stream will be fed by double as for all numbers in this case.