22#include <boost/program_options.hpp>
23#include <boost/filesystem.hpp>
24#include <boost/any.hpp>
117template<
typename Root,
typename Target,
119 =
typename std::pointer_traits<typename Root::Ptr>::template rebind<Target const>>
124template<
typename Value_set>
141namespace opts = boost::program_options;
158template<
typename Value_set>
209template<
typename Key>
226template<
typename Value>
245template<
typename Rep,
typename Period>
246void value_to_ostream(std::ostream& os,
const boost::chrono::duration<Rep, Period>& val);
260template<
typename Element>
324void validate(boost::any& target,
const std::vector<std::string>& user_values, path*,
int);
Class which facilitates managing access to a dynamic configuration.
Un-templated base for Option_set.
The core config-parsing facility, which builds parsing/comparison/output capabilities on top of a giv...
We may add some ADL-based overloads into this namespace outside flow.
void validate(boost::any &target, const std::vector< std::string > &user_values, path *, int)
ADL-based overload of boost.program_options validate() to allow for empty boost::filesystem::path val...
Flow module that facilitates configuring modules, such as applications and APIs, via statically and/o...
void value_to_ostream(std::ostream &os, const Value &val)
Serializes a value of type Value to the given ostream suitably for output in Option_set-related outpu...
std::string value_set_member_id_to_opt_name(util::String_view member_id)
Utility, used by FLOW_CFG_OPTION_SET_DECLARE_OPTION() internally but made available as a public API i...
std::string value_set_member_id_to_opt_name_keyed(util::String_view member_id, const Key &key)
Similar to value_set_member_id_to_opt_name() but used by FLOW_CFG_OPTION_SET_DECLARE_OPTION_KEYED() i...
std::ostream & operator<<(std::ostream &os, const Option_set< Value_set > &val)
Serializes (briefly) an Option_set to a standard output stream.
Basic_string_view< char > String_view
Commonly used char-based Basic_string_view. See its doc header.