Home | History | Annotate | Download | only in bits

Lines Matching defs:deque

0 // Deque implementation -*- C++ -*-
53 * Do not attempt to use it directly. @headername{deque}
95 * @brief A deque::iterator.
98 * deque is actually passed off to this class. A deque holds two
429 * Deque base class. This class provides the unified face for %deque's
435 * (Deque handles that itself.) Only/All memory management is performed
485 //This struct encapsulates the implementation of the std::deque
659 * In previous HP/SGI versions of deque, there was an extra template
664 * Here's how a deque<Tp> manages memory. Each deque has 4 members:
685 * the initial number of elements in the deque is small, the
703 * means that an empty deque must have one node, a deque with <N
705 * deque with N through (2N-1) elements must have two nodes, etc.
720 * Here's the magic: nothing in deque is @b aware of the discontiguous
725 * All the implementation routines for deque itself work only through the
730 class deque : protected _Deque_base<_Tp, _Alloc>
782 deque()
786 * @brief Creates a %deque with no elements.
790 deque(const allocator_type& __a)
795 * @brief Creates a %deque with default constructed elements.
798 * This constructor fills the %deque with @a n default
802 deque(size_type __n)
807 * @brief Creates a %deque with copies of an exemplar element.
812 * This constructor fills the %deque with @a __n copies of @a __value.
814 deque(size_type __n, const value_type& __value,
820 * @brief Creates a %deque with copies of an exemplar element.
825 * This constructor fills the %deque with @a __n copies of @a __value.
828 deque(size_type __n, const value_type& __value = value_type(),
835 * @brief %Deque copy constructor.
836 * @param __x A %deque of identical element and allocator types.
838 * The newly-created %deque uses a copy of the allocation object used
841 deque(const deque& __x)
849 * @brief %Deque move constructor.
850 * @param __x A %deque of identical element and allocator types.
852 * The newly-created %deque contains the exact contents of @a __x.
853 * The contents of @a __x are a valid, but unspecified %deque.
855 deque(deque&& __x)
859 * @brief Builds a %deque from an initializer list.
863 * Create a %deque consisting of copies of the elements in the
869 deque(initializer_list<value_type> __l,
879 * @brief Builds a %deque from a range.
884 * Create a %deque consisting of copies of the elements from [__first,
896 deque(_InputIterator __first, _InputIterator __last,
902 deque(_InputIterator __first, _InputIterator __last,
917 ~deque() _GLIBCXX_NOEXCEPT
921 * @brief %Deque assignment operator.
922 * @param __x A %deque of identical element and allocator types.
927 deque&
928 operator=(const deque& __x);
932 * @brief %Deque move assignment operator.
933 * @param __x A %deque of identical element and allocator types.
935 * The contents of @a __x are moved into this deque (without copying).
936 * @a __x is a valid, but unspecified %deque.
938 deque&
939 operator=(deque&& __x)
949 * @brief Assigns an initializer list to a %deque.
952 * This function fills a %deque with copies of the elements in the
955 * Note that the assignment completely changes the %deque and that the
956 * resulting %deque's size is the same as the number of elements
959 deque&
968 * @brief Assigns a given value to a %deque.
972 * This function fills a %deque with @a n copies of the given
974 * %deque and that the resulting %deque's size is the same as
982 * @brief Assigns a range to a %deque.
986 * This function fills a %deque with copies of the elements in the
989 * Note that the assignment completely changes the %deque and that the
990 * resulting %deque's size is the same as the number of elements
1011 * @brief Assigns an initializer list to a %deque.
1014 * This function fills a %deque with copies of the elements in the
1017 * Note that the assignment completely changes the %deque and that the
1018 * resulting %deque's size is the same as the number of elements
1034 * %deque. Iteration is done in ordinary element order.
1042 * element in the %deque. Iteration is done in ordinary element order.
1050 * element in the %deque. Iteration is done in ordinary
1059 * the last element in the %deque. Iteration is done in
1068 * last element in the %deque. Iteration is done in reverse
1077 * to the last element in the %deque. Iteration is done in
1086 * before the first element in the %deque. Iteration is done
1095 * to one before the first element in the %deque. Iteration is
1105 * element in the %deque. Iteration is done in ordinary element order.
1113 * the last element in the %deque. Iteration is done in
1122 * to the last element in the %deque. Iteration is done in
1131 * to one before the first element in the %deque. Iteration is
1140 /** Returns the number of elements in the %deque. */
1145 /** Returns the size() of the largest possible %deque. */
1152 * @brief Resizes the %deque to the specified number of elements.
1153 * @param __new_size Number of elements the %deque should contain.
1155 * This function will %resize the %deque to the specified
1157 * %deque's current size the %deque is truncated, otherwise
1172 * @brief Resizes the %deque to the specified number of elements.
1173 * @param __new_size Number of elements the %deque should contain.
1176 * This function will %resize the %deque to the specified
1178 * %deque's current size the %deque is truncated, otherwise the
1179 * %deque is extended and new elements are populated with given
1194 * @brief Resizes the %deque to the specified number of elements.
1195 * @param __new_size Number of elements the %deque should contain.
1198 * This function will %resize the %deque to the specified
1200 * %deque's current size the %deque is truncated, otherwise the
1201 * %deque is extended and new elements are populated with given
1224 * Returns true if the %deque is empty. (Thus begin() would
1233 * @brief Subscript access to the data contained in the %deque.
1248 * @brief Subscript access to the data contained in the %deque.
1268 __throw_out_of_range(__N("deque::_M_range_check"));
1273 * @brief Provides access to the data contained in the %deque.
1280 * is first checked that it is in the range of the deque. The
1291 * @brief Provides access to the data contained in the %deque.
1298 * checked that it is in the range of the deque. The function throws
1310 * element of the %deque.
1318 * element of the %deque.
1326 * %deque.
1338 * element of the %deque.
1350 * @brief Add data to the front of the %deque.
1354 * element at the front of the %deque and assigns the given
1355 * data to it. Due to the nature of a %deque this operation
1381 * @brief Add data to the end of the %deque.
1385 * element at the end of the %deque and assigns the given data
1386 * to it. Due to the nature of a %deque this operation can be
1415 * This is a typical stack operation. It shrinks the %deque by one.
1436 * This is a typical stack operation. It shrinks the %deque by one.
1456 * @brief Inserts an object in %deque before specified iterator.
1457 deque.
1470 * @brief Inserts given value into %deque before specified iterator.
1471 * @param __position An iterator into the %deque.
1483 * @brief Inserts given rvalue into %deque before specified iterator.
1484 * @param __position An iterator into the %deque.
1496 * @brief Inserts an initializer list into the %deque.
1497 * @param __p An iterator into the %deque.
1501 * initializer_list @a __l into the %deque before the location
1510 * @brief Inserts a number of copies of given data into the %deque.
1511 * @param __position An iterator into the %deque.
1523 * @brief Inserts a range into the %deque.
1524 * @param __position An iterator into the %deque.
1529 * [__first,__last) into the %deque before the location specified
1557 * shorten the %deque by one.
1576 * [__first,__last) and shorten the %deque accordingly.
1587 * @brief Swaps data with another %deque.
1588 * @param __x A %deque of the same element and allocator types.
1596 swap(deque& __x)
1648 * @brief Fills the deque with whatever is in [first,last).
1670 * @brief Fills the %deque with copies of value.
1674 * but none of the %deque's elements have yet been constructed.
1683 // called by deque(n).
1841 // Called by ~deque().
1921 * (And consequently, %deque iterators.)
1946 * @brief Deque equality comparison.
1947 * @param __x A %deque.
1948 * @param __y A %deque of the same type as @a __x.
1957 operator==(const deque<_Tp, _Alloc>& __x,
1958 const deque<_Tp, _Alloc>& __y)
1963 * @brief Deque ordering relation.
1964 * @param __x A %deque.
1965 * @param __y A %deque of the same type as @a __x.
1975 operator<(const deque<_Tp, _Alloc>& __x,
1976 const deque<_Tp, _Alloc>& __y)
1983 operator!=(const deque<_Tp, _Alloc>& __x,
1984 const deque<_Tp, _Alloc>& __y)
1990 operator>(const deque<_Tp, _Alloc>& __x,
1991 const deque<_Tp, _Alloc>& __y)
1997 operator<=(const deque<_Tp, _Alloc>& __x,
1998 const deque<_Tp, _Alloc>& __y)
2004 operator>=(const deque<_Tp, _Alloc>& __x,
2005 const deque<_Tp, _Alloc>& __y)
2008 /// See std::deque::swap().
2011 swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y)