|
template<typename K , typename T , typename C > |
void | utility::keys::swap (ClassKeyVector< K, T, C > &a, ClassKeyVector< K, T, C > &b) |
| swap( ClassKeyVector, ClassKeyVector ) More...
|
|
template<typename K , typename T , typename C > |
bool | utility::keys::operator== (ClassKeyVector< K, T, C > const &a, ClassKeyVector< K, T, C > const &b) |
| ClassKeyVector == ClassKeyVector. More...
|
|
template<typename K , typename T , typename C > |
bool | utility::keys::operator!= (ClassKeyVector< K, T, C > const &a, ClassKeyVector< K, T, C > const &b) |
| ClassKeyVector != ClassKeyVector. More...
|
|
template<typename K , typename T , typename C > |
bool | utility::keys::operator< (ClassKeyVector< K, T, C > const &a, ClassKeyVector< K, T, C > const &b) |
| ClassKeyVector < ClassKeyVector. More...
|
|
template<typename K , typename T , typename C > |
bool | utility::keys::operator> (ClassKeyVector< K, T, C > const &a, ClassKeyVector< K, T, C > const &b) |
| ClassKeyVector > ClassKeyVector. More...
|
|
template<typename K , typename T , typename C > |
bool | utility::keys::operator<= (ClassKeyVector< K, T, C > const &a, ClassKeyVector< K, T, C > const &b) |
| ClassKeyVector <= ClassKeyVector. More...
|
|
template<typename K , typename T , typename C > |
bool | utility::keys::operator>= (ClassKeyVector< K, T, C > const &a, ClassKeyVector< K, T, C > const &b) |
| ClassKeyVector >= ClassKeyVector. More...
|
|
template<typename K , typename T , typename C > |
void | std::swap (utility::keys::ClassKeyVector< K, T, C > &a, utility::keys::ClassKeyVector< K, T, C > &b) |
| swap( ClassKeyVector, ClassKeyVector ) More...
|
|
Keyed-access vector with key subset map for each client class.
- Author
- Stuart G. Mentzer (Stuar.nosp@m.t_Me.nosp@m.ntzer.nosp@m.@obj.nosp@m.exx.c.nosp@m.om)
- Note
- Key can be any type that is convertible to the index map's index type
- The Key type should not be the same as Index or you'll get an operator[] ambiguity
- If a utility Key subtype is used it must declare the ClassKeyVector as a friend
- Keys are added to map by assign(), operator(), add(), and activate()
- Keys can be added to map out of order
- Client (C) parameter => Distinct type per client
- Static index map => Client vectors share key set
- Can create elements and then assign keys or vice versa: At any time you Can have a vector with more or fewer elements than there are active keys