35 #ifndef OPENMS_DATASTRUCTURES_CONSTREFVECTOR_H
36 #define OPENMS_DATASTRUCTURES_CONSTREFVECTOR_H
38 #include <OpenMS/config.h>
71 template <
typename ContainerT>
77 template <
class ValueT>
96 vector_ = (
typename std::vector<ValueType *> *)vec;
117 if (
this == &rhs)
return *
this;
242 template <
class ValueT>
379 typedef typename ContainerType::pointer
pointer;
433 return Iterator((std::vector<const ValueType *> *) &
vector_, (
unsigned int)0);
601 std::vector<const ValueType *> tmp;
605 tmp.push_back(pointer);
611 template <
class InputIterator>
615 std::vector<const ValueType *> tmp;
616 for (InputIterator it = f; it != l; ++it)
619 tmp.push_back(pointer);
652 vector_ = std::vector<const ValueType *>(n);
660 vector_ = std::vector<const ValueType *>(n, &element);
677 template <
class InputIterator>
683 for (InputIterator it = f; it != l; ++it)
696 for (
typename ContainerType::iterator it = p.begin(); it != p.end(); ++it)
713 if (
this == &rhs)
return *
this;
729 template <
class InputIterator>
730 void assign(InputIterator f, InputIterator l)
786 template <
typename ComparatorType>
808 #endif // OPENMS_DATASTRUCTURES_CONSTREFVECTOR_H
ConstRefVectorIterator(const ConstRefVectorIterator< ValueType > &it)
Definition: ConstRefVector.h:267
ConstRefVectorConstIterator< ValueType >::value_type & reference
Definition: ConstRefVector.h:251
ContainerT ContainerType
Type definitions.
Definition: ConstRefVector.h:363
Iterator iterator
Definition: ConstRefVector.h:380
~ConstRefVector()
See std::vector documentation.
Definition: ConstRefVector.h:704
ConstRefVectorConstIterator(const typename std::vector< ValueType * > *vec, unsigned int position)
Definition: ConstRefVector.h:94
ContainerType::pointer pointer
Definition: ConstRefVector.h:379
ConstRefVectorIterator()
Definition: ConstRefVector.h:258
ValueT ValueType
Definition: ConstRefVector.h:250
ConstReverseIterator rend() const
See std::vector documentation.
Definition: ConstRefVector.h:473
ConstRefVector & operator=(const ConstRefVector &rhs)
See std::vector documentation.
Definition: ConstRefVector.h:711
std::vector< const ValueType * > vector_
the internal vector of ValueType pointers
Definition: ConstRefVector.h:799
Iterator insert(Iterator pos, const ValueType &element)
See std::vector documentation.
Definition: ConstRefVector.h:590
ConstRefVectorConstIterator operator-(difference_type n) const
Definition: ConstRefVector.h:181
void resize(size_type new_size, const ValueType &t)
See std::vector documentation.
Definition: ConstRefVector.h:486
bool operator<=(const ConstRefVector &array) const
Comparison of container sizes.
Definition: ConstRefVector.h:566
pointer operator->()
Definition: ConstRefVector.h:224
bool operator>(const ConstRefVector &array) const
Comparison of container sizes.
Definition: ConstRefVector.h:560
ConstRefVectorConstIterator< ValueType >::value_type * pointer
Definition: ConstRefVector.h:252
ConstRefVectorConstIterator operator++(int)
Definition: ConstRefVector.h:161
Iterator erase(Iterator pos)
See std::vector documentation.
Definition: ConstRefVector.h:625
~ConstRefVectorConstIterator()
Definition: ConstRefVector.h:112
friend difference_type operator-(const ConstRefVectorConstIterator &i1, const ConstRefVectorConstIterator &i2)
Definition: ConstRefVector.h:207
ConstRefVector(size_type n, const ValueType &element)
See std::vector documentation.
Definition: ConstRefVector.h:656
bool operator<=(const ConstRefVectorConstIterator &it) const
Definition: ConstRefVector.h:135
ContainerType::size_type size_type
Definition: ConstRefVector.h:375
Iterator begin()
See std::vector documentation.
Definition: ConstRefVector.h:431
void sortByIntensity(bool reverse=false)
Sorting.
Definition: ConstRefVector.h:753
ConstRefVectorConstIterator & operator-=(difference_type n)
Definition: ConstRefVector.h:201
bool operator>(const ConstRefVectorConstIterator &it) const
Definition: ConstRefVector.h:130
ConstRefVector()
See std::vector documentation.
Definition: ConstRefVector.h:641
ReverseComparator< Cmp > reverseComparator(Cmp const &cmp)
Make-function to create a ReverseComparator from another comparator without the need to specify the t...
Definition: ComparatorUtils.h:261
ConstRefVector(const ConstRefVector &p)
See std::vector documentation.
Definition: ConstRefVector.h:664
ConstRefVectorConstIterator & operator+=(difference_type n)
Definition: ConstRefVector.h:195
ConstRefVectorIterator< const ValueType > Iterator
Definition: ConstRefVector.h:366
ConstRefVectorConstIterator(typename std::vector< ValueType * > *vec, unsigned int position)
Definition: ConstRefVector.h:100
ConstRefVectorIterator & operator++()
Definition: ConstRefVector.h:291
bool operator<(const ConstRefVector &array) const
Comparison of container sizes.
Definition: ConstRefVector.h:554
ValueT ValueType
Definition: ConstRefVector.h:83
friend void swap(ConstRefVector &a1, ConstRefVector &a2)
See std::vector documentation.
Definition: ConstRefVector.h:584
size_type size() const
See std::vector documentation.
Definition: ConstRefVector.h:401
bool operator>=(const ConstRefVectorConstIterator &it) const
Definition: ConstRefVector.h:140
ConstIterator for the ConstRefVector.
Definition: ConstRefVector.h:78
ConstRefVectorIterator & operator+=(typename ConstRefVectorIterator::difference_type n)
Definition: ConstRefVector.h:338
ConstRefVectorIterator & operator-=(typename ConstRefVectorIterator::difference_type n)
Definition: ConstRefVector.h:344
ConstRefVectorConstIterator & operator=(const ConstRefVectorConstIterator &rhs)
Definition: ConstRefVector.h:115
ConstRefVectorIterator & operator--()
Definition: ConstRefVector.h:304
void assign(InputIterator f, InputIterator l)
See std::vector documentation.
Definition: ConstRefVector.h:730
ConstRefVectorIterator operator+(typename ConstRefVectorIterator::difference_type n) const
Definition: ConstRefVector.h:324
pointer operator->()
Definition: ConstRefVector.h:281
bool operator==(const ConstRefVectorConstIterator &it) const
Definition: ConstRefVector.h:145
ReverseIterator rbegin()
See std::vector documentation.
Definition: ConstRefVector.h:455
const_reference back() const
See std::vector documentation.
Definition: ConstRefVector.h:499
void assign(size_type n, const ValueType &x)
See std::vector documentation.
Definition: ConstRefVector.h:737
const value_type & reference
Definition: ConstRefVector.h:86
bool empty() const
See std::vector documentation.
Definition: ConstRefVector.h:511
ConstRefVectorConstIterator(const ConstRefVectorConstIterator &it)
Definition: ConstRefVector.h:106
friend void swap(ConstRefVectorIterator &i1, ConstRefVectorIterator &i2)
Definition: ConstRefVector.h:350
ValueType value_type
STL-compliance type definitions.
Definition: ConstRefVector.h:374
ValueType value_type
Definition: ConstRefVector.h:84
ContainerType::reference reference
Definition: ConstRefVector.h:377
ConstRefVectorConstIterator operator--(int)
Definition: ConstRefVector.h:174
void swap(ConstRefVector &array)
See std::vector documentation.
Definition: ConstRefVector.h:578
size_type capacity() const
See std::vector documentation.
Definition: ConstRefVector.h:407
bool operator==(const ConstRefVector &array) const
See std::vector documentation.
Definition: ConstRefVector.h:523
void clear()
See std::vector documentation.
Definition: ConstRefVector.h:505
ContainerType::difference_type difference_type
Definition: ConstRefVector.h:376
reference operator*()
Definition: ConstRefVector.h:219
bool operator>=(const ConstRefVector &array) const
Comparison of container sizes.
Definition: ConstRefVector.h:572
ConstRefVectorIterator operator-(typename ConstRefVectorIterator::difference_type n) const
Definition: ConstRefVector.h:317
void pop_back()
See std::vector documentation.
Definition: ConstRefVector.h:395
const_reference front() const
See std::vector documentation.
Definition: ConstRefVector.h:493
ConstRefVectorConstIterator()
Definition: ConstRefVector.h:90
std::reverse_iterator< ConstIterator > ConstReverseIterator
Definition: ConstRefVector.h:369
ConstRefVector(InputIterator f, InputIterator l)
See std::vector documentation.
Definition: ConstRefVector.h:678
std::vector< ValueType * >::difference_type difference_type
Definition: ConstRefVector.h:85
ConstRefVector(size_type n)
See std::vector documentation.
Definition: ConstRefVector.h:648
Mutable iterator for the ConstRefVector.
Definition: ConstRefVector.h:243
void push_back(const ValueType &x)
See std::vector documentation.
Definition: ConstRefVector.h:388
void insert(Iterator pos, size_type n, const ValueType &element)
See std::vector documentation.
Definition: ConstRefVector.h:598
bool operator!=(const ConstRefVector &array) const
See std::vector documentation.
Definition: ConstRefVector.h:548
void resize(size_type new_size)
See std::vector documentation.
Definition: ConstRefVector.h:479
friend ConstRefVectorConstIterator operator+(difference_type n, const ConstRefVectorConstIterator &i)
Definition: ConstRefVector.h:212
ContainerType::value_type ValueType
Definition: ConstRefVector.h:365
size_type capacity_
the current capacity
Definition: ConstRefVector.h:801
ConstRefVectorIterator(typename std::vector< ValueType * > *vec, unsigned int position)
Definition: ConstRefVector.h:262
ConstRefVectorConstIterator & operator--()
Definition: ConstRefVector.h:168
ConstIterator begin() const
See std::vector documentation.
Definition: ConstRefVector.h:443
PointerComparator< Cmp > pointerComparator(Cmp const &cmp)
Make-function to create a PointerComparator from another comparator without the need to specify the t...
Definition: ComparatorUtils.h:210
const ContainerType * base_container_ptr_
Pointer to the base container.
Definition: ConstRefVector.h:803
bool operator<(const ConstRefVectorConstIterator &it) const
Definition: ConstRefVector.h:125
Iterator erase(Iterator first, Iterator last)
See std::vector documentation.
Definition: ConstRefVector.h:632
ContainerType::const_reference const_reference
Definition: ConstRefVector.h:378
ConstRefVectorIterator operator++(int)
Definition: ConstRefVector.h:297
std::reverse_iterator< Iterator > ReverseIterator
Definition: ConstRefVector.h:368
ConstRefVectorConstIterator< const ValueType > ConstIterator
Definition: ConstRefVector.h:367
ConstIterator end() const
See std::vector documentation.
Definition: ConstRefVector.h:449
const value_type * pointer
Definition: ConstRefVector.h:87
void sortByComparator(ComparatorType const &comparator=ComparatorType())
Definition: ConstRefVector.h:787
ReverseIterator reverse_iterator
Definition: ConstRefVector.h:382
ConstRefVectorConstIterator operator+(difference_type n) const
Definition: ConstRefVector.h:188
ConstReverseIterator rbegin() const
See std::vector documentation.
Definition: ConstRefVector.h:467
ConstRefVectorIterator operator--(int)
Definition: ConstRefVector.h:310
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:144
std::vector< ValueType * > * vector_
Definition: ConstRefVector.h:236
pointer operator->() const
Definition: ConstRefVector.h:286
ConstRefVector(ContainerType &p)
See std::vector documentation.
Definition: ConstRefVector.h:691
std::random_access_iterator_tag iterator_category
Definition: ConstRefVector.h:88
ReverseIterator rend()
See std::vector documentation.
Definition: ConstRefVector.h:461
pointer operator->() const
Definition: ConstRefVector.h:229
ConstIterator const_iterator
Definition: ConstRefVector.h:381
This vector holds pointer to the elements of another container.
Definition: ConstRefVector.h:72
~ConstRefVectorIterator()
Definition: ConstRefVector.h:272
reference operator*()
Definition: ConstRefVector.h:276
void sortByPosition()
Lexicographically sorts the elements by their position.
Definition: ConstRefVector.h:766
friend ConstRefVectorIterator operator+(typename ConstRefVectorIterator::difference_type n, const ConstRefVectorIterator &i)
Definition: ConstRefVector.h:331
unsigned int position_
Definition: ConstRefVector.h:237
const_reference operator[](size_type n) const
See std::vector documentation.
Definition: ConstRefVector.h:517
size_type max_size() const
See std::vector documentation.
Definition: ConstRefVector.h:425
Iterator end()
See std::vector documentation.
Definition: ConstRefVector.h:437
ConstRefVectorConstIterator & operator++()
Definition: ConstRefVector.h:155
ConstReverseIterator const_reverse_iterator
Definition: ConstRefVector.h:383
void insert(Iterator pos, InputIterator f, InputIterator l)
See std::vector documentation.
Definition: ConstRefVector.h:612
bool operator!=(const ConstRefVectorConstIterator &it) const
Definition: ConstRefVector.h:150
void reserve(size_type n)
See std::vector documentation.
Definition: ConstRefVector.h:413