Teuchos - Trilinos Tools Package
Version of the Day
|
String indexed ordered value-type object container class. More...
#include <Teuchos_StringIndexedOrderedValueObjectContainer.hpp>
Public Types | |
Public types. | |
typedef StringIndexedOrderedValueObjectContainerBase::Ordinal | Ordinal |
Ordinal used for the index. More... | |
typedef FilteredIterator< typename key_and_obj_array_t::iterator, SelectActive< ObjType > > | Iterator |
The non-const iterator type. More... | |
typedef FilteredIterator< typename key_and_obj_array_t::const_iterator, SelectActive< ObjType > > | ConstIterator |
The const iterator type. More... | |
Public Member Functions | |
Constructors/Destructors/Info | |
StringIndexedOrderedValueObjectContainer () | |
Ordinal | numObjects () const |
Ordinal | numStorage () const |
Set, get, and remove functions | |
Ordinal | setObj (const std::string &key, const ObjType &obj) |
Set (or reset) object by value and return its ordinal index. More... | |
Ordinal | getObjOrdinalIndex (const std::string &key) const |
Get the ordinal index given the string key. More... | |
Ptr< ObjType > | getNonconstObjPtr (const Ordinal &idx) |
Get a nonconst semi-persisting association with the stored object indexed by ordinal. More... | |
Ptr< const ObjType > | getObjPtr (const Ordinal &idx) const |
Get a const semi-persisting association with the stored object indexed by ordinal. More... | |
Ptr< ObjType > | getNonconstObjPtr (const std::string &key) |
Get a nonconst semi-persisting association with the stored object indexed by string key. More... | |
Ptr< const ObjType > | getObjPtr (const std::string &key) const |
Get a const semi-persisting association with the stored object indexed by string key. More... | |
void | removeObj (const Ordinal &idx) |
Remove an object given its ordinal index. More... | |
void | removeObj (const std::string &key) |
Remove an object given its string key. More... | |
Iterator access | |
Iterator | nonconstBegin () |
Iterator | nonconstEnd () |
ConstIterator | begin () const |
ConstIterator | end () const |
String indexed ordered value-type object container class.
This class is a simple utility class for managing the storage and retrievel of value-type objects which the following features/properties:
The design of this class comes with a few important limitations:
Definition at line 178 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
typedef StringIndexedOrderedValueObjectContainerBase::Ordinal Teuchos::StringIndexedOrderedValueObjectContainer< ObjType >::Ordinal |
Ordinal used for the index.
Definition at line 196 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
typedef FilteredIterator<typename key_and_obj_array_t::iterator, SelectActive<ObjType> > Teuchos::StringIndexedOrderedValueObjectContainer< ObjType >::Iterator |
The non-const iterator type.
Definition at line 200 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
typedef FilteredIterator<typename key_and_obj_array_t::const_iterator, SelectActive<ObjType> > Teuchos::StringIndexedOrderedValueObjectContainer< ObjType >::ConstIterator |
The const iterator type.
Definition at line 204 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
Teuchos::StringIndexedOrderedValueObjectContainer< ObjType >::StringIndexedOrderedValueObjectContainer | ( | ) |
Definition at line 436 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
StringIndexedOrderedValueObjectContainer< ObjType >::Ordinal Teuchos::StringIndexedOrderedValueObjectContainer< ObjType >::numObjects | ( | ) | const |
Definition at line 442 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
StringIndexedOrderedValueObjectContainer< ObjType >::Ordinal Teuchos::StringIndexedOrderedValueObjectContainer< ObjType >::numStorage | ( | ) | const |
Definition at line 450 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
StringIndexedOrderedValueObjectContainer< ObjType >::Ordinal Teuchos::StringIndexedOrderedValueObjectContainer< ObjType >::setObj | ( | const std::string & | key, |
const ObjType & | obj | ||
) |
Set (or reset) object by value and return its ordinal index.
If the object with the given key index does not exist, it will be added. If an object with the given key does not exist, it will be created.
Definition at line 474 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
|
inline |
Get the ordinal index given the string key.
If the key does not exist, then getInvalidOrdinal() is returned.
Definition at line 462 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
|
inline |
Get a nonconst semi-persisting association with the stored object indexed by ordinal.
Definition at line 351 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
|
inline |
Get a const semi-persisting association with the stored object indexed by ordinal.
Definition at line 360 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
|
inline |
Get a nonconst semi-persisting association with the stored object indexed by string key.
Definition at line 369 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
|
inline |
Get a const semi-persisting association with the stored object indexed by string key.
Definition at line 378 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
void Teuchos::StringIndexedOrderedValueObjectContainer< ObjType >::removeObj | ( | const Ordinal & | idx | ) |
Remove an object given its ordinal index.
Each object is errased by assigning to a default-constructed ObjType(). This, for example, will wipe out the reference count for a smart pointer class or will unsize an array, etc..
Definition at line 493 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
void Teuchos::StringIndexedOrderedValueObjectContainer< ObjType >::removeObj | ( | const std::string & | key | ) |
Remove an object given its string key.
Definition at line 502 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
|
inline |
Definition at line 390 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
|
inline |
Definition at line 400 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
|
inline |
Definition at line 410 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.
|
inline |
Definition at line 420 of file Teuchos_StringIndexedOrderedValueObjectContainer.hpp.