3 #ifndef OSL_FIXED_CAPACITY_VECTOR_H
4 #define OSL_FIXED_CAPACITY_VECTOR_H
13 #if (__GNUC__ >= 4 && __GNUC_MINOR__ >=4)
14 # pragma GCC diagnostic ignored "-Wstrict-aliasing"
26 #if ! (defined NDEBUG && defined MINIMAL)
32 #if ! (defined NDEBUG && defined MINIMAL)
55 template <
typename T,
size_t Capacity>
66 CArray<int64_t, (
sizeof(T[Capacity])+
sizeof(int64_t)-1)/
sizeof(int64_t)>
relements;
88 template <
class RangeIterator>
130 assert(
size() < Capacity);
134 template <
class RangeIterator>
135 void push_back(
const RangeIterator& first,
const RangeIterator& last);
148 while (
size() < new_length)
150 if (new_length <
size()) {
185 const T&
back()
const {
return *(
end() - 1); }
189 return std::find(first, last, e) != last;
201 template <
typename T,
size_t C>
inline
206 template <
typename T,
size_t C>
inline
209 return std::lexicographical_compare(l.begin(), l.end(), r.begin(), r.end());
212 using misc::FixedCapacityVector;
213 using misc::FixedCapacityVectorPushBack;
216 template <
typename T,
size_t Capacity>
217 template <
class RangeIterator>
221 std::uninitialized_copy(first, last, insert_point);
223 assert(size() <= Capacity);