BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bsl::Deque_Base< VALUE_TYPE > Class Template Reference

#include <bslstl_deque.h>

Inheritance diagram for bsl::Deque_Base< VALUE_TYPE >:
bsl::deque< bsl::shared_ptr< ball::Record > > bsl::deque< LinksMapIter > bsl::deque< TYPE > bsl::deque< function< void()> > bsl::deque< VALUE_TYPE, ALLOCATOR > bsl::deque< VALUE > bsl::deque< VALUE_TYPE, ALLOCATOR >

Public Types

typedef VALUE_TYPE & reference
 
typedef const VALUE_TYPE & const_reference
 
typedef Iterator iterator
 
typedef ConstIterator const_iterator
 
typedef std::size_t size_type
 
typedef std::ptrdiff_t difference_type
 
typedef VALUE_TYPE value_type
 
typedef bsl::reverse_iterator< Iterator > reverse_iterator
 
typedef bsl::reverse_iterator< ConstIterator > const_reverse_iterator
 

Public Member Functions

iterator begin () BSLS_KEYWORD_NOEXCEPT
 
iterator end () BSLS_KEYWORD_NOEXCEPT
 
reverse_iterator rbegin () BSLS_KEYWORD_NOEXCEPT
 
reverse_iterator rend () BSLS_KEYWORD_NOEXCEPT
 
reference operator[] (size_type position)
 
reference at (size_type position)
 
reference front ()
 
reference back ()
 
const_iterator begin () const BSLS_KEYWORD_NOEXCEPT
 
const_iterator cbegin () const BSLS_KEYWORD_NOEXCEPT
 
const_iterator end () const BSLS_KEYWORD_NOEXCEPT
 
const_iterator cend () const BSLS_KEYWORD_NOEXCEPT
 
const_reverse_iterator rbegin () const BSLS_KEYWORD_NOEXCEPT
 
const_reverse_iterator crbegin () const BSLS_KEYWORD_NOEXCEPT
 
const_reverse_iterator rend () const BSLS_KEYWORD_NOEXCEPT
 
const_reverse_iterator crend () const BSLS_KEYWORD_NOEXCEPT
 
size_type size () const BSLS_KEYWORD_NOEXCEPT
 Return the number of elements contained by this deque.
 
size_type capacity () const BSLS_KEYWORD_NOEXCEPT
 
bool empty () const BSLS_KEYWORD_NOEXCEPT
 
const_reference operator[] (size_type position) const
 
const_reference at (size_type position) const
 
const_reference front () const
 
const_reference back () const
 

Protected Attributes

BlockPtr * d_blocks_p
 
std::size_t d_blocksLength
 
IteratorImp d_start
 
IteratorImp d_finish
 

Detailed Description

template<class VALUE_TYPE>
class bsl::Deque_Base< VALUE_TYPE >

This class describes the basic layout for a deque class. It is important that this class has the same layout as the deque class implementation. It is parameterized by VALUE_TYPE only and implements the portion of bsl::deque that does not need to know about its (template parameter) type ALLOCATOR (in order to generate shorter debug strings). Note that this class must have the same layout as Deque_Imp (see implementation file).

See bslstl_deque

Member Typedef Documentation

◆ const_iterator

template<class VALUE_TYPE >
typedef ConstIterator bsl::Deque_Base< VALUE_TYPE >::const_iterator

◆ const_reference

template<class VALUE_TYPE >
typedef const VALUE_TYPE& bsl::Deque_Base< VALUE_TYPE >::const_reference

◆ const_reverse_iterator

template<class VALUE_TYPE >
typedef bsl::reverse_iterator<ConstIterator> bsl::Deque_Base< VALUE_TYPE >::const_reverse_iterator

◆ difference_type

template<class VALUE_TYPE >
typedef std::ptrdiff_t bsl::Deque_Base< VALUE_TYPE >::difference_type

◆ iterator

template<class VALUE_TYPE >
typedef Iterator bsl::Deque_Base< VALUE_TYPE >::iterator

◆ reference

template<class VALUE_TYPE >
typedef VALUE_TYPE& bsl::Deque_Base< VALUE_TYPE >::reference

◆ reverse_iterator

template<class VALUE_TYPE >
typedef bsl::reverse_iterator<Iterator> bsl::Deque_Base< VALUE_TYPE >::reverse_iterator

◆ size_type

template<class VALUE_TYPE >
typedef std::size_t bsl::Deque_Base< VALUE_TYPE >::size_type

◆ value_type

template<class VALUE_TYPE >
typedef VALUE_TYPE bsl::Deque_Base< VALUE_TYPE >::value_type

Member Function Documentation

◆ at() [1/2]

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::reference bsl::Deque_Base< VALUE_TYPE >::at ( size_type  position)

Return a reference providing modifiable access to the element at the specified position in this deque. Throw a std::out_of_range exception if position >= size().

◆ at() [2/2]

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::const_reference bsl::Deque_Base< VALUE_TYPE >::at ( size_type  position) const

Return a reference providing non-modifiable access to the element at the specified position in this deque. Throw a std::out_of_range exception if position >= size().

◆ back() [1/2]

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::reference bsl::Deque_Base< VALUE_TYPE >::back ( )
inline

Return a reference providing modifiable access to the last element in this deque. The behavior is undefined unless this deque is not empty.

◆ back() [2/2]

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::const_reference bsl::Deque_Base< VALUE_TYPE >::back ( ) const
inline

Return a reference providing non-modifiable access to the last element in this deque. The behavior is undefined unless this deque is not empty.

◆ begin() [1/2]

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::iterator bsl::Deque_Base< VALUE_TYPE >::begin ( )
inline

Return an iterator providing modifiable access to the first element in this deque, and the past-the-end iterator if this deque is empty.

◆ begin() [2/2]

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::const_iterator bsl::Deque_Base< VALUE_TYPE >::begin ( ) const
inline

◆ capacity()

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::size_type bsl::Deque_Base< VALUE_TYPE >::capacity ( ) const

Return the sum of the current size of this deque plus the minimum number of push_front or push_back operations needed to invalidate iterators in this deque. Note that this method is not part of the C++ standard.

◆ cbegin()

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::const_iterator bsl::Deque_Base< VALUE_TYPE >::cbegin ( ) const
inline

Return an iterator providing non-modifiable access to the first element in this deque, and the past-the-end iterator if this deque is empty.

◆ cend()

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::const_iterator bsl::Deque_Base< VALUE_TYPE >::cend ( ) const
inline

Return the past-the-end (forward) iterator providing non-modifiable access to this deque.

◆ crbegin()

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::const_reverse_iterator bsl::Deque_Base< VALUE_TYPE >::crbegin ( ) const
inline

Return a reverse iterator providing non-modifiable access to the last element in this deque, and the past-the-end reverse iterator if this deque is empty.

◆ crend()

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::const_reverse_iterator bsl::Deque_Base< VALUE_TYPE >::crend ( ) const
inline

Return the past-the-end reverse iterator providing non-modifiable access to this deque.

◆ empty()

template<class VALUE_TYPE >
bool bsl::Deque_Base< VALUE_TYPE >::empty ( ) const
inline

Return true if this deque contains no elements, and false otherwise.

◆ end() [1/2]

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::iterator bsl::Deque_Base< VALUE_TYPE >::end ( )
inline

Return the past-the-end (forward) iterator providing modifiable access to this deque.

◆ end() [2/2]

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::const_iterator bsl::Deque_Base< VALUE_TYPE >::end ( ) const
inline

◆ front() [1/2]

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::reference bsl::Deque_Base< VALUE_TYPE >::front ( )
inline

Return a reference providing modifiable access to the first element in this deque. The behavior is undefined unless this deque is not empty.

◆ front() [2/2]

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::const_reference bsl::Deque_Base< VALUE_TYPE >::front ( ) const
inline

Return a reference providing non-modifiable access to the first element in this deque. The behavior is undefined unless this deque is not empty.

◆ operator[]() [1/2]

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::reference bsl::Deque_Base< VALUE_TYPE >::operator[] ( size_type  position)
inline

Return a reference providing modifiable access to the element at the specified position in this deque. The behavior is undefined unless position < size().

◆ operator[]() [2/2]

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::const_reference bsl::Deque_Base< VALUE_TYPE >::operator[] ( size_type  position) const
inline

Return a reference providing non-modifiable access to the element at the specified position in this deque. The behavior is undefined unless position < size().

◆ rbegin() [1/2]

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::reverse_iterator bsl::Deque_Base< VALUE_TYPE >::rbegin ( )
inline

Return a reverse iterator providing modifiable access to the last element in this deque, and the past-the-end reverse iterator if this deque is empty.

◆ rbegin() [2/2]

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::const_reverse_iterator bsl::Deque_Base< VALUE_TYPE >::rbegin ( ) const
inline

◆ rend() [1/2]

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::reverse_iterator bsl::Deque_Base< VALUE_TYPE >::rend ( )
inline

Return the past-the-end reverse iterator providing modifiable access to this deque.

◆ rend() [2/2]

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::const_reverse_iterator bsl::Deque_Base< VALUE_TYPE >::rend ( ) const
inline

◆ size()

template<class VALUE_TYPE >
Deque_Base< VALUE_TYPE >::size_type bsl::Deque_Base< VALUE_TYPE >::size ( ) const
inline

Member Data Documentation

◆ d_blocks_p

template<class VALUE_TYPE >
BlockPtr* bsl::Deque_Base< VALUE_TYPE >::d_blocks_p
protected

◆ d_blocksLength

template<class VALUE_TYPE >
std::size_t bsl::Deque_Base< VALUE_TYPE >::d_blocksLength
protected

◆ d_finish

template<class VALUE_TYPE >
IteratorImp bsl::Deque_Base< VALUE_TYPE >::d_finish
protected

◆ d_start

template<class VALUE_TYPE >
IteratorImp bsl::Deque_Base< VALUE_TYPE >::d_start
protected

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