Home | History | Annotate | Download | only in bits

Lines Matching defs:deque

0 // Deque implementation -*- C++ -*-
83 * @brief A deque::iterator.
86 * deque is actually passed off to this class. A deque holds two
351 * Deque base class. This class provides the unified face for %deque's
357 * (Deque handles that itself.) Only/All memory management is performed
403 //This struct encapsulates the implementation of the std::deque
567 * In previous HP/SGI versions of deque, there was an extra template
572 * Here's how a deque<Tp> manages memory. Each deque has 4 members:
593 * the initial number of elements in the deque is small, the
611 * means that an empty deque must have one node, a deque with <N
613 * deque with N through (2N-1) elements must have two nodes, etc.
628 * Here's the magic: nothing in deque is "aware" of the discontiguous
633 * All the implementation routines for deque itself work only through the
638 class deque : protected _Deque_base<_Tp, _Alloc>
690 deque()
694 * @brief Creates a %deque with no elements.
698 deque(const allocator_type& __a)
702 * @brief Creates a %deque with copies of an exemplar element.
707 * This constructor fills the %deque with @a n copies of @a value.
710 deque(size_type __n, const value_type& __value = value_type(),
716 * @brief %Deque copy constructor.
717 * @param x A %deque of identical element and allocator types.
719 * The newly-created %deque uses a copy of the allocation object used
722 deque(const deque& __x)
730 * @brief %Deque move constructor.
731 * @param x A %deque of identical element and allocator types.
733 * The newly-created %deque contains the exact contents of @a x.
734 * The contents of @a x are a valid, but unspecified %deque.
736 deque(deque&& __x)
740 * @brief Builds a %deque from an initializer list.
744 * Create a %deque consisting of copies of the elements in the
750 deque(initializer_list<value_type> __l,
760 * @brief Builds a %deque from a range.
765 * Create a %deque consisting of copies of the elements from [first,
775 deque(_InputIterator __first, _InputIterator __last,
789 ~deque()
793 * @brief %Deque assignment operator.
794 * @param x A %deque of identical element and allocator types.
799 deque&
800 operator=(const deque& __x);
804 * @brief %Deque move assignment operator.
805 * @param x A %deque of identical element and allocator types.
807 * The contents of @a x are moved into this deque (without copying).
808 * @a x is a valid, but unspecified %deque.
810 deque&
811 operator=(deque&& __x)
820 * @brief Assigns an initializer list to a %deque.
823 * This function fills a %deque with copies of the elements in the
826 * Note that the assignment completely changes the %deque and that the
827 * resulting %deque's size is the same as the number of elements
830 deque&
839 * @brief Assigns a given value to a %deque.
843 * This function fills a %deque with @a n copies of the given
845 * %deque and that the resulting %deque's size is the same as
853 * @brief Assigns a range to a %deque.
857 * This function fills a %deque with copies of the elements in the
860 * Note that the assignment completely changes the %deque and that the
861 * resulting %deque's size is the same as the number of elements
874 * @brief Assigns an initializer list to a %deque.
877 * This function fills a %deque with copies of the elements in the
880 * Note that the assignment completely changes the %deque and that the
881 * resulting %deque's size is the same as the number of elements
897 * %deque. Iteration is done in ordinary element order.
905 * element in the %deque. Iteration is done in ordinary element order.
913 * element in the %deque. Iteration is done in ordinary
922 * the last element in the %deque. Iteration is done in
931 * last element in the %deque. Iteration is done in reverse
940 * to the last element in the %deque. Iteration is done in
949 deque. Iteration is done
958 * to one before the first element in the %deque. Iteration is
968 * element in the %deque. Iteration is done in ordinary element order.
976 * the last element in the %deque. Iteration is done in
985 * to the last element in the %deque. Iteration is done in
994 * to one before the first element in the %deque. Iteration is
1003 /** Returns the number of elements in the %deque. */
1008 /** Returns the size() of the largest possible %deque. */
1014 * @brief Resizes the %deque to the specified number of elements.
1015 * @param new_size Number of elements the %deque should contain.
1018 * This function will %resize the %deque to the specified
1020 * %deque's current size the %deque is truncated, otherwise the
1021 * %deque is extended and new elements are populated with given
1035 * Returns true if the %deque is empty. (Thus begin() would
1044 * @brief Subscript access to the data contained in the %deque.
1059 * @brief Subscript access to the data contained in the %deque.
1079 __throw_out_of_range(__N("deque::_M_range_check"));
1084 * @brief Provides access to the data contained in the %deque.
1091 * is first checked that it is in the range of the deque. The
1102 * @brief Provides access to the data contained in the %deque.
1109 * checked that it is in the range of the deque. The function throws
1121 * element of the %deque.
1129 * element of the %deque.
1137 * %deque.
1149 * element of the %deque.
1161 * @brief Add data to the front of the %deque.
1165 * element at the front of the %deque and assigns the given
1166 * data to it. Due to the nature of a %deque this operation
1192 * @brief Add data to the end of the %deque.
1196 * element at the end of the %deque and assigns the given data
1197 * to it. Due to the nature of a %deque this operation can be
1226 * This is a typical stack operation. It shrinks the %deque by one.
1247 * This is a typical stack operation. It shrinks the %deque by one.
1267 * @brief Inserts an object in %deque before specified iterator.
1268 * @param position An iterator into the %deque.
1281 * @brief Inserts given value into %deque before specified iterator.
1282 * @param position An iterator into the %deque.
1294 * @brief Inserts given rvalue into %deque before specified iterator.
1295 * @param position An iterator into the %deque.
1307 * @brief Inserts an initializer list into the %deque.
1308 * @param p An iterator into the %deque.
1312 * initializer_list @a l into the %deque before the location
1321 * @brief Inserts a number of copies of given data into the %deque.
1322 * @param position An iterator into the %deque.
1334 * @brief Inserts a range into the %deque.
1335 * @param position An iterator into the %deque.
1340 * [first,last) into the %deque before the location specified
1359 * shorten the %deque by one.
1378 * shorten the %deque accordingly.
1389 * @brief Swaps data with another %deque.
1390 * @param x A %deque of the same element and allocator types.
1399 swap(deque&& __x)
1401 swap(deque& __x)
1454 * @brief Fills the deque with whatever is in [first,last).
1476 * @brief Fills the %deque with copies of value.
1480 * but none of the %deque's elements have yet been constructed.
1641 // Called by ~deque().
1712 * (And consequently, %deque iterators.)
1737 * @brief Deque equality comparison.
1738 * @param x A %deque.
1739 * @param y A %deque of the same type as @a x.
1748 operator==(const deque<_Tp, _Alloc>& __x,
1749 const deque<_Tp, _Alloc>& __y)
1754 * @brief Deque ordering relation.
1755 * @param x A %deque.
1756 * @param y A %deque of the same type as @a x.
1766 operator<(const deque<_Tp, _Alloc>& __x,
1767 const deque<_Tp, _Alloc>& __y)
1774 operator!=(const deque<_Tp, _Alloc>& __x,
1775 const deque<_Tp, _Alloc>& __y)
1781 operator>(const deque<_Tp, _Alloc>& __x,
1782 const deque<_Tp, _Alloc>& __y)
1788 operator<=(const deque<_Tp, _Alloc>& __x,
1789 const deque<_Tp, _Alloc>& __y)
1795 operator>=(const deque<_Tp, _Alloc>& __x,
1796 const deque<_Tp, _Alloc>& __y)
1799 /// See std::deque::swap().
1802 swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y)
1808 swap(deque<_Tp,_Alloc>&& __x, deque<_Tp,_Alloc>& __y)
1813 swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>&& __y)