288template<
class Key,
class Compare,
class Vector>
291 return _vector <= other._vector;
298template<
class Key,
class Compare,
class Vector>
301 return _vector >= other._vector;
314template<
class Key,
class Compare,
class Vector>
317 TAU_PROFILE(
"ordered_vector::insert_unique(const value_type &)",
" ", TAU_USER);
318 ITERATOR position = find_insert_position(begin(), end(), key);
320 std::pair<ITERATOR, bool> bogus_result(end(),
false);
321 nassertr(position >= begin() && position <= end(), bogus_result);
326 if (position != begin() && !_compare(*(position - 1), key)) {
327 std::pair<ITERATOR, bool> result(position - 1,
false);
328 nassertr(!_compare(key, *(position - 1)), result);
332 ITERATOR result = _vector.insert(position, key);
333 return std::pair<ITERATOR, bool>(result,
true);
343template<
class Key,
class Compare,
class Vector>
346 TAU_PROFILE(
"ordered_vector::insert_nonunique(const value_type &)",
" ", TAU_USER);
347 ITERATOR position = find_insert_position(begin(), end(), key);
348 nassertr(position >= begin() && position <= end(), end());
350 ITERATOR result = _vector.insert(position, key);
360template<
class Key,
class Compare,
class Vector>
364 TAU_PROFILE(
"ordered_vector::insert_unverified(iterator, const value_type &)",
" ", TAU_USER);
365 ITERATOR result = _vector.insert(position, key);
373template<
class Key,
class Compare,
class Vector>
376 TAU_PROFILE(
"ordered_vector::erase(iterator)",
" ", TAU_USER);
377 SIZE_TYPE count = position - begin();
378 _vector.erase(position);
379 return begin() + count;
386template<
class Key,
class Compare,
class Vector>
389 TAU_PROFILE(
"ordered_vector::erase(const key_type &)",
" ", TAU_USER);
390 std::pair<ITERATOR, ITERATOR> result = equal_range(key);
391 SIZE_TYPE count = result.second - result.first;
392 erase(result.first, result.second);
399template<
class Key,
class Compare,
class Vector>
403 TAU_PROFILE(
"ordered_vector::erase(iterator, iterator)",
" ", TAU_USER);
404 _vector.erase(first, last);
410template<
class Key,
class Compare,
class Vector>
413 TAU_PROFILE(
"ordered_vector::clear()",
" ", TAU_USER);
414 _vector.erase(_vector.begin(), _vector.end());
422template<
class Key,
class Compare,
class Vector>
425 TAU_PROFILE(
"ordered_vector::find(const key_type &)",
" ", TAU_USER);
426 return nci(r_find(begin(), end(), end(), key));
434template<
class Key,
class Compare,
class Vector>
437 TAU_PROFILE(
"ordered_vector::find(const key_type &)",
" ", TAU_USER);
438 return r_find(begin(), end(), end(), key);
454template<
class Key,
class Compare,
class Vector>
457 TAU_PROFILE(
"ordered_vector::find_particular(const key_type &)",
" ", TAU_USER);
458 return nci(r_find_particular(begin(), end(), end(), key));
471template<
class Key,
class Compare,
class Vector>
474 TAU_PROFILE(
"ordered_vector::find_particular(const key_type &)",
" ", TAU_USER);
475 return r_find_particular(begin(), end(), end(), key);
482template<
class Key,
class Compare,
class Vector>
484count(
const key_type &key)
const {
485 TAU_PROFILE(
"ordered_vector::count(const key_type &)",
" ", TAU_USER);
486 return r_count(begin(), end(), key);
493template<
class Key,
class Compare,
class Vector>
496 TAU_PROFILE(
"ordered_vector::lower_bound(const key_type &)",
" ", TAU_USER);
497 return nci(r_lower_bound(begin(), end(), key));
504template<
class Key,
class Compare,
class Vector>
507 TAU_PROFILE(
"ordered_vector::lower_bound(const key_type &)",
" ", TAU_USER);
508 return r_lower_bound(begin(), end(), key);
515template<
class Key,
class Compare,
class Vector>
518 TAU_PROFILE(
"ordered_vector::upper_bound(const key_type &)",
" ", TAU_USER);
519 return nci(r_upper_bound(begin(), end(), key));
526template<
class Key,
class Compare,
class Vector>
529 TAU_PROFILE(
"ordered_vector::upper_bound(const key_type &)",
" ", TAU_USER);
530 return r_upper_bound(begin(), end(), key);
536template<
class Key,
class Compare,
class Vector>
539 TAU_PROFILE(
"ordered_vector::equal_range(const key_type &)",
" ", TAU_USER);
541 result = r_equal_range(begin(), end(), key);
548template<
class Key,
class Compare,
class Vector>
551 TAU_PROFILE(
"ordered_vector::equal_range(const key_type &)",
" ", TAU_USER);
552 return r_equal_range(begin(), end(), key);
559template<
class Key,
class Compare,
class Vector>
562 TAU_PROFILE(
"ordered_vector::swap(ordered_vector &)",
" ", TAU_USER);
563 _vector.swap(copy._vector);
570template<
class Key,
class Compare,
class Vector>
573 TAU_PROFILE(
"ordered_vector::reserve(size_type)",
" ", TAU_USER);
585template<
class Key,
class Compare,
class Vector>
588 TAU_PROFILE(
"ordered_vector::sort_unique()",
" ", TAU_USER);
589 sort(begin(), end(), _compare);
590 iterator new_end = unique(begin(), end(), EquivalentTest(_compare));
591 erase(new_end, end());
600template<
class Key,
class Compare,
class Vector>
603 TAU_PROFILE(
"ordered_vector::sort_nonunique()",
" ", TAU_USER);
604 std::stable_sort(begin(), end(), _compare);
612template<
class Key,
class Compare,
class Vector>
615 TAU_PROFILE(
"ordered_vector::push_back()",
" ", TAU_USER);
616 _vector.push_back(key);
624template<
class Key,
class Compare,
class Vector>
627 TAU_PROFILE(
"ordered_vector::push_back()",
" ", TAU_USER);
628 _vector.push_back(std::move(key));
634template<
class Key,
class Compare,
class Vector>
637 TAU_PROFILE(
"ordered_vector::pop_back()",
" ", TAU_USER);
645template<
class Key,
class Compare,
class Vector>
648 TAU_PROFILE(
"ordered_vector::resize()",
" ", TAU_USER);
656template<
class Key,
class Compare,
class Vector>
658resize(SIZE_TYPE n,
const VALUE_TYPE &value) {
659 TAU_PROFILE(
"ordered_vector::resize()",
" ", TAU_USER);
660 _vector.resize(n, value);
668template<
class Key,
class Compare,
class Vector>
671 return begin() + (i - begin());
678template<
class Key,
class Compare,
class Vector>
683 ITERATOR result = r_find_insert_position(first, last, key);
690template<
class Key,
class Compare,
class Vector>
700template<
class Key,
class Compare,
class Vector>
710template<
class Key,
class Compare,
class Vector>
720template<
class Key,
class Compare,
class Vector>
729template<
class Key,
class Compare,
class Vector>
738template<
class Key,
class Compare,
class Vector>