/src/poco/Foundation/include/Poco/Dynamic/Struct.h
Line | Count | Source (jump to first uncovered line) |
1 | | // |
2 | | // Struct.h |
3 | | // |
4 | | // Library: Foundation |
5 | | // Package: Dynamic |
6 | | // Module: Struct |
7 | | // |
8 | | // Definition of the Struct class. |
9 | | // |
10 | | // Copyright (c) 2007, Applied Informatics Software Engineering GmbH. |
11 | | // and Contributors. |
12 | | // |
13 | | // SPDX-License-Identifier: BSL-1.0 |
14 | | // |
15 | | |
16 | | |
17 | | #ifndef Foundation_Struct_INCLUDED |
18 | | #define Foundation_Struct_INCLUDED |
19 | | |
20 | | |
21 | | #include "Poco/Foundation.h" |
22 | | #include "Poco/Dynamic/Var.h" |
23 | | #include "Poco/Dynamic/VarHolder.h" |
24 | | #include "Poco/SharedPtr.h" |
25 | | #include "Poco/OrderedMap.h" |
26 | | #include "Poco/OrderedSet.h" |
27 | | #include <map> |
28 | | #include <set> |
29 | | |
30 | | |
31 | | namespace Poco { |
32 | | namespace Dynamic { |
33 | | |
34 | | |
35 | | template <typename S, typename I = typename S::ConstIterator> |
36 | | std::string structToString(const S& data, bool wrap = true) |
37 | | /// Utility function for converting DynamicStruct to std::string. |
38 | | /// Set wrap to false in order to prevent string values wrapping |
39 | | /// (useful to prevent JSON fragments from being treated as strings). |
40 | 0 | { |
41 | 0 | std::string val; |
42 | 0 | val.append("{ "); |
43 | 0 | I it = data.begin(); |
44 | 0 | I itEnd = data.end(); |
45 | 0 | if (!data.empty()) |
46 | 0 | { |
47 | 0 | Var key(it->first); |
48 | 0 | Impl::appendJSONKey(val, key); |
49 | 0 | val.append(": "); |
50 | 0 | Impl::appendJSONValue(val, it->second, wrap); |
51 | 0 | ++it; |
52 | 0 | } |
53 | 0 | for (; it != itEnd; ++it) |
54 | 0 | { |
55 | 0 | val.append(", "); |
56 | 0 | Var key(it->first); |
57 | 0 | Impl::appendJSONKey(val, key); |
58 | 0 | val.append(": "); |
59 | 0 | Impl::appendJSONValue(val, it->second, wrap); |
60 | 0 | } |
61 | 0 | val.append(" }"); |
62 | 0 | return val; |
63 | 0 | } Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > Poco::Dynamic::structToString<Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >, std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, void*>*, long> > >(Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > const&, bool) Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > Poco::Dynamic::structToString<Poco::Dynamic::Struct<int, std::__1::map<int, Poco::Dynamic::Var, std::__1::less<int>, std::__1::allocator<std::__1::pair<int const, Poco::Dynamic::Var> > >, std::__1::set<int, std::__1::less<int>, std::__1::allocator<int> > >, std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<int, Poco::Dynamic::Var>, std::__1::__tree_node<std::__1::__value_type<int, Poco::Dynamic::Var>, void*>*, long> > >(Poco::Dynamic::Struct<int, std::__1::map<int, Poco::Dynamic::Var, std::__1::less<int>, std::__1::allocator<std::__1::pair<int const, Poco::Dynamic::Var> > >, std::__1::set<int, std::__1::less<int>, std::__1::allocator<int> > > const&, bool) Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > Poco::Dynamic::structToString<Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >, tsl::detail_ordered_hash::ordered_hash<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >::KeySelect, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >::ValueSelect, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >::ordered_iterator<true> >(Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > > const&, bool) Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > Poco::Dynamic::structToString<Poco::Dynamic::Struct<int, tsl::ordered_map<int, Poco::Dynamic::Var, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<int, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> > > >, tsl::ordered_set<int, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<int>, std::__1::deque<int, std::__1::allocator<int> > > >, tsl::detail_ordered_hash::ordered_hash<std::__1::pair<int, Poco::Dynamic::Var>, tsl::ordered_map<int, Poco::Dynamic::Var, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<int, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> > > >::KeySelect, tsl::ordered_map<int, Poco::Dynamic::Var, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<int, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> > > >::ValueSelect, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<int, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> > > >::ordered_iterator<true> >(Poco::Dynamic::Struct<int, tsl::ordered_map<int, Poco::Dynamic::Var, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<int, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> > > >, tsl::ordered_set<int, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<int>, std::__1::deque<int, std::__1::allocator<int> > > > const&, bool) |
64 | | |
65 | | |
66 | | template <typename K, typename M = std::map<K, Var>, typename S = std::set<K>> |
67 | | class Struct |
68 | | /// Struct allows to define a named collection of Var objects. |
69 | | { |
70 | | public: |
71 | | typedef M Data; |
72 | | typedef S NameSet; |
73 | | typedef typename Data::iterator Iterator; |
74 | | typedef typename Data::const_iterator ConstIterator; |
75 | | typedef typename Struct<K>::Data::value_type ValueType; |
76 | | typedef typename Struct<K>::Data::size_type SizeType; |
77 | | typedef typename std::pair<typename Struct<K, M, S>::Iterator, bool> InsRetVal; |
78 | | typedef typename Poco::SharedPtr<Struct<K, M, S>> Ptr; |
79 | | |
80 | | Struct(): _data() |
81 | | /// Creates an empty Struct |
82 | 0 | { |
83 | 0 | } Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::Struct() Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >::Struct() |
84 | | |
85 | | Struct(const Data& val): _data(val) |
86 | | /// Creates the Struct from the given value. |
87 | | { |
88 | | } |
89 | | |
90 | | template <typename T> |
91 | | Struct(const std::map<K, T>& val) |
92 | | { |
93 | | assignMap(val); |
94 | | } |
95 | | |
96 | | template <typename T> |
97 | | Struct(const OrderedMap<K, T>& val) |
98 | | { |
99 | | assignMap(val); |
100 | | } |
101 | | |
102 | | virtual ~Struct() |
103 | | /// Destroys the Struct. |
104 | 0 | { |
105 | 0 | } Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::~Struct() Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >::~Struct() |
106 | | |
107 | | inline Var& operator [] (const K& name) |
108 | | /// Returns the Var with the given name, creates an entry if not found. |
109 | 0 | { |
110 | 0 | return _data[name]; |
111 | 0 | } Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::operator[](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: Poco::Dynamic::Struct<int, std::__1::map<int, Poco::Dynamic::Var, std::__1::less<int>, std::__1::allocator<std::__1::pair<int const, Poco::Dynamic::Var> > >, std::__1::set<int, std::__1::less<int>, std::__1::allocator<int> > >::operator[](int const&) Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >::operator[](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: Poco::Dynamic::Struct<int, tsl::ordered_map<int, Poco::Dynamic::Var, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<int, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> > > >, tsl::ordered_set<int, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<int>, std::__1::deque<int, std::__1::allocator<int> > > >::operator[](int const&) |
112 | | |
113 | | const Var& operator [] (const K& name) const |
114 | | /// Returns the Var with the given name, throws a |
115 | | /// NotFoundException if the data member is not found. |
116 | 0 | { |
117 | 0 | ConstIterator it = find(name); |
118 | 0 | if (it == end()) throw NotFoundException(name); |
119 | 0 | return it->second; |
120 | 0 | } Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::operator[](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const Unexecuted instantiation: Poco::Dynamic::Struct<int, std::__1::map<int, Poco::Dynamic::Var, std::__1::less<int>, std::__1::allocator<std::__1::pair<int const, Poco::Dynamic::Var> > >, std::__1::set<int, std::__1::less<int>, std::__1::allocator<int> > >::operator[](int const&) const Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >::operator[](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const Unexecuted instantiation: Poco::Dynamic::Struct<int, tsl::ordered_map<int, Poco::Dynamic::Var, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<int, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> > > >, tsl::ordered_set<int, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<int>, std::__1::deque<int, std::__1::allocator<int> > > >::operator[](int const&) const |
121 | | |
122 | | inline bool contains(const K& name) const |
123 | | /// Returns true if the Struct contains a member with the given name |
124 | | { |
125 | | return find(name) != end(); |
126 | | } |
127 | | |
128 | | inline Iterator find(const K& name) |
129 | | /// Returns an iterator, pointing to the <name,Var> pair containing |
130 | | /// the element, or it returns end() if the member was not found |
131 | | { |
132 | | return _data.find(name); |
133 | | } |
134 | | |
135 | | inline ConstIterator find(const K& name) const |
136 | | /// Returns a const iterator, pointing to the <name,Var> pair containing |
137 | | /// the element, or it returns end() if the member was not found |
138 | 0 | { |
139 | 0 | return _data.find(name); |
140 | 0 | } Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::find(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const Unexecuted instantiation: Poco::Dynamic::Struct<int, std::__1::map<int, Poco::Dynamic::Var, std::__1::less<int>, std::__1::allocator<std::__1::pair<int const, Poco::Dynamic::Var> > >, std::__1::set<int, std::__1::less<int>, std::__1::allocator<int> > >::find(int const&) const Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >::find(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const Unexecuted instantiation: Poco::Dynamic::Struct<int, tsl::ordered_map<int, Poco::Dynamic::Var, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<int, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> > > >, tsl::ordered_set<int, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<int>, std::__1::deque<int, std::__1::allocator<int> > > >::find(int const&) const |
141 | | |
142 | | inline Iterator end() |
143 | | /// Returns the end iterator for the Struct |
144 | | { |
145 | | return _data.end(); |
146 | | } |
147 | | |
148 | | inline ConstIterator end() const |
149 | | /// Returns the end const iterator for the Struct |
150 | 0 | { |
151 | 0 | return _data.end(); |
152 | 0 | } Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::end() const Unexecuted instantiation: Poco::Dynamic::Struct<int, std::__1::map<int, Poco::Dynamic::Var, std::__1::less<int>, std::__1::allocator<std::__1::pair<int const, Poco::Dynamic::Var> > >, std::__1::set<int, std::__1::less<int>, std::__1::allocator<int> > >::end() const Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >::end() const Unexecuted instantiation: Poco::Dynamic::Struct<int, tsl::ordered_map<int, Poco::Dynamic::Var, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<int, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> > > >, tsl::ordered_set<int, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<int>, std::__1::deque<int, std::__1::allocator<int> > > >::end() const |
153 | | |
154 | | inline Iterator begin() |
155 | | /// Returns the begin iterator for the Struct |
156 | | { |
157 | | return _data.begin(); |
158 | | } |
159 | | |
160 | | inline ConstIterator begin() const |
161 | | /// Returns the begin const iterator for the Struct |
162 | 0 | { |
163 | 0 | return _data.begin(); |
164 | 0 | } Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::begin() const Unexecuted instantiation: Poco::Dynamic::Struct<int, std::__1::map<int, Poco::Dynamic::Var, std::__1::less<int>, std::__1::allocator<std::__1::pair<int const, Poco::Dynamic::Var> > >, std::__1::set<int, std::__1::less<int>, std::__1::allocator<int> > >::begin() const Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >::begin() const Unexecuted instantiation: Poco::Dynamic::Struct<int, tsl::ordered_map<int, Poco::Dynamic::Var, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<int, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> > > >, tsl::ordered_set<int, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<int>, std::__1::deque<int, std::__1::allocator<int> > > >::begin() const |
165 | | |
166 | | template <typename T> |
167 | | inline InsRetVal insert(const K& key, const T& value) |
168 | | /// Inserts a <name, Var> pair into the Struct, |
169 | | /// returns a pair containing the iterator and a boolean which |
170 | | /// indicates success or not (is true, when insert succeeded, false, |
171 | | /// when already another element was present, in this case Iterator |
172 | | /// points to that other element) |
173 | 0 | { |
174 | | // fix: SunPro C++ is silly ... |
175 | 0 | ValueType valueType(key, value); |
176 | 0 | return insert(valueType); |
177 | 0 | } Unexecuted instantiation: std::__1::pair<std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, void*>*, long> >, bool> Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::insert<Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > const&) Unexecuted instantiation: std::__1::pair<std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, void*>*, long> >, bool> Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::insert<std::__1::vector<Poco::Dynamic::Var, std::__1::allocator<Poco::Dynamic::Var> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<Poco::Dynamic::Var, std::__1::allocator<Poco::Dynamic::Var> > const&) Unexecuted instantiation: std::__1::pair<std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, void*>*, long> >, bool> Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::insert<Poco::Dynamic::Var>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Dynamic::Var const&) Unexecuted instantiation: std::__1::pair<tsl::detail_ordered_hash::ordered_hash<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >::KeySelect, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >::ValueSelect, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >::ordered_iterator<false>, bool> Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >::insert<Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > > const&) Unexecuted instantiation: std::__1::pair<tsl::detail_ordered_hash::ordered_hash<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >::KeySelect, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >::ValueSelect, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >::ordered_iterator<false>, bool> Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >::insert<std::__1::vector<Poco::Dynamic::Var, std::__1::allocator<Poco::Dynamic::Var> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<Poco::Dynamic::Var, std::__1::allocator<Poco::Dynamic::Var> > const&) Unexecuted instantiation: std::__1::pair<tsl::detail_ordered_hash::ordered_hash<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >::KeySelect, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >::ValueSelect, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >::ordered_iterator<false>, bool> Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >::insert<Poco::Dynamic::Var>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Poco::Dynamic::Var const&) |
178 | | |
179 | | inline InsRetVal insert(const ValueType& aPair) |
180 | | /// Inserts a <name, Var> pair into the Struct, |
181 | | /// returns a pair containing the iterator and a boolean which |
182 | | /// indicates success or not (is true, when insert succeeded, false, |
183 | | /// when already another element was present, in this case Iterator |
184 | | /// points to that other element) |
185 | 0 | { |
186 | 0 | return _data.insert(aPair); |
187 | 0 | } Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::insert(std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> const&) Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >::insert(std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> const&) |
188 | | |
189 | | inline SizeType erase(const K& key) |
190 | | /// Erases the element if found, returns number of elements deleted |
191 | | { |
192 | | return _data.erase(key); |
193 | | } |
194 | | |
195 | | inline void erase(Iterator& it) |
196 | | /// Erases the element at the given position |
197 | | { |
198 | | _data.erase(it); |
199 | | } |
200 | | |
201 | | inline void clear() |
202 | | /// Remove all elements from the struct |
203 | 0 | { |
204 | 0 | _data.clear(); |
205 | 0 | } Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::clear() Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >::clear() |
206 | | |
207 | | inline void swap(Struct& other) noexcept |
208 | | /// Swap content of Struct with another Struct |
209 | | { |
210 | | _data.swap(other._data); |
211 | | } |
212 | | |
213 | | inline bool empty() const |
214 | | /// Returns true if the Struct doesn't contain any members |
215 | 0 | { |
216 | 0 | return _data.empty(); |
217 | 0 | } Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::empty() const Unexecuted instantiation: Poco::Dynamic::Struct<int, std::__1::map<int, Poco::Dynamic::Var, std::__1::less<int>, std::__1::allocator<std::__1::pair<int const, Poco::Dynamic::Var> > >, std::__1::set<int, std::__1::less<int>, std::__1::allocator<int> > >::empty() const Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >::empty() const Unexecuted instantiation: Poco::Dynamic::Struct<int, tsl::ordered_map<int, Poco::Dynamic::Var, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<int, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> > > >, tsl::ordered_set<int, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<int>, std::__1::deque<int, std::__1::allocator<int> > > >::empty() const |
218 | | |
219 | | SizeType size() const |
220 | | /// Returns the number of members the Struct contains |
221 | 0 | { |
222 | 0 | return _data.size(); |
223 | 0 | } Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, Poco::Dynamic::Var> > >, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::size() const Unexecuted instantiation: Poco::Dynamic::Struct<int, std::__1::map<int, Poco::Dynamic::Var, std::__1::less<int>, std::__1::allocator<std::__1::pair<int const, Poco::Dynamic::Var> > >, std::__1::set<int, std::__1::less<int>, std::__1::allocator<int> > >::size() const Unexecuted instantiation: Poco::Dynamic::Struct<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, tsl::ordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Poco::Dynamic::Var> > > >, tsl::ordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >::size() const Unexecuted instantiation: Poco::Dynamic::Struct<int, tsl::ordered_map<int, Poco::Dynamic::Var, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> >, std::__1::deque<std::__1::pair<int, Poco::Dynamic::Var>, std::__1::allocator<std::__1::pair<int, Poco::Dynamic::Var> > > >, tsl::ordered_set<int, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<int>, std::__1::deque<int, std::__1::allocator<int> > > >::size() const |
224 | | |
225 | | inline NameSet members() const |
226 | | /// Returns a sorted collection containing all member names |
227 | | { |
228 | | NameSet keys; |
229 | | ConstIterator it = begin(); |
230 | | ConstIterator itEnd = end(); |
231 | | for (; it != itEnd; ++it) keys.insert(it->first); |
232 | | return keys; |
233 | | } |
234 | | |
235 | | inline Var getVar(const K& key) const |
236 | | /// Returns the var value of the element with the given name. |
237 | | /// Throws a NotFoundException if the key does not exist. |
238 | | { |
239 | | ConstIterator it = find(key); |
240 | | if(it == end()) |
241 | | { |
242 | | throw NotFoundException("Key not found in Struct"); |
243 | | } |
244 | | return it->second; |
245 | | } |
246 | | |
247 | | template<typename DefT = Var> |
248 | | inline Var getVar(const K& key, const DefT& defaultValue) const |
249 | | /// Returns the var value of the element with the given name. |
250 | | /// or defaultValue if none is found. |
251 | | { |
252 | | ConstIterator it = find(key); |
253 | | if(it == end()) |
254 | | { |
255 | | return defaultValue; |
256 | | } |
257 | | return it->second; |
258 | | } |
259 | | |
260 | | std::string toString(bool wrap = true) const |
261 | | /// Returns the DynamicStruct as string. |
262 | | /// |
263 | | /// To prevent unwanted string wrapping |
264 | | /// (eg. when a value is JSON string), |
265 | | /// `wrap` should be false. Note, however, |
266 | | /// that wrap argument is of a limited utility |
267 | | /// because it applies to the entire Struct, |
268 | | /// so it should not be relied on when mixed content |
269 | | /// (ie. plain string, which should be wrapped, |
270 | | /// and JSON-as-string entries, which shouldn't) |
271 | | /// is held. |
272 | | { |
273 | | return structToString<Data, ConstIterator>(_data, wrap); |
274 | | } |
275 | | |
276 | | private: |
277 | | template <typename T> |
278 | | void assignMap(const T& map) |
279 | | { |
280 | | typedef typename T::const_iterator MapConstIterator; |
281 | | |
282 | | MapConstIterator it = map.begin(); |
283 | | MapConstIterator end = map.end(); |
284 | | for (; it != end; ++it) _data.insert(ValueType(it->first, Var(it->second))); |
285 | | } |
286 | | |
287 | | Data _data; |
288 | | }; |
289 | | |
290 | | |
291 | | template <> |
292 | | class VarHolderImpl<Struct<std::string, std::map<std::string, Var>, std::set<std::string>>>: public VarHolder |
293 | | { |
294 | | public: |
295 | | typedef std::string KeyType; |
296 | | typedef std::map<KeyType, Var> MapType; |
297 | | typedef std::set<KeyType> SetType; |
298 | | typedef Struct<KeyType, MapType, SetType> ValueType; |
299 | | |
300 | | VarHolderImpl(const ValueType& val): _val(val) |
301 | 0 | { |
302 | 0 | } |
303 | | |
304 | | ~VarHolderImpl() |
305 | 0 | { |
306 | 0 | } |
307 | | |
308 | | const std::type_info& type() const |
309 | 0 | { |
310 | 0 | return typeid(ValueType); |
311 | 0 | } |
312 | | |
313 | | void convert(Int8&) const |
314 | 0 | { |
315 | 0 | throw BadCastException("Cannot cast Struct type to Int8"); |
316 | 0 | } |
317 | | |
318 | | void convert(Int16&) const |
319 | 0 | { |
320 | 0 | throw BadCastException("Cannot cast Struct type to Int16"); |
321 | 0 | } |
322 | | |
323 | | void convert(Int32&) const |
324 | 0 | { |
325 | 0 | throw BadCastException("Cannot cast Struct type to Int32"); |
326 | 0 | } |
327 | | |
328 | | void convert(Int64&) const |
329 | 0 | { |
330 | 0 | throw BadCastException("Cannot cast Struct type to Int64"); |
331 | 0 | } |
332 | | |
333 | | void convert(UInt8&) const |
334 | 0 | { |
335 | 0 | throw BadCastException("Cannot cast Struct type to UInt8"); |
336 | 0 | } |
337 | | |
338 | | void convert(UInt16&) const |
339 | 0 | { |
340 | 0 | throw BadCastException("Cannot cast Struct type to UInt16"); |
341 | 0 | } |
342 | | |
343 | | void convert(UInt32&) const |
344 | 0 | { |
345 | 0 | throw BadCastException("Cannot cast Struct type to UInt32"); |
346 | 0 | } |
347 | | |
348 | | void convert(UInt64&) const |
349 | 0 | { |
350 | 0 | throw BadCastException("Cannot cast Struct type to UInt64"); |
351 | 0 | } |
352 | | |
353 | | void convert(bool&) const |
354 | 0 | { |
355 | 0 | throw BadCastException("Cannot cast Struct type to bool"); |
356 | 0 | } |
357 | | |
358 | | void convert(float&) const |
359 | 0 | { |
360 | 0 | throw BadCastException("Cannot cast Struct type to float"); |
361 | 0 | } |
362 | | |
363 | | void convert(double&) const |
364 | 0 | { |
365 | 0 | throw BadCastException("Cannot cast Struct type to double"); |
366 | 0 | } |
367 | | |
368 | | void convert(char&) const |
369 | 0 | { |
370 | 0 | throw BadCastException("Cannot cast Struct type to char"); |
371 | 0 | } |
372 | | |
373 | | void convert(std::string& val) const |
374 | 0 | { |
375 | 0 | val = structToString(_val); |
376 | 0 | } |
377 | | |
378 | | void convert(Poco::DateTime&) const |
379 | 0 | { |
380 | 0 | throw BadCastException("Struct -> Poco::DateTime"); |
381 | 0 | } |
382 | | |
383 | | void convert(Poco::LocalDateTime&) const |
384 | 0 | { |
385 | 0 | throw BadCastException("Struct -> Poco::LocalDateTime"); |
386 | 0 | } |
387 | | |
388 | | void convert(Poco::Timestamp&) const |
389 | 0 | { |
390 | 0 | throw BadCastException("Struct -> Poco::Timestamp"); |
391 | 0 | } |
392 | | |
393 | | VarHolder* clone(Placeholder<VarHolder>* pVarHolder = 0) const |
394 | 0 | { |
395 | 0 | return cloneHolder(pVarHolder, _val); |
396 | 0 | } |
397 | | |
398 | | const ValueType& value() const |
399 | 0 | { |
400 | 0 | return _val; |
401 | 0 | } |
402 | | |
403 | | bool isArray() const |
404 | 0 | { |
405 | 0 | return false; |
406 | 0 | } |
407 | | |
408 | | bool isStruct() const |
409 | 0 | { |
410 | 0 | return true; |
411 | 0 | } |
412 | | |
413 | | bool isOrdered() const |
414 | 0 | { |
415 | 0 | return false; |
416 | 0 | } |
417 | | |
418 | | bool isInteger() const |
419 | 0 | { |
420 | 0 | return false; |
421 | 0 | } |
422 | | |
423 | | bool isSigned() const |
424 | 0 | { |
425 | 0 | return false; |
426 | 0 | } |
427 | | |
428 | | bool isNumeric() const |
429 | 0 | { |
430 | 0 | return false; |
431 | 0 | } |
432 | | |
433 | | bool isString() const |
434 | 0 | { |
435 | 0 | return false; |
436 | 0 | } |
437 | | |
438 | | std::size_t size() const |
439 | 0 | { |
440 | 0 | return _val.size(); |
441 | 0 | } |
442 | | |
443 | | Var& operator [] (const KeyType& name) |
444 | 0 | { |
445 | 0 | return _val[name]; |
446 | 0 | } |
447 | | |
448 | | const Var& operator [] (const KeyType& name) const |
449 | 0 | { |
450 | 0 | return _val[name]; |
451 | 0 | } |
452 | | |
453 | | private: |
454 | | ValueType _val; |
455 | | }; |
456 | | |
457 | | |
458 | | template <> |
459 | | class VarHolderImpl<Struct<int, std::map<int, Var>, std::set<int>>> : public VarHolder |
460 | | { |
461 | | public: |
462 | | typedef int KeyType; |
463 | | typedef std::map<KeyType, Var> MapType; |
464 | | typedef std::set<KeyType> SetType; |
465 | | typedef Struct<KeyType, MapType, SetType> ValueType; |
466 | | |
467 | | VarHolderImpl(const ValueType& val) : _val(val) |
468 | 0 | { |
469 | 0 | } |
470 | | |
471 | | ~VarHolderImpl() |
472 | 0 | { |
473 | 0 | } |
474 | | |
475 | | const std::type_info& type() const |
476 | 0 | { |
477 | 0 | return typeid(ValueType); |
478 | 0 | } |
479 | | |
480 | | void convert(Int8&) const |
481 | 0 | { |
482 | 0 | throw BadCastException("Cannot cast Struct type to Int8"); |
483 | 0 | } |
484 | | |
485 | | void convert(Int16&) const |
486 | 0 | { |
487 | 0 | throw BadCastException("Cannot cast Struct type to Int16"); |
488 | 0 | } |
489 | | |
490 | | void convert(Int32&) const |
491 | 0 | { |
492 | 0 | throw BadCastException("Cannot cast Struct type to Int32"); |
493 | 0 | } |
494 | | |
495 | | void convert(Int64&) const |
496 | 0 | { |
497 | 0 | throw BadCastException("Cannot cast Struct type to Int64"); |
498 | 0 | } |
499 | | |
500 | | void convert(UInt8&) const |
501 | 0 | { |
502 | 0 | throw BadCastException("Cannot cast Struct type to UInt8"); |
503 | 0 | } |
504 | | |
505 | | void convert(UInt16&) const |
506 | 0 | { |
507 | 0 | throw BadCastException("Cannot cast Struct type to UInt16"); |
508 | 0 | } |
509 | | |
510 | | void convert(UInt32&) const |
511 | 0 | { |
512 | 0 | throw BadCastException("Cannot cast Struct type to UInt32"); |
513 | 0 | } |
514 | | |
515 | | void convert(UInt64&) const |
516 | 0 | { |
517 | 0 | throw BadCastException("Cannot cast Struct type to UInt64"); |
518 | 0 | } |
519 | | |
520 | | void convert(bool&) const |
521 | 0 | { |
522 | 0 | throw BadCastException("Cannot cast Struct type to bool"); |
523 | 0 | } |
524 | | |
525 | | void convert(float&) const |
526 | 0 | { |
527 | 0 | throw BadCastException("Cannot cast Struct type to float"); |
528 | 0 | } |
529 | | |
530 | | void convert(double&) const |
531 | 0 | { |
532 | 0 | throw BadCastException("Cannot cast Struct type to double"); |
533 | 0 | } |
534 | | |
535 | | void convert(char&) const |
536 | 0 | { |
537 | 0 | throw BadCastException("Cannot cast Struct type to char"); |
538 | 0 | } |
539 | | |
540 | | void convert(std::string& val) const |
541 | 0 | { |
542 | 0 | val = structToString(_val); |
543 | 0 | } |
544 | | |
545 | | void convert(Poco::DateTime&) const |
546 | 0 | { |
547 | 0 | throw BadCastException("Struct -> Poco::DateTime"); |
548 | 0 | } |
549 | | |
550 | | void convert(Poco::LocalDateTime&) const |
551 | 0 | { |
552 | 0 | throw BadCastException("Struct -> Poco::LocalDateTime"); |
553 | 0 | } |
554 | | |
555 | | void convert(Poco::Timestamp&) const |
556 | 0 | { |
557 | 0 | throw BadCastException("Struct -> Poco::Timestamp"); |
558 | 0 | } |
559 | | |
560 | | VarHolder* clone(Placeholder<VarHolder>* pVarHolder = 0) const |
561 | 0 | { |
562 | 0 | return cloneHolder(pVarHolder, _val); |
563 | 0 | } |
564 | | |
565 | | const ValueType& value() const |
566 | 0 | { |
567 | 0 | return _val; |
568 | 0 | } |
569 | | |
570 | | bool isArray() const |
571 | 0 | { |
572 | 0 | return false; |
573 | 0 | } |
574 | | |
575 | | bool isStruct() const |
576 | 0 | { |
577 | 0 | return true; |
578 | 0 | } |
579 | | |
580 | | bool isOrdered() const |
581 | 0 | { |
582 | 0 | return false; |
583 | 0 | } |
584 | | |
585 | | bool isInteger() const |
586 | 0 | { |
587 | 0 | return false; |
588 | 0 | } |
589 | | |
590 | | bool isSigned() const |
591 | 0 | { |
592 | 0 | return false; |
593 | 0 | } |
594 | | |
595 | | bool isNumeric() const |
596 | 0 | { |
597 | 0 | return false; |
598 | 0 | } |
599 | | |
600 | | bool isString() const |
601 | 0 | { |
602 | 0 | return false; |
603 | 0 | } |
604 | | |
605 | | std::size_t size() const |
606 | 0 | { |
607 | 0 | return _val.size(); |
608 | 0 | } |
609 | | |
610 | | Var& operator [] (const KeyType& name) |
611 | 0 | { |
612 | 0 | return _val[name]; |
613 | 0 | } |
614 | | |
615 | | const Var& operator [] (const KeyType& name) const |
616 | 0 | { |
617 | 0 | return _val[name]; |
618 | 0 | } |
619 | | |
620 | | private: |
621 | | ValueType _val; |
622 | | }; |
623 | | |
624 | | |
625 | | template <> |
626 | | class VarHolderImpl<Struct<std::string, Poco::OrderedMap<std::string, Var>, Poco::OrderedSet<std::string>>> : public VarHolder |
627 | | { |
628 | | public: |
629 | | typedef std::string KeyType; |
630 | | typedef Poco::OrderedMap<KeyType, Var> MapType; |
631 | | typedef Poco::OrderedSet<KeyType> SetType; |
632 | | typedef Struct<KeyType, MapType, SetType> ValueType; |
633 | | |
634 | | VarHolderImpl(const ValueType& val) : _val(val) |
635 | 0 | { |
636 | 0 | } |
637 | | |
638 | | ~VarHolderImpl() |
639 | 0 | { |
640 | 0 | } |
641 | | |
642 | | const std::type_info& type() const |
643 | 0 | { |
644 | 0 | return typeid(ValueType); |
645 | 0 | } |
646 | | |
647 | | void convert(Int8&) const |
648 | 0 | { |
649 | 0 | throw BadCastException("Cannot cast Struct type to Int8"); |
650 | 0 | } |
651 | | |
652 | | void convert(Int16&) const |
653 | 0 | { |
654 | 0 | throw BadCastException("Cannot cast Struct type to Int16"); |
655 | 0 | } |
656 | | |
657 | | void convert(Int32&) const |
658 | 0 | { |
659 | 0 | throw BadCastException("Cannot cast Struct type to Int32"); |
660 | 0 | } |
661 | | |
662 | | void convert(Int64&) const |
663 | 0 | { |
664 | 0 | throw BadCastException("Cannot cast Struct type to Int64"); |
665 | 0 | } |
666 | | |
667 | | void convert(UInt8&) const |
668 | 0 | { |
669 | 0 | throw BadCastException("Cannot cast Struct type to UInt8"); |
670 | 0 | } |
671 | | |
672 | | void convert(UInt16&) const |
673 | 0 | { |
674 | 0 | throw BadCastException("Cannot cast Struct type to UInt16"); |
675 | 0 | } |
676 | | |
677 | | void convert(UInt32&) const |
678 | 0 | { |
679 | 0 | throw BadCastException("Cannot cast Struct type to UInt32"); |
680 | 0 | } |
681 | | |
682 | | void convert(UInt64&) const |
683 | 0 | { |
684 | 0 | throw BadCastException("Cannot cast Struct type to UInt64"); |
685 | 0 | } |
686 | | |
687 | | void convert(bool&) const |
688 | 0 | { |
689 | 0 | throw BadCastException("Cannot cast Struct type to bool"); |
690 | 0 | } |
691 | | |
692 | | void convert(float&) const |
693 | 0 | { |
694 | 0 | throw BadCastException("Cannot cast Struct type to float"); |
695 | 0 | } |
696 | | |
697 | | void convert(double&) const |
698 | 0 | { |
699 | 0 | throw BadCastException("Cannot cast Struct type to double"); |
700 | 0 | } |
701 | | |
702 | | void convert(char&) const |
703 | 0 | { |
704 | 0 | throw BadCastException("Cannot cast Struct type to char"); |
705 | 0 | } |
706 | | |
707 | | void convert(std::string& val) const |
708 | 0 | { |
709 | 0 | val = structToString(_val); |
710 | 0 | } |
711 | | |
712 | | void convert(Poco::DateTime&) const |
713 | 0 | { |
714 | 0 | throw BadCastException("Struct -> Poco::DateTime"); |
715 | 0 | } |
716 | | |
717 | | void convert(Poco::LocalDateTime&) const |
718 | 0 | { |
719 | 0 | throw BadCastException("Struct -> Poco::LocalDateTime"); |
720 | 0 | } |
721 | | |
722 | | void convert(Poco::Timestamp&) const |
723 | 0 | { |
724 | 0 | throw BadCastException("Struct -> Poco::Timestamp"); |
725 | 0 | } |
726 | | |
727 | | VarHolder* clone(Placeholder<VarHolder>* pVarHolder = 0) const |
728 | 0 | { |
729 | 0 | return cloneHolder(pVarHolder, _val); |
730 | 0 | } |
731 | | |
732 | | const ValueType& value() const |
733 | 0 | { |
734 | 0 | return _val; |
735 | 0 | } |
736 | | |
737 | | bool isArray() const |
738 | 0 | { |
739 | 0 | return false; |
740 | 0 | } |
741 | | |
742 | | bool isStruct() const |
743 | 0 | { |
744 | 0 | return true; |
745 | 0 | } |
746 | | |
747 | | bool isOrdered() const |
748 | 0 | { |
749 | 0 | return true; |
750 | 0 | } |
751 | | |
752 | | bool isInteger() const |
753 | 0 | { |
754 | 0 | return false; |
755 | 0 | } |
756 | | |
757 | | bool isSigned() const |
758 | 0 | { |
759 | 0 | return false; |
760 | 0 | } |
761 | | |
762 | | bool isNumeric() const |
763 | 0 | { |
764 | 0 | return false; |
765 | 0 | } |
766 | | |
767 | | bool isString() const |
768 | 0 | { |
769 | 0 | return false; |
770 | 0 | } |
771 | | |
772 | | std::size_t size() const |
773 | 0 | { |
774 | 0 | return _val.size(); |
775 | 0 | } |
776 | | |
777 | | Var& operator [] (const KeyType& name) |
778 | 0 | { |
779 | 0 | return _val[name]; |
780 | 0 | } |
781 | | |
782 | | const Var& operator [] (const KeyType& name) const |
783 | 0 | { |
784 | 0 | return _val[name]; |
785 | 0 | } |
786 | | |
787 | | private: |
788 | | ValueType _val; |
789 | | }; |
790 | | |
791 | | |
792 | | template <> |
793 | | class VarHolderImpl<Struct<int, Poco::OrderedMap<int, Var>, Poco::OrderedSet<int>>> : public VarHolder |
794 | | { |
795 | | public: |
796 | | typedef int KeyType; |
797 | | typedef Poco::OrderedMap<KeyType, Var> MapType; |
798 | | typedef Poco::OrderedSet<KeyType> SetType; |
799 | | typedef Struct<KeyType, MapType, SetType> ValueType; |
800 | | |
801 | | VarHolderImpl(const ValueType& val) : _val(val) |
802 | 0 | { |
803 | 0 | } |
804 | | |
805 | | ~VarHolderImpl() |
806 | 0 | { |
807 | 0 | } |
808 | | |
809 | | const std::type_info& type() const |
810 | 0 | { |
811 | 0 | return typeid(ValueType); |
812 | 0 | } |
813 | | |
814 | | void convert(Int8&) const |
815 | 0 | { |
816 | 0 | throw BadCastException("Cannot cast Struct type to Int8"); |
817 | 0 | } |
818 | | |
819 | | void convert(Int16&) const |
820 | 0 | { |
821 | 0 | throw BadCastException("Cannot cast Struct type to Int16"); |
822 | 0 | } |
823 | | |
824 | | void convert(Int32&) const |
825 | 0 | { |
826 | 0 | throw BadCastException("Cannot cast Struct type to Int32"); |
827 | 0 | } |
828 | | |
829 | | void convert(Int64&) const |
830 | 0 | { |
831 | 0 | throw BadCastException("Cannot cast Struct type to Int64"); |
832 | 0 | } |
833 | | |
834 | | void convert(UInt8&) const |
835 | 0 | { |
836 | 0 | throw BadCastException("Cannot cast Struct type to UInt8"); |
837 | 0 | } |
838 | | |
839 | | void convert(UInt16&) const |
840 | 0 | { |
841 | 0 | throw BadCastException("Cannot cast Struct type to UInt16"); |
842 | 0 | } |
843 | | |
844 | | void convert(UInt32&) const |
845 | 0 | { |
846 | 0 | throw BadCastException("Cannot cast Struct type to UInt32"); |
847 | 0 | } |
848 | | |
849 | | void convert(UInt64&) const |
850 | 0 | { |
851 | 0 | throw BadCastException("Cannot cast Struct type to UInt64"); |
852 | 0 | } |
853 | | |
854 | | void convert(bool&) const |
855 | 0 | { |
856 | 0 | throw BadCastException("Cannot cast Struct type to bool"); |
857 | 0 | } |
858 | | |
859 | | void convert(float&) const |
860 | 0 | { |
861 | 0 | throw BadCastException("Cannot cast Struct type to float"); |
862 | 0 | } |
863 | | |
864 | | void convert(double&) const |
865 | 0 | { |
866 | 0 | throw BadCastException("Cannot cast Struct type to double"); |
867 | 0 | } |
868 | | |
869 | | void convert(char&) const |
870 | 0 | { |
871 | 0 | throw BadCastException("Cannot cast Struct type to char"); |
872 | 0 | } |
873 | | |
874 | | void convert(std::string& val) const |
875 | 0 | { |
876 | 0 | val = structToString(_val); |
877 | 0 | } |
878 | | |
879 | | void convert(Poco::DateTime&) const |
880 | 0 | { |
881 | 0 | throw BadCastException("Struct -> Poco::DateTime"); |
882 | 0 | } |
883 | | |
884 | | void convert(Poco::LocalDateTime&) const |
885 | 0 | { |
886 | 0 | throw BadCastException("Struct -> Poco::LocalDateTime"); |
887 | 0 | } |
888 | | |
889 | | void convert(Poco::Timestamp&) const |
890 | 0 | { |
891 | 0 | throw BadCastException("Struct -> Poco::Timestamp"); |
892 | 0 | } |
893 | | |
894 | | VarHolder* clone(Placeholder<VarHolder>* pVarHolder = 0) const |
895 | 0 | { |
896 | 0 | return cloneHolder(pVarHolder, _val); |
897 | 0 | } |
898 | | |
899 | | const ValueType& value() const |
900 | 0 | { |
901 | 0 | return _val; |
902 | 0 | } |
903 | | |
904 | | bool isArray() const |
905 | 0 | { |
906 | 0 | return false; |
907 | 0 | } |
908 | | |
909 | | bool isStruct() const |
910 | 0 | { |
911 | 0 | return true; |
912 | 0 | } |
913 | | |
914 | | bool isOrdered() const |
915 | 0 | { |
916 | 0 | return true; |
917 | 0 | } |
918 | | |
919 | | bool isInteger() const |
920 | 0 | { |
921 | 0 | return false; |
922 | 0 | } |
923 | | |
924 | | bool isSigned() const |
925 | 0 | { |
926 | 0 | return false; |
927 | 0 | } |
928 | | |
929 | | bool isNumeric() const |
930 | 0 | { |
931 | 0 | return false; |
932 | 0 | } |
933 | | |
934 | | bool isString() const |
935 | 0 | { |
936 | 0 | return false; |
937 | 0 | } |
938 | | |
939 | | std::size_t size() const |
940 | 0 | { |
941 | 0 | return _val.size(); |
942 | 0 | } |
943 | | |
944 | | Var& operator [] (const KeyType& name) |
945 | 0 | { |
946 | 0 | return _val[name]; |
947 | 0 | } |
948 | | |
949 | | const Var& operator [] (const KeyType& name) const |
950 | 0 | { |
951 | 0 | return _val[name]; |
952 | 0 | } |
953 | | |
954 | | private: |
955 | | ValueType _val; |
956 | | }; |
957 | | |
958 | | |
959 | | } // namespace Dynamic |
960 | | |
961 | | |
962 | | typedef Dynamic::Struct<std::string> DynamicStruct; |
963 | | typedef Dynamic::Struct<std::string, Poco::OrderedMap<std::string, Dynamic::Var>, Poco::OrderedSet<std::string>> OrderedDynamicStruct; |
964 | | |
965 | | |
966 | | } // namespace Poco |
967 | | |
968 | | |
969 | | #endif // Foundation_Struct_INCLUDED |