OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
8 * | 8 * |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 1134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1145 template <typename U> | 1145 template <typename U> |
1146 void insert(size_t position, const U*, size_t); | 1146 void insert(size_t position, const U*, size_t); |
1147 template <typename U, size_t otherCapacity, typename OtherAllocator> | 1147 template <typename U, size_t otherCapacity, typename OtherAllocator> |
1148 void insert(size_t position, const Vector<U, otherCapacity, OtherAllocator>&); | 1148 void insert(size_t position, const Vector<U, otherCapacity, OtherAllocator>&); |
1149 | 1149 |
1150 // Insertion to the front. All of these functions will take O(size())-time. | 1150 // Insertion to the front. All of these functions will take O(size())-time. |
1151 // All of the elements in the vector will be moved to the new locations. | 1151 // All of the elements in the vector will be moved to the new locations. |
1152 // All of these functions may cause a reallocation. In any case, all the | 1152 // All of these functions may cause a reallocation. In any case, all the |
1153 // iterators pointing to any element in the vector will be invalidated. | 1153 // iterators pointing to any element in the vector will be invalidated. |
1154 // | 1154 // |
1155 // prepend(value) | 1155 // push_front(value) |
1156 // Insert a single element to the front. | 1156 // Insert a single element to the front. |
1157 // prepend(buffer, size) | 1157 // push_front(buffer, size) |
1158 // prependVector(vector) | 1158 // prependVector(vector) |
1159 // Insert multiple elements represented by either |buffer| and |size| or | 1159 // Insert multiple elements represented by either |buffer| and |size| or |
1160 // |vector| to the front. The elements will be copied. | 1160 // |vector| to the front. The elements will be copied. |
1161 template <typename U> | 1161 template <typename U> |
1162 void prepend(U&&); | 1162 void push_front(U&&); |
1163 template <typename U> | 1163 template <typename U> |
1164 void prepend(const U*, size_t); | 1164 void push_front(const U*, size_t); |
1165 template <typename U, size_t otherCapacity, typename OtherAllocator> | 1165 template <typename U, size_t otherCapacity, typename OtherAllocator> |
1166 void prependVector(const Vector<U, otherCapacity, OtherAllocator>&); | 1166 void prependVector(const Vector<U, otherCapacity, OtherAllocator>&); |
1167 | 1167 |
1168 // Remove an element or elements at the specified position. These functions | 1168 // Remove an element or elements at the specified position. These functions |
1169 // take O(size())-time. All of the elements after the removed ones will be | 1169 // take O(size())-time. All of the elements after the removed ones will be |
1170 // moved to the new locations. All the iterators pointing to any element | 1170 // moved to the new locations. All the iterators pointing to any element |
1171 // after |position| will be invalidated. | 1171 // after |position| will be invalidated. |
1172 void remove(size_t position); | 1172 void remove(size_t position); |
1173 void remove(size_t position, size_t length); | 1173 void remove(size_t position, size_t length); |
1174 | 1174 |
(...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1788 template <typename T, size_t inlineCapacity, typename Allocator> | 1788 template <typename T, size_t inlineCapacity, typename Allocator> |
1789 template <typename U, size_t otherCapacity, typename OtherAllocator> | 1789 template <typename U, size_t otherCapacity, typename OtherAllocator> |
1790 inline void Vector<T, inlineCapacity, Allocator>::insert( | 1790 inline void Vector<T, inlineCapacity, Allocator>::insert( |
1791 size_t position, | 1791 size_t position, |
1792 const Vector<U, otherCapacity, OtherAllocator>& val) { | 1792 const Vector<U, otherCapacity, OtherAllocator>& val) { |
1793 insert(position, val.begin(), val.size()); | 1793 insert(position, val.begin(), val.size()); |
1794 } | 1794 } |
1795 | 1795 |
1796 template <typename T, size_t inlineCapacity, typename Allocator> | 1796 template <typename T, size_t inlineCapacity, typename Allocator> |
1797 template <typename U> | 1797 template <typename U> |
1798 inline void Vector<T, inlineCapacity, Allocator>::prepend(U&& val) { | 1798 inline void Vector<T, inlineCapacity, Allocator>::push_front(U&& val) { |
1799 insert(0, std::forward<U>(val)); | 1799 insert(0, std::forward<U>(val)); |
1800 } | 1800 } |
1801 | 1801 |
1802 template <typename T, size_t inlineCapacity, typename Allocator> | 1802 template <typename T, size_t inlineCapacity, typename Allocator> |
1803 template <typename U> | 1803 template <typename U> |
1804 void Vector<T, inlineCapacity, Allocator>::prepend(const U* data, | 1804 void Vector<T, inlineCapacity, Allocator>::push_front(const U* data, |
1805 size_t dataSize) { | 1805 size_t dataSize) { |
1806 insert(0, data, dataSize); | 1806 insert(0, data, dataSize); |
1807 } | 1807 } |
1808 | 1808 |
1809 template <typename T, size_t inlineCapacity, typename Allocator> | 1809 template <typename T, size_t inlineCapacity, typename Allocator> |
1810 template <typename U, size_t otherCapacity, typename OtherAllocator> | 1810 template <typename U, size_t otherCapacity, typename OtherAllocator> |
1811 inline void Vector<T, inlineCapacity, Allocator>::prependVector( | 1811 inline void Vector<T, inlineCapacity, Allocator>::prependVector( |
1812 const Vector<U, otherCapacity, OtherAllocator>& val) { | 1812 const Vector<U, otherCapacity, OtherAllocator>& val) { |
1813 insert(0, val.begin(), val.size()); | 1813 insert(0, val.begin(), val.size()); |
1814 } | 1814 } |
1815 | 1815 |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1901 visitor, *const_cast<T*>(bufferEntry)); | 1901 visitor, *const_cast<T*>(bufferEntry)); |
1902 checkUnusedSlots(buffer() + size(), buffer() + capacity()); | 1902 checkUnusedSlots(buffer() + size(), buffer() + capacity()); |
1903 } | 1903 } |
1904 } | 1904 } |
1905 | 1905 |
1906 } // namespace WTF | 1906 } // namespace WTF |
1907 | 1907 |
1908 using WTF::Vector; | 1908 using WTF::Vector; |
1909 | 1909 |
1910 #endif // WTF_Vector_h | 1910 #endif // WTF_Vector_h |
OLD | NEW |