KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
PointerVector is a container like stl vector but using a vector to store pointers to its data. More...
#include <pointer_vector.h>
Public Member Functions | |
Life Cycle | |
PointerVector () | |
Default constructor. More... | |
template<class TInputIteratorType > | |
PointerVector (TInputIteratorType First, TInputIteratorType Last) | |
PointerVector (const PointerVector &rOther) | |
PointerVector (const TContainerType &rContainer) | |
PointerVector (std::size_t NewSize) | |
~PointerVector () | |
Destructor. More... | |
Operators | |
PointerVector & | operator= (const PointerVector &rOther) |
TDataType & | operator[] (const size_type &i) |
TDataType const & | operator[] (const size_type &i) const |
pointer & | operator() (const size_type &i) |
const_pointer & | operator() (const size_type &i) const |
bool | operator== (const PointerVector &r) const |
Operations | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
ptr_iterator | ptr_begin () |
ptr_const_iterator | ptr_begin () const |
ptr_iterator | ptr_end () |
ptr_const_iterator | ptr_end () const |
ptr_reverse_iterator | ptr_rbegin () |
ptr_const_reverse_iterator | ptr_rbegin () const |
ptr_reverse_iterator | ptr_rend () |
ptr_const_reverse_iterator | ptr_rend () const |
reference | front () |
const_reference | front () const |
reference | back () |
const_reference | back () const |
size_type | size () const |
size_type | max_size () const |
void | swap (PointerVector &rOther) |
void | push_back (const TPointerType &x) |
void | push_back (TPointerType &&rX) |
template<class... Args> | |
void | emplace_back (Args &&... args) |
iterator | insert (iterator Position, const TPointerType pData) |
template<class InputIterator > | |
void | insert (InputIterator First, InputIterator Last) |
iterator | erase (iterator pos) |
iterator | erase (iterator first, iterator last) |
void | clear () |
void | resize (size_type dim) |
void | reserve (size_type dim) |
int | capacity () |
Access | |
TContainerType & | GetContainer () |
const TContainerType & | GetContainer () const |
Inquiry | |
bool | empty () const |
Input and output | |
std::string | Info () const |
Turn back information as a string. More... | |
void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
Type Definitions | |
typedef TDataType | data_type |
data type stores in this container. More... | |
typedef TDataType | value_type |
typedef TPointerType | pointer |
typedef const TPointerType | const_pointer |
typedef TDataType & | reference |
typedef const TDataType & | const_reference |
typedef TContainerType | ContainerType |
typedef boost::indirect_iterator< typename TContainerType::iterator > | iterator |
typedef boost::indirect_iterator< typename TContainerType::const_iterator > | const_iterator |
typedef boost::indirect_iterator< typename TContainerType::reverse_iterator > | reverse_iterator |
typedef boost::indirect_iterator< typename TContainerType::const_reverse_iterator > | const_reverse_iterator |
typedef TContainerType::size_type | size_type |
typedef TContainerType::iterator | ptr_iterator |
typedef TContainerType::const_iterator | ptr_const_iterator |
typedef TContainerType::reverse_iterator | ptr_reverse_iterator |
typedef TContainerType::const_reverse_iterator | ptr_const_reverse_iterator |
typedef TContainerType::difference_type | difference_type |
KRATOS_CLASS_POINTER_DEFINITION (PointerVector) | |
Pointer definition of PointerVector. More... | |
Serialization | |
class | Serializer |
PointerVector is a container like stl vector but using a vector to store pointers to its data.
PointerVector is a container like stl vector but using a vector to store pointers its data. Many methods are copied from boost ptr_container library. There is modification to make it capable to work with shared pointers.
This Container unlike the boost one does not free the memory by itself and relies on using of counted pointers or manual deleting.
typedef boost::indirect_iterator<typename TContainerType::const_iterator> Kratos::PointerVector< TDataType, TPointerType, TContainerType >::const_iterator |
typedef const TPointerType Kratos::PointerVector< TDataType, TPointerType, TContainerType >::const_pointer |
typedef const TDataType& Kratos::PointerVector< TDataType, TPointerType, TContainerType >::const_reference |
typedef boost::indirect_iterator<typename TContainerType::const_reverse_iterator> Kratos::PointerVector< TDataType, TPointerType, TContainerType >::const_reverse_iterator |
typedef TContainerType Kratos::PointerVector< TDataType, TPointerType, TContainerType >::ContainerType |
typedef TDataType Kratos::PointerVector< TDataType, TPointerType, TContainerType >::data_type |
data type stores in this container.
typedef TContainerType::difference_type Kratos::PointerVector< TDataType, TPointerType, TContainerType >::difference_type |
typedef boost::indirect_iterator<typename TContainerType::iterator> Kratos::PointerVector< TDataType, TPointerType, TContainerType >::iterator |
typedef TPointerType Kratos::PointerVector< TDataType, TPointerType, TContainerType >::pointer |
typedef TContainerType::const_iterator Kratos::PointerVector< TDataType, TPointerType, TContainerType >::ptr_const_iterator |
typedef TContainerType::const_reverse_iterator Kratos::PointerVector< TDataType, TPointerType, TContainerType >::ptr_const_reverse_iterator |
typedef TContainerType::iterator Kratos::PointerVector< TDataType, TPointerType, TContainerType >::ptr_iterator |
typedef TContainerType::reverse_iterator Kratos::PointerVector< TDataType, TPointerType, TContainerType >::ptr_reverse_iterator |
typedef TDataType& Kratos::PointerVector< TDataType, TPointerType, TContainerType >::reference |
typedef boost::indirect_iterator<typename TContainerType::reverse_iterator> Kratos::PointerVector< TDataType, TPointerType, TContainerType >::reverse_iterator |
typedef TContainerType::size_type Kratos::PointerVector< TDataType, TPointerType, TContainerType >::size_type |
typedef TDataType Kratos::PointerVector< TDataType, TPointerType, TContainerType >::value_type |
|
inline |
Default constructor.
|
inline |
|
inline |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
Destructor.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Gives a reference to underly normal container.
|
inline |
Gives a constant reference to underly normal container.
|
inline |
Turn back information as a string.
|
inline |
|
inline |
Kratos::PointerVector< TDataType, TPointerType, TContainerType >::KRATOS_CLASS_POINTER_DEFINITION | ( | PointerVector< TDataType, TPointerType, TContainerType > | ) |
Pointer definition of PointerVector.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Print object's data.
|
inline |
Print information about this object.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |