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

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

#include <vector0_bool.hh>

Inheritance diagram for utility::vector0< bool, 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, bool, 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 const 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< bool > init, const A &alloc=A())
 C++11 initializer list constructor. More...
 
 ~vector0 () override
 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, bool, 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< bool > init, const A &alloc=A())
 C++11 initializer list 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 (boolconst &t)
 Add an element to the back of the vector. More...
 
vectorLremove_back ()
 Remove the element at the back of the vector. More...
 
vectorLpop (boolconst &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 (boolconst &t) const
 Check if vector contains a given element. More...
 
SSize index_of (boolconst &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, bool, Asuper
 

Additional Inherited Members

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

Detailed Description

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

std::vector with assert-checked bounds: bool specialization

Note
  • std::vector with assert-checked bounds in operator[] and a few extras
  • Can construct and assign from std::vector and swap with std::vector
  • Can compare with std::vector
  • Can explicitly convert to std::vector
  • Public inheritance from concrete vectorL template is safe here

Member Typedef Documentation

template<typename A >
typedef super::Index utility::vector0< bool, A >::Index
template<typename A >
typedef super::index_type utility::vector0< bool, A >::index_type
template<typename A >
typedef super::iterator utility::vector0< bool, A >::iterator
template<typename A >
typedef super::Iterator utility::vector0< bool, A >::Iterator
template<typename A >
typedef super::pointer utility::vector0< bool, A >::pointer
template<typename A >
typedef super::Pointer utility::vector0< bool, A >::Pointer
template<typename A >
typedef super::Size utility::vector0< bool, A >::Size
template<typename A >
typedef super::SSize utility::vector0< bool, A >::SSize
template<typename A >
typedef vectorL< 0, bool, A > utility::vector0< bool, A >::super
private
template<typename A >
typedef super::Value utility::vector0< bool, A >::Value

Constructor & Destructor Documentation

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

Default constructor.

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

Copy constructor.

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

Assignable copy constructor.

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

std::vector constructor

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

Assignable std::vector constructor.

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

Size constructor.

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

Uniform value constructor.

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

Iterator range constructor.

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

C++11 Move constructor.

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

C++11 vectorL move constructor.

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

C++11 initializer list constructor.

template<typename A >
utility::vector0< bool, A >::~vector0 ( )
inlineoverride

Destructor.

Member Function Documentation

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

Copy assignment.

References utility::vectorL< 0, T, A >::operator=().

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

Assignable copy assignment.

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

std::vector assignment

References utility::vectorL< 0, T, A >::operator=().

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

Assignable std::vector assignment.


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