Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
runtime template mode processor
//g++ 5.4.0 #include <iostream> #include <boost/algorithm/string.hpp> #include <boost/program_options.hpp> namespace po = boost::program_options; template<int> class Processor{}; enum Modes { tolower = 1, toupper = 2, capitalize = 4, trim_start = 8, trim_end = 16, normalize_spaces = 32, stem = 64, sort = 128, }; template<> class Processor<1>{ public: std::string operator(std::string&& s) const { boost::to_lower(s); return s; } }; template<> class Processor<2>{ public: std::string operator(std::string&& s) const { boost::to_upper(s); return s; } }; template<> class Processor<4>{ public: std::string operator(std::string&& s) const { return s; } }; template<> class Processor<8>{ public: std::string operator(std::string&& s) const { return s; // TODO } }; template<> class Processor<16>{ public: std::string operator(std::string&& s) const { return s; // TODO } }; template<> class Processor<32>{ public: std::string operator(std::string&& s) const { return s; // TODO } }; template<> class Processor<64>{ public: std::string operator(std::string&& s) const { return s; // TODO } }; template<> class Processor<128>{ public: std::string operator(std::string&& s) const { return s; // TODO } }; int main() { int mode; po::options_description config_option_list("config options"); config_option_list.add_options() ("mode", po::value<int>(&mode)->default_value(0), "") }
run
|
edit
|
history
|
help
0
KJ
sgfsfdgsfd
replace_copy-30-Seconds-of-C++
MinCostKStops_BFS
RotateMat
12532
a
Trapping rain water problem
mutable constexpr
Karibu