Loading [MathJax]/extensions/tex2jax.js
 |
Darwin
1.0
Event loop based prototype framework
|
Go to the documentation of this file.
9 #include <boost/program_options/options_description.hpp>
10 #include <boost/program_options/positional_options.hpp>
11 #include <boost/property_tree/ptree.hpp>
13 #ifndef DARWIN_GIT_COMMIT
14 # define DARWIN_GIT_COMMIT nullptr
17 #ifndef DARWIN_EXAMPLE
18 # define DARWIN_EXAMPLE nullptr
59 boost::program_options::options_description
64 boost::program_options::positional_options_description
66 boost::property_tree::ptree
93 std::vector<std::string>
100 static void check_input (
const std::filesystem::path&
118 const boost::program_options::value_semantic *,
127 > std::function<void(T)>
put (
const char * configpath
130 return [configpath,
this](T value) {
pt_conf.put<T>(configpath, value); };
141 std::string
exec (
const std::string&
160 std::vector<std::vector<std::string>>
189 std::filesystem::path *,
191 const std::vector<std::string>& = {
".root",
".xml"});
200 std::vector<std::filesystem::path> *,
202 const std::vector<std::string>& = {
".root",
".xml"});
211 std::filesystem::path *,
213 const std::vector<std::string>& = {
".root",
".xml"});
222 const char * configpath,
225 if (
stage > Stage::Arg)
226 BOOST_THROW_EXCEPTION(std::runtime_error(
227 "Not possible to add another argument at this stage"));
230 names.push_back(name);
232 const boost::program_options::value_semantic * s =
233 boost::program_options::value<T>()->notifier(put<T>(configpath));
234 return set(name, s, desc);
242 const char * configpath,
249 const boost::property_tree::ptree&
operator() (
int,
const char *
const []);
265 static inline std::filesystem::path
parse_env_var (
const std::filesystem::path& p)
271 (boost::property_tree::ptree&,
287 inline std::pair<unsigned, unsigned>
slice ()
const
291 BOOST_THROW_EXCEPTION(invalid_argument(
"No splitting of the input file."));
292 return make_pair(
j,
k);
#define DARWIN_EXAMPLE
Definition: Options.h:18
#define DARWIN_GIT_COMMIT
Definition: Options.h:14