I'm trying to learn to use program options, posted here by Vladimir Prus. I was trying to use the variables map, and I wanted a "double" variable. It seems validator is specialized for float, but not double.
I tried following the example of the float type: namespace boost { namespace program_options { template<> void validator<double>::operator()(any& v, const vector<string>& xs) { check_first_occurence(v); string s(get_single_string(xs)); try { v = any(lexical_cast<double>(s)); } catch(bad_lexical_cast&) { throw validation_error("'" + s + "' doesn't look like a double value."); } } } But check_first_occurence and get_single_string are in an anonymous namespace, and are not accessible. Is there a workaround? Should these functions be moved to a different namespace to make extension more convenient? _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost