stl_deque.h File Reference

Go to the source code of this file.

## Classes

class | std::_Deque_base< _Tp, _Alloc >
struct | std::_Deque_iterator< _Tp, _Ref, _Ptr >
class | std::deque< _Tp, _Alloc >

## Namespaces

namespace | std

## Macros

#define | _GLIBCXX_DEQUE_BUF_SIZE

## Functions

constexpr size_t | std::__deque_buf_size (size_t __size)
template<typename _InputIterator, typename _ValT = typename iterator_traits<_InputIterator>::value_type, typename _Allocator = allocator<_ValT>, typename = _RequireInputIter<_InputIterator>, typename = _RequireAllocator<_Allocator>>
| std::deque (_InputIterator, _InputIterator, _Allocator=_Allocator()) -> deque< _ValT, _Allocator >
template<typename _Tp, typename _Alloc>
__detail::__synth3way_t< _Tp > | std::operator<=> (const deque< _Tp, _Alloc > &__x, const deque< _Tp, _Alloc > &__y)
template<typename _Tp, typename _Alloc>
bool | std::operator== (const deque< _Tp, _Alloc > &__x, const deque< _Tp, _Alloc > &__y)
template<typename _Tp, typename _Alloc>
void | std::swap (deque< _Tp, _Alloc > &__x, deque< _Tp, _Alloc > &__y) noexcept(/*conditional */)

## Detailed Description

This is an internal header file, included by other library headers. Do not attempt to use it directly. Instead, include <deque>.

Definition in file stl_deque.h.

## Macro Definition Documentation

## _GLIBCXX_DEQUE_BUF_SIZE

#define _GLIBCXX_DEQUE_BUF_SIZE

This function controls the size of memory nodes.

Parameters

  __size | The size of an element.

Returns
  The number (not byte size) of elements per node.

This function started off as a compiler kludge from SGI, but seems to be a useful wrapper around a repeated constant expression. The 512 is tunable (and no other code needs to change), but no investigation has been done since inheriting the SGI code. Touch _GLIBCXX_DEQUE_BUF_SIZE only if you know what you are doing, however: changing it breaks the binary compatibility!!

Definition at line 92 of file stl_deque.h.