Rosetta
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Types | Public Member Functions | Private Types | List of all members
utility::vector1< T, A > Class Template Reference

std::vector with 1-based indexing More...

#include <vector1.fwd.hh>

Inheritance diagram for utility::vector1< 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< 1, 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

 vector1 (allocator_type const &alloc=allocator_type())
 Default constructor. More...
 
 vector1 (vector1 const &v)
 Copy constructor. More...
 
template<ssize_type L_, typename T_ , typename A_ >
 vector1 (vectorL< L_, T_, A_ > const &v)
 Assignable copy constructor. More...
 
 vector1 (super const &v)
 std::vector constructor More...
 
template<typename T_ , typename A_ >
 vector1 (std::vector< T_, A_ > const &v)
 Assignable std::vector constructor. More...
 
 vector1 (size_type const num)
 Size constructor. More...
 
 vector1 (size_type const num, value_type const &value, allocator_type const &alloc=allocator_type())
 Uniform value constructor. More...
 
template<typename InputIterator >
 vector1 (InputIterator const beg, InputIterator const end, allocator_type const &alloc=allocator_type())
 Iterator range constructor. More...
 
virtual ~vector1 ()
 Destructor. More...
 
vector1operator= (vector1 const &v)
 Copy assignment. More...
 
template<ssize_type L_, typename T_ , typename A_ >
vector1operator= (vectorL< L_, T_, A_ > const &v)
 Assignable copy assignment. More...
 
vector1operator= (super const &v)
 std::vector assignment More...
 
template<typename T_ , typename A_ >
vector1operator= (std::vector< T_, A_ > const &v)
 Assignable std::vector assignment. More...
 
int index (T const t) const
 Find the index of an element. If not found then return 0;. More...
 
bool has_value (T const t) const
 useful function – was commented out previously due, I think, to a conflict with has() in OptionKeys! Now renamed to has_value(). More...
 
- Public Member Functions inherited from utility::vectorL< 1, 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 end, allocator_type const &alloc=allocator_type())
 Iterator range constructor. More...
 
virtual ~vectorL ()
 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...
 
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< 1, T, Asuper
 

Additional Inherited Members

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

Detailed Description

template<typename T, typename A = std::allocator< T >>
class utility::vector1< T, A >

std::vector with 1-based indexing

Definition at line 44 of file vector1.fwd.hh.

Member Typedef Documentation

template<typename T, typename A = std::allocator< T >>
typedef super::Allocator utility::vector1< T, A >::Allocator

Definition at line 83 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::allocator_type utility::vector1< T, A >::allocator_type

Definition at line 67 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::const_iterator utility::vector1< T, A >::const_iterator

Definition at line 62 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::const_pointer utility::vector1< T, A >::const_pointer

Definition at line 60 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::const_reference utility::vector1< T, A >::const_reference

Definition at line 58 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::const_reverse_iterator utility::vector1< T, A >::const_reverse_iterator

Definition at line 64 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::ConstIterator utility::vector1< T, A >::ConstIterator

Definition at line 78 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::ConstPointer utility::vector1< T, A >::ConstPointer

Definition at line 76 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::ConstReference utility::vector1< T, A >::ConstReference

Definition at line 74 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::ConstReverseIterator utility::vector1< T, A >::ConstReverseIterator

Definition at line 80 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::Difference utility::vector1< T, A >::Difference

Definition at line 82 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::difference_type utility::vector1< T, A >::difference_type

Definition at line 66 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::Index utility::vector1< T, A >::Index

Definition at line 84 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::index_type utility::vector1< T, A >::index_type

Definition at line 68 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::iterator utility::vector1< T, A >::iterator

Definition at line 61 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::Iterator utility::vector1< T, A >::Iterator

Definition at line 77 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::pointer utility::vector1< T, A >::pointer

Definition at line 59 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::Pointer utility::vector1< T, A >::Pointer

Definition at line 75 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::reference utility::vector1< T, A >::reference

Definition at line 57 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::Reference utility::vector1< T, A >::Reference

Definition at line 73 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::reverse_iterator utility::vector1< T, A >::reverse_iterator

Definition at line 63 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::ReverseIterator utility::vector1< T, A >::ReverseIterator

Definition at line 79 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::Size utility::vector1< T, A >::Size

Definition at line 81 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::size_type utility::vector1< T, A >::size_type

Definition at line 65 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::SSize utility::vector1< T, A >::SSize

Definition at line 85 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::ssize_type utility::vector1< T, A >::ssize_type

Definition at line 69 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef vectorL< 1, T, A > utility::vector1< T, A >::super
private

Definition at line 49 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::Value utility::vector1< T, A >::Value

Definition at line 72 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
typedef super::value_type utility::vector1< T, A >::value_type

Definition at line 56 of file vector1.hh.

Constructor & Destructor Documentation

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

Default constructor.

Definition at line 121 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
utility::vector1< T, A >::vector1 ( vector1< T, A > const &  v)
inline

Copy constructor.

Definition at line 128 of file vector1.hh.

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

Assignable copy constructor.

Definition at line 136 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
utility::vector1< T, A >::vector1 ( super const &  v)
inlineexplicit

std::vector constructor

Definition at line 144 of file vector1.hh.

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

Assignable std::vector constructor.

Definition at line 153 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
utility::vector1< T, A >::vector1 ( size_type const  num)
inlineexplicit

Size constructor.

Definition at line 161 of file vector1.hh.

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

Uniform value constructor.

Definition at line 168 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
template<typename InputIterator >
utility::vector1< T, A >::vector1 ( InputIterator const  beg,
InputIterator const  end,
allocator_type const &  alloc = allocator_type() 
)
inline

Iterator range constructor.

Definition at line 180 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
virtual utility::vector1< T, A >::~vector1 ( )
inlinevirtual

Destructor.

Definition at line 192 of file vector1.hh.

Member Function Documentation

template<typename T, typename A = std::allocator< T >>
bool utility::vector1< T, A >::has_value ( T const  t) const
inline

useful function – was commented out previously due, I think, to a conflict with has() in OptionKeys! Now renamed to has_value().

Definition at line 254 of file vector1.hh.

template<typename T, typename A = std::allocator< T >>
int utility::vector1< T, A >::index ( T const  t) const
inline
template<typename T, typename A = std::allocator< T >>
vector1& utility::vector1< T, A >::operator= ( vector1< T, A > const &  v)
inline

Copy assignment.

Definition at line 202 of file vector1.hh.

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

Assignable copy assignment.

Definition at line 215 of file vector1.hh.

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

std::vector assignment

Definition at line 225 of file vector1.hh.

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

Assignable std::vector assignment.

Definition at line 236 of file vector1.hh.


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