Lines Matching defs:std

57 		std::string *out = reinterpret_cast<std::string *>(ud);
66 std::string *out = reinterpret_cast<std::string *>(ud);
75 std::string *out = reinterpret_cast<std::string *>(ud);
76 auto nstr = std::to_string (elt);
85 std::string *out = reinterpret_cast<std::string *>(ud);
86 auto nstr = std::to_string (elt);
112 auto vars = reinterpret_cast<std::set<std::string> *>(ud);
129 std::string var_name (data, data + len);
134 std::string var_value = replacer->replace (var_name);
149 static Ucl parse_with_strategy_function (C config_func, P parse_func, std::string &err)
170 std::unique_ptr<ucl_object_t, ucl_deleter> obj;
190 std::shared_ptr<void> it;
191 std::unique_ptr<Ucl> cur;
193 typedef std::forward_iterator_tag iterator_category;
196 it = std::shared_ptr<void>(ucl_object_iterate_new (obj.obj.get()),
254 virtual bool is_variable (const std::string &str) const
259 virtual std::string replace (const std::string &var) const = 0;
283 Ucl(std::nullptr_t) noexcept {
298 Ucl(const std::string &value) {
310 // Implicit constructor: map-like objects (std::map, std::unordered_map, etc)
311 template <class M, typename std::enable_if<
312 std::is_constructible<std::string, typename M::key_type>::value
313 && std::is_constructible<Ucl, typename M::mapped_type>::value,
325 // Implicit constructor: vector-like objects (std::list, std::vector, std::set, etc)
326 template <class V, typename std::enable_if<
327 std::is_constructible<Ucl, typename V::value_type>::value,
345 std::string key () const {
346 std::string res;
388 std::string string_value (const std::string& default_val = "") const
417 Ucl lookup (const std::string &key) const
432 inline Ucl operator[](const std::string &key) const
437 void dump (std::string &out, ucl_emitter_t type = UCL_EMIT_JSON) const
447 std::string dump (ucl_emitter_t type = UCL_EMIT_JSON) const
449 std::string out;
456 static Ucl parse (const std::string &in, std::string &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)
458 return parse (in, std::map<std::string, std::string>(), err, duplicate_strategy);
461 static Ucl parse (const std::string &in, const std::map<std::string, std::string> &vars,
462 std::string &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)
464 std::vector< std::tuple< std::string, macro_handler_s, void * > > emptyVector;
469 static Ucl parse (const std::string &in,
470 std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/ > > &macros,
471 std::string &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)
473 return parse (in, std::map<std::string, std::string>(), macros, err, duplicate_strategy);
477 static Ucl parse (const std::string &in, const std::map<std::string, std::string> &vars,
478 std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/ > > &macros,
479 std::string &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)
482 std::vector<macro_userdata_s> userdata_list;
489 userdata_list.push_back ({parser, std::get<2>(macro)});
490 if (std::get<1>(macro).handler != NULL) {
492 std::get<0>(macro).c_str(),
493 std::get<1>(macro).handler,
496 else if (std::get<1>(macro).ctx_handler != NULL) {
498 std::get<0>(macro).c_str(),
499 std::get<1>(macro).ctx_handler,
517 static Ucl parse (const std::string &in, const variable_replacer &replacer,
518 std::string &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)
520 std::vector< std::tuple< std::string, macro_handler_s, void * > > emptyVector;
525 static Ucl parse (const std::string &in, const variable_replacer &replacer,
526 std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/ > > &macros,
527 std::string &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)
530 std::vector<macro_userdata_s> userdata_list;
535 userdata_list.push_back ({parser, std::get<2>(macro)});
536 if (std::get<1>(macro).handler != NULL) {
538 std::get<0>(macro).c_str(),
539 std::get<1>(macro).handler,
542 else if (std::get<1>(macro).ctx_handler != NULL) {
544 std::get<0>(macro).c_str(),
545 std::get<1>(macro).ctx_handler,
563 static Ucl parse (const char *in, std::string &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)
565 return parse (in, std::map<std::string, std::string>(), err, duplicate_strategy);
568 static Ucl parse (const char *in, const std::map<std::string, std::string> &vars, std::string &err)
574 return parse (std::string (in), vars, err);
579 std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/ > > &macros,
580 std::string &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)
582 return parse (in, std::map<std::string, std::string>(), macros, err, duplicate_strategy);
586 static Ucl parse (const char *in, const std::map<std::string, std::string> &vars,
587 std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/ > > &macros,
588 std::string &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)
594 return parse (std::string (in), vars, macros, err, duplicate_strategy);
598 std::string &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)
604 return parse (std::string(in), replacer, err, duplicate_strategy);
609 std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/ > > &macros,
610 std::string &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)
616 return parse (std::string (in), replacer, macros, err, duplicate_strategy);
619 static Ucl parse_from_file (const std::string &filename, std::string &err)
621 return parse_from_file (filename, std::map<std::string, std::string>(), err);
624 static Ucl parse_from_file (const std::string &filename, const std::map<std::string, std::string> &vars, std::string &err)
639 static Ucl parse_from_file (const std::string &filename, const variable_replacer &replacer, std::string &err)
653 static std::vector<std::string> find_variable (const std::string &in)
657 std::set<std::string> vars;
662 std::vector<std::string> result;
663 std::move (vars.begin (), vars.end (), std::back_inserter (result));
667 static std::vector<std::string> find_variable (const char *in)
670 return std::vector<std::string>();
672 return find_variable (std::string (in));
675 static std::vector<std::string> find_variable_from_file (const std::string &filename)
679 std::set<std::string> vars;
684 std::vector<std::string> result;
685 std::move (vars.begin (), vars.end (), std::back_inserter (result));