Flow 1.0.2
Flow project: Full implementation reference.
Namespaces | Functions
cfg_fwd.hpp File Reference
#include "flow/util/util_fwd.hpp"
#include <boost/program_options.hpp>
#include <boost/filesystem.hpp>
#include <boost/any.hpp>
#include <vector>
#include <string>
#include <ostream>

Go to the source code of this file.

Namespaces

namespace  flow
 Catch-all namespace for the Flow project: A collection of various production-quality modules written in modern C++17, originally by ygoldfel.
 
namespace  flow::cfg
 Flow module that facilitates configuring modules, such as applications and APIs, via statically and/or dynamically parsed sets of name/value pairs from config sources like files and command lines.
 
namespace  flow::cfg::fs
 Short-hand for namespace boost::filesystem.
 
namespace  flow::cfg::opts
 Short-hand for namespace boost::program_options.
 
namespace  boost::filesystem
 We may add some ADL-based overloads into this namespace outside flow.
 

Functions

template<typename Value_set >
std::ostream & flow::cfg::operator<< (std::ostream &os, const Option_set< Value_set > &val)
 Serializes (briefly) an Option_set to a standard output stream. More...
 
std::string flow::cfg::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 in case it is useful, that converts a string containing a conventionally formatted data member name into the corresponding auto-determined config option name. More...
 
template<typename Key >
std::string flow::cfg::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() internally (also made available as a public API in case it is useful), that does the job of value_set_member_id_to_opt_name() in addition to substituting the last [...] fragment with a dot separator, followed by the ostream encoding of key. More...
 
template<typename Value >
void flow::cfg::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 output to user such as in help messages. More...
 
template<typename Rep , typename Period >
void flow::cfg::value_to_ostream (std::ostream &os, const boost::chrono::duration< Rep, Period > &val)
 Overload that serializes a value of chrono-based duration including Fine_duration – which is recommended to use for Option_set-configured time durations – to the given ostream suitably for output in Option_set-related output to user such as in help messages. More...
 
template<typename Element >
void flow::cfg::value_to_ostream (std::ostream &os, const std::vector< Element > &val)
 Overload that serializes a list value (with Element type itself similarly serializable) to the given ostream suitably for output in Option_set-related output to user such as in help messages. More...
 
void boost::filesystem::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 values in flow::cfg config parsing as well as any other boost.program_options parsing in the application. More...