Rosetta
Public Types | Public Member Functions | Private Types | List of all members
utility::vector0< T, A > Class Template Reference

std::vector with assert-checked bounds More...

#include <vector0.hh>

Inheritance diagram for utility::vector0< T, A >:
Inheritance graph
[legend]

Public Types

typedef super::value_type value_type
 
typedef super::reference reference
 
typedef super::const_reference const_reference
 
typedef super::pointer pointer
 
typedef super::const_pointer const_pointer
 
typedef super::iterator iterator
 
typedef super::const_iterator const_iterator
 
typedef super::reverse_iterator reverse_iterator
 
typedef super::const_reverse_iterator const_reverse_iterator
 
typedef super::size_type size_type
 
typedef super::difference_type difference_type
 
typedef super::allocator_type allocator_type
 
typedef super::index_type index_type
 
typedef super::ssize_type ssize_type
 
typedef super::Value Value
 
typedef super::Reference Reference
 
typedef super::ConstReference ConstReference
 
typedef super::Pointer Pointer
 
typedef super::ConstPointer ConstPointer
 
typedef super::Iterator Iterator
 
typedef super::ConstIterator ConstIterator
 
typedef super::ReverseIterator ReverseIterator
 
typedef super::ConstReverseIterator ConstReverseIterator
 
typedef super::Size Size
 
typedef super::Difference Difference
 
typedef super::Allocator Allocator
 
typedef super::Index Index
 
typedef super::SSize SSize
 
- Public Types inherited from utility::vectorL< 0, T, A >
typedef super::value_type value_type
 
typedef super::reference reference
 
typedef super::const_reference const_reference
 
typedef super::pointer pointer
 
typedef super::const_pointer const_pointer
 
typedef super::iterator iterator
 
typedef super::const_iterator const_iterator
 
typedef super::reverse_iterator reverse_iterator
 
typedef super::const_reverse_iterator const_reverse_iterator
 
typedef super::size_type size_type
 
typedef super::difference_type difference_type
 
typedef super::allocator_type allocator_type
 
typedef ::platform::SSize ssize_type
 
typedef super::value_type Value
 
typedef super::reference Reference
 
typedef super::const_reference ConstReference
 
typedef super::pointer Pointer
 
typedef super::const_pointer ConstPointer
 
typedef super::iterator Iterator
 
typedef super::const_iterator ConstIterator
 
typedef super::reverse_iterator ReverseIterator
 
typedef super::const_reverse_iterator ConstReverseIterator
 
typedef ::platform::Size Size
 
typedef super::difference_type Difference
 
typedef super::allocator_type Allocator
 
typedef ::platform::SSize SSize
 

Public Member Functions

 vector0 (allocator_type const &alloc=allocator_type())
 Default constructor. More...
 
 vector0 (vector0 const &v)
 Copy constructor. More...
 
template<ssize_type L_, typename T_ , typename A_ >
 vector0 (vectorL< L_, T_, A_ > const &v)
 Assignable copy constructor. More...
 
 vector0 (super const &v)
 std::vector constructor More...
 
template<typename T_ , typename A_ >
 vector0 (std::vector< T_, A_ > const &v)
 Assignable std::vector constructor. More...
 
 vector0 (size_type num)
 Size constructor. More...
 
 vector0 (size_type num, value_type const &value, allocator_type const &alloc=allocator_type())
 Uniform value constructor. More...
 
template<typename InputIterator >
 vector0 (InputIterator const beg, InputIterator const ending, allocator_type const &alloc=allocator_type())
 Iterator range constructor. More...
 
 vector0 (vector0 &&v)
 C++11 Move constructor. More...
 
 vector0 (super &&v)
 C++11 vectorL move constructor. More...
 
 vector0 (std::initializer_list< T > init, const A &alloc=A())
 C++11 initializer list constructor. More...
 
 ~vector0 () override=default
 Destructor. More...
 
vector0operator= (vector0 const &v)
 Copy assignment. More...
 
template<ssize_type L_, typename T_ , typename A_ >
vector0operator= (vectorL< L_, T_, A_ > const &v)
 Assignable copy assignment. More...
 
vector0operator= (super const &v)
 std::vector assignment More...
 
template<typename T_ , typename A_ >
vector0operator= (std::vector< T_, A_ > const &v)
 Assignable std::vector assignment. More...
 
- Public Member Functions inherited from utility::vectorL< 0, T, A >
 vectorL (allocator_type const &alloc=allocator_type())
 Default constructor. More...
 
 vectorL (vectorL const &v)
 Copy constructor. More...
 
 vectorL (vectorL< L_, T_, A_ > const &v)
 Assignable copy constructor. More...
 
 vectorL (super const &v)
 std::vector constructor More...
 
 vectorL (std::vector< T_, A_ > const &v)
 Assignable std::vector constructor. More...
 
 vectorL (size_type const num)
 Size constructor. More...
 
 vectorL (size_type const num, value_type const &value, allocator_type const &alloc=allocator_type())
 Uniform value constructor. More...
 
 vectorL (InputIterator const beg, InputIterator const ending, allocator_type const &alloc=allocator_type())
 Iterator range constructor. More...
 
 vectorL (vectorL &&v)
 C++11 Move constructor. More...
 
 vectorL (super &&v)
 C++11 std::vector move constructor. More...
 
 vectorL (std::initializer_list< T > init, const A &alloc=A())
 C++11 initializer list constructor. More...
 
virtual ~vectorL ()=default
 Destructor. More...
 
vectorLoperator= (vectorL const &v)
 Copy assignment. More...
 
vectorLoperator= (vectorL< L_, T_, A_ > const &v)
 Assignable copy assignment. More...
 
vectorLoperator= (super const &v)
 std::vector assignment More...
 
vectorLoperator= (std::vector< T_, A_ > const &v)
 Assignable std::vector assignment. More...
 
super const & vector () const
 std::vector const explicit conversion More...
 
supervector ()
 std::vector explicit conversion More...
 
vectorLappend (vectorL const &v)
 Append another vectorL to the back of the vector. More...
 
vectorLadd_back (T const &t)
 Add an element to the back of the vector. More...
 
vectorLremove_back ()
 Remove the element at the back of the vector. More...
 
vectorLpop (T const &t)
 Remove an element of the vector. More...
 
void erase_index (index_type const i)
 Deletes the index from the vector. Has same thread-safety/iterator guarantees as std::vector::erase() (That is, it's not safe to access anything past the point of deletion, including the end() iterator.) More...
 
void shrink ()
 Shrink the index map to remove unused capacity. More...
 
bool contains (T const &t) const
 Check if vector contains a given element. More...
 
SSize index_of (T const &t)
 Return the index of a given element or exit if not found. More...
 
bool has (index_type const i) const
 Has an element with an index? More...
 
const_reference operator[] (index_type const i) const
 vectorL[ i ] const More...
 
reference operator[] (index_type const i)
 vectorL[ i ] More...
 
const_reference at (index_type const i) const
 vectorL.at( i ) const More...
 
reference at (index_type const i)
 vectorL.at( i ) More...
 
index_type l () const
 Lower index. More...
 
index_type u () const
 Upper index. More...
 
void swap (vectorL &v)
 swap( vectorL ) More...
 

Private Types

typedef vectorL< 0, T, Asuper
 

Additional Inherited Members

- Public Attributes inherited from utility::vectorL< 0, T, A >
typedef vectorL_IndexSelector< L >
 
- Protected Types inherited from utility::vectorL< 0, T, A >
typedef std::vector< T, Aroot
 

Detailed Description

template<typename T, typename A>
class utility::vector0< T, A >

std::vector with assert-checked bounds

Member Typedef Documentation

◆ Allocator

template<typename T , typename A >
typedef super::Allocator utility::vector0< T, A >::Allocator

◆ allocator_type

template<typename T , typename A >
typedef super::allocator_type utility::vector0< T, A >::allocator_type

◆ const_iterator

template<typename T , typename A >
typedef super::const_iterator utility::vector0< T, A >::const_iterator

◆ const_pointer

template<typename T , typename A >
typedef super::const_pointer utility::vector0< T, A >::const_pointer

◆ const_reference

template<typename T , typename A >
typedef super::const_reference utility::vector0< T, A >::const_reference

◆ const_reverse_iterator

template<typename T , typename A >
typedef super::const_reverse_iterator utility::vector0< T, A >::const_reverse_iterator

◆ ConstIterator

template<typename T , typename A >
typedef super::ConstIterator utility::vector0< T, A >::ConstIterator

◆ ConstPointer

template<typename T , typename A >
typedef super::ConstPointer utility::vector0< T, A >::ConstPointer

◆ ConstReference

template<typename T , typename A >
typedef super::ConstReference utility::vector0< T, A >::ConstReference

◆ ConstReverseIterator

template<typename T , typename A >
typedef super::ConstReverseIterator utility::vector0< T, A >::ConstReverseIterator

◆ Difference

template<typename T , typename A >
typedef super::Difference utility::vector0< T, A >::Difference

◆ difference_type

template<typename T , typename A >
typedef super::difference_type utility::vector0< T, A >::difference_type

◆ Index

template<typename T , typename A >
typedef super::Index utility::vector0< T, A >::Index

◆ index_type

template<typename T , typename A >
typedef super::index_type utility::vector0< T, A >::index_type

◆ iterator

template<typename T , typename A >
typedef super::iterator utility::vector0< T, A >::iterator

◆ Iterator

template<typename T , typename A >
typedef super::Iterator utility::vector0< T, A >::Iterator

◆ pointer

template<typename T , typename A >
typedef super::pointer utility::vector0< T, A >::pointer

◆ Pointer

template<typename T , typename A >
typedef super::Pointer utility::vector0< T, A >::Pointer

◆ reference

template<typename T , typename A >
typedef super::reference utility::vector0< T, A >::reference

◆ Reference

template<typename T , typename A >
typedef super::Reference utility::vector0< T, A >::Reference

◆ reverse_iterator

template<typename T , typename A >
typedef super::reverse_iterator utility::vector0< T, A >::reverse_iterator

◆ ReverseIterator

template<typename T , typename A >
typedef super::ReverseIterator utility::vector0< T, A >::ReverseIterator

◆ Size

template<typename T , typename A >
typedef super::Size utility::vector0< T, A >::Size

◆ size_type

template<typename T , typename A >
typedef super::size_type utility::vector0< T, A >::size_type

◆ SSize

template<typename T , typename A >
typedef super::SSize utility::vector0< T, A >::SSize

◆ ssize_type

template<typename T , typename A >
typedef super::ssize_type utility::vector0< T, A >::ssize_type

◆ super

template<typename T , typename A >
typedef vectorL< 0, T, A > utility::vector0< T, A >::super
private

◆ Value

template<typename T , typename A >
typedef super::Value utility::vector0< T, A >::Value

◆ value_type

template<typename T , typename A >
typedef super::value_type utility::vector0< T, A >::value_type

Constructor & Destructor Documentation

◆ vector0() [1/11]

template<typename T , typename A >
utility::vector0< T, A >::vector0 ( allocator_type const &  alloc = allocator_type())
inlineexplicit

Default constructor.

◆ vector0() [2/11]

template<typename T , typename A >
utility::vector0< T, A >::vector0 ( vector0< T, A > const &  v)
inline

Copy constructor.

◆ vector0() [3/11]

template<typename T , typename A >
template<ssize_type L_, typename T_ , typename A_ >
utility::vector0< T, A >::vector0 ( vectorL< L_, T_, A_ > const &  v)
inline

Assignable copy constructor.

◆ vector0() [4/11]

template<typename T , typename A >
utility::vector0< T, A >::vector0 ( super const &  v)
inlineexplicit

std::vector constructor

◆ vector0() [5/11]

template<typename T , typename A >
template<typename T_ , typename A_ >
utility::vector0< T, A >::vector0 ( std::vector< T_, A_ > const &  v)
inlineexplicit

Assignable std::vector constructor.

◆ vector0() [6/11]

template<typename T , typename A >
utility::vector0< T, A >::vector0 ( size_type  num)
inlineexplicit

Size constructor.

◆ vector0() [7/11]

template<typename T , typename A >
utility::vector0< T, A >::vector0 ( size_type  num,
value_type const &  value,
allocator_type const &  alloc = allocator_type() 
)
inline

Uniform value constructor.

◆ vector0() [8/11]

template<typename T , typename A >
template<typename InputIterator >
utility::vector0< T, A >::vector0 ( InputIterator const  beg,
InputIterator const  ending,
allocator_type const &  alloc = allocator_type() 
)
inline

Iterator range constructor.

◆ vector0() [9/11]

template<typename T , typename A >
utility::vector0< T, A >::vector0 ( vector0< T, A > &&  v)
inline

C++11 Move constructor.

◆ vector0() [10/11]

template<typename T , typename A >
utility::vector0< T, A >::vector0 ( super &&  v)
inlineexplicit

C++11 vectorL move constructor.

◆ vector0() [11/11]

template<typename T , typename A >
utility::vector0< T, A >::vector0 ( std::initializer_list< T init,
const A alloc = A() 
)
inline

C++11 initializer list constructor.

◆ ~vector0()

template<typename T , typename A >
utility::vector0< T, A >::~vector0 ( )
inlineoverridedefault

Destructor.

Member Function Documentation

◆ operator=() [1/4]

template<typename T , typename A >
template<typename T_ , typename A_ >
vector0& utility::vector0< T, A >::operator= ( std::vector< T_, A_ > const &  v)
inline

Assignable std::vector assignment.

References kmeans_adaptive_kernel_density_bb_dependent_rotlib::v.

◆ operator=() [2/4]

template<typename T , typename A >
vector0& utility::vector0< T, A >::operator= ( super const &  v)
inline

◆ operator=() [3/4]

template<typename T , typename A >
vector0& utility::vector0< T, A >::operator= ( vector0< T, A > const &  v)
inline

◆ operator=() [4/4]

template<typename T , typename A >
template<ssize_type L_, typename T_ , typename A_ >
vector0& utility::vector0< T, A >::operator= ( vectorL< L_, T_, A_ > const &  v)
inline

Assignable copy assignment.

References kmeans_adaptive_kernel_density_bb_dependent_rotlib::v.


The documentation for this class was generated from the following files: