27 #ifndef _CEGUINamedDefinitionCollator_h_ 28 #define _CEGUINamedDefinitionCollator_h_ 30 #include "CEGUI/Base.h" 35 # pragma warning(push) 36 # pragma warning(disable : 4251) 46 template<
typename K,
typename V>
47 class NamedDefinitionCollator
54 {
return d_values.size(); }
58 {
return d_values.at(idx).second; }
61 const V&
at(
size_t idx)
const 62 {
return d_values.at(idx).second; }
70 void set(
const K& key,
const V& val)
72 typename ValueArray::iterator i =
73 std::find_if(d_values.begin(), d_values.end(), pred(key));
75 if (i != d_values.end())
78 d_values.push_back(std::make_pair(key, val));
82 typedef std::pair<K, V> Entry;
83 typedef std::vector<Entry CEGUI_VECTOR_ALLOC(Entry)> ValueArray;
88 pred(
const K& k) : d_k(k) {}
89 bool operator()(
const Entry& e)
90 {
return e.first == d_k; }
102 const_iterator(
typename ValueArray::const_iterator i) :
105 const_iterator(
const const_iterator& iter) :
106 d_iter(iter.d_iter) {}
111 const V& operator*()
const 112 {
return d_iter->second; }
114 const V* operator->()
const 117 bool operator==(
const const_iterator& iter)
const 118 {
return d_iter == iter.d_iter; }
120 bool operator!=(
const const_iterator& iter)
const 123 const_iterator& operator++()
129 const_iterator& operator++(
int)
131 const_iterator& tmp = *
this;
136 const_iterator& operator--()
142 const_iterator& operator--(
int)
144 const_iterator& tmp = *
this;
149 const_iterator& operator=(
const const_iterator& iter)
151 d_iter = iter.d_iter;
156 typename ValueArray::const_iterator d_iter;
159 const_iterator begin()
const 160 {
return const_iterator(d_values.begin()); }
162 const_iterator end()
const 163 {
return const_iterator(d_values.end()); }
165 const_iterator find(
const K& key)
const 167 return const_iterator(std::find_if(d_values.begin(),
176 #if defined(_MSC_VER) 177 # pragma warning(pop) size_t size() const
Return total number of values in the collection.
Definition: debian/tmp/usr/include/cegui-0.8.7/CEGUI/falagard/NamedDefinitionCollator.h:53
V & at(size_t idx)
return reference to value at given index.
Definition: debian/tmp/usr/include/cegui-0.8.7/CEGUI/falagard/NamedDefinitionCollator.h:57
bool CEGUIEXPORT operator==(const String &str1, const String &str2)
Return true if String str1 is equal to String str2.
Definition: cegui/src/String.cpp:150
Main namespace for Crazy Eddie's GUI Library.
Definition: cegui/include/CEGUI/Affector.h:42
bool CEGUIEXPORT operator!=(const String &str1, const String &str2)
Return true if String str1 is not equal to String str2.
Definition: cegui/src/String.cpp:176
const V & at(size_t idx) const
return const reference to value at given index.
Definition: debian/tmp/usr/include/cegui-0.8.7/CEGUI/falagard/NamedDefinitionCollator.h:61