Class template fixed_capacity_deque
alps::fixed_capacity_deque
Synopsis
// In header: <alps/fixed_capacity_deque.h>
template<typename T, std::size_t N, typename CheckingPolicy>
class fixed_capacity_deque {
public:
// types
typedef std::size_t size_type;
typedef std::ptrdiff_t difference_type;
typedef T value_type;
typedef T & reference;
typedef const T & const_reference;
typedef fixed_capacity::deque_iterator< T, N, T &, T * > iterator;
typedef fixed_capacity::deque_iterator< T, N, const T &, const T * > const_iterator;
typedef std::reverse_iterator< iterator > reverse_iterator;
typedef std::reverse_iterator< const_iterator > const_reverse_iterator;
// member classes/structs/unions
template<bool B>
struct bool_type {
};
// construct/copy/destruct
fixed_capacity_deque();
fixed_capacity_deque(size_type, const T & = T());
template<typename InputIterator>
fixed_capacity_deque(InputIterator, InputIterator);
fixed_capacity_deque(const fixed_capacity_deque &);
fixed_capacity_deque& operator=(const fixed_capacity_deque &);
~fixed_capacity_deque();
// public member functions
BOOST_STATIC_CONSTANT(size_type, static_max_size = N) ;
void assign(const T &) ;
void assign(size_type, const T &) ;
template<typename InputIterator> void assign(InputIterator, InputIterator) ;
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;
size_type size() const;
void resize(size_type, const T & = T()) ;
bool empty() const;
void reserve(size_type) const;
reference operator[](size_type) ;
const_reference operator[](size_type) const;
reference at(size_type) ;
const_reference at(size_type) const;
reference front() ;
const_reference front() const;
reference back() ;
const_reference back() const;
void push_front(const T &) ;
void push_back(const T &) ;
void pop_front() ;
void pop_back() ;
iterator insert(iterator, const T &) ;
void insert(iterator, size_type, const T &) ;
template<typename InputIterator>
void insert(iterator, InputIterator, InputIterator) ;
iterator erase(iterator) ;
iterator erase(iterator, iterator) ;
void swap(fixed_capacity_deque &) ;
void clear() ;
// public static functions
static size_type max_size() ;
static size_type capacity() ;
// protected member functions
T * base() ;
const T * base() const;
T * top() ;
const T * top() const;
bool is_continuous() const;
size_type position(size_type) const;
template<typename U>
void insert_dispatch(iterator, size_type, U, bool_type< true >) ;
template<typename InputIterator>
void insert_dispatch(iterator, InputIterator, InputIterator,
bool_type< false >) ;
template<typename InputIterator>
void insert_dispatch(iterator, InputIterator, InputIterator,
std::random_access_iterator_tag) ;
template<typename InputIterator>
void insert_dispatch(iterator, InputIterator, InputIterator,
std::input_iterator_tag) ;
iterator insert_n(iterator, size_type, const T &) ;
iterator erase_n(iterator, size_type) ;
void destroy(T *) ;
void destroy(T *, T *) ;
// private member functions
BOOST_STATIC_ASSERT(N, 0) ;
BOOST_STATIC_CONSTANT(std::size_t, M = N+1) ;
};
Description
fixed_capacity_deque
public
construct/copy/destruct
fixed_capacity_deque();
fixed_capacity_deque(size_type n, const T & x = T());
template<typename InputIterator>
fixed_capacity_deque(InputIterator first, InputIterator last);
fixed_capacity_deque(const fixed_capacity_deque & x);
fixed_capacity_deque& operator=(const fixed_capacity_deque & x);
~fixed_capacity_deque();
fixed_capacity_deque
public member functions
BOOST_STATIC_CONSTANT(size_type, static_max_size = N) ;
void assign(const T & x) ;
void assign(size_type n, const T & x) ;
template<typename InputIterator>
void assign(InputIterator first, InputIterator last) ;
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;
size_type size() const;
void resize(size_type n, const T & c = T()) ;
bool empty() const;
void reserve(size_type n) const;
reference operator[](size_type i) ;
const_reference operator[](size_type i) const;
reference at(size_type i) ;
const_reference at(size_type i) const;
reference front() ;
const_reference front() const;
reference back() ;
const_reference back() const;
void push_front(const T & x) ;
void push_back(const T & x) ;
void pop_front() ;
void pop_back() ;
iterator insert(iterator pos, const T & x) ;
void insert(iterator pos, size_type n, const T & x) ;
template<typename InputIterator>
void insert(iterator pos, InputIterator first, InputIterator last) ;
iterator erase(iterator pos) ;
iterator erase(iterator first, iterator last) ;
void swap(fixed_capacity_deque & x) ;
void clear() ;
fixed_capacity_deque
public static functions
static size_type max_size() ;
static size_type capacity() ;
fixed_capacity_deque
protected member functions
T * base() ;
const T * base() const;
T * top() ;
const T * top() const;
bool is_continuous() const;
size_type position(size_type i) const;
template<typename U>
void insert_dispatch(iterator pos, size_type n, U x, bool_type< true >) ;
template<typename InputIterator>
void insert_dispatch(iterator pos, InputIterator first, InputIterator last,
bool_type< false >) ;
template<typename InputIterator>
void insert_dispatch(iterator pos, InputIterator first, InputIterator last,
std::random_access_iterator_tag) ;
template<typename InputIterator>
void insert_dispatch(iterator pos, InputIterator first, InputIterator last,
std::input_iterator_tag) ;
iterator insert_n(iterator pos, size_type n, const T & x) ;
iterator erase_n(iterator pos, size_type n) ;
void destroy(T * pos) ;
void destroy(T * first, T * last) ;
fixed_capacity_deque
private member functions
BOOST_STATIC_ASSERT(N, 0) ;
BOOST_STATIC_CONSTANT(std::size_t, M = N+1) ;