21 { a < b } -> std::convertible_to<bool>;
26 #define EXPOSED_VECTOR_INTERFACE(InnerElement) \
27 using ExpVec = ExposedVector< InnerElement >; \
28 using ExpVec::ExposedVector; \
29 using value_type = typename ExpVec::value_type; \
30 using iterator = typename ExpVec::iterator; \
31 using const_iterator = typename ExpVec::const_iterator; \
32 using reverse_iterator = typename ExpVec::reverse_iterator; \
33 using const_reverse_iterator = typename ExpVec::const_reverse_iterator; \
34 using size_type = typename ExpVec::size_type; \
35 using pointer = typename ExpVec::pointer; \
36 using reference = typename ExpVec::reference; \
37 using const_reference = typename ExpVec::const_reference; \
38 using difference_type = typename ExpVec::difference_type; \
60 template<
class VectorElement>
73 using pointer =
typename VecMember::pointer;
106 return data_.begin();
114 return data_.begin();
122 return data_.cbegin();
134 data_.resize(new_size);
138 data_.reserve(new_size);
142 return data_.empty();
152 VectorElement&
at(
size_t i)
156 const VectorElement&
at(
size_t i)
const
164 const VectorElement&
back() const noexcept
174 data_.push_back(std::move(f));
176 template<
typename...
Args>
179 return data_.emplace_back(std::forward<Args>(args)...);
187 return data_.erase(where);
191 return data_.erase(from, to);
196 return data_.insert(where, from, to);
208 return data_.rbegin();
214 return data_.rbegin();
232 return data_.crbegin();
238 return data_.crend();
244 data_.swap(other.data_);
248 template<
typename InputIt>
251 data_.assign(first, last);
257 data_.assign(count, value);
261 void assign(std::initializer_list<VectorElement> init)
269 return data_.front();
273 const VectorElement&
front() const noexcept
275 return data_.front();
281 return data_.max_size();
287 return data_.capacity();
293 data_.shrink_to_fit();
299 return data_.insert(pos, value);
305 return data_.insert(pos, std::move(value));
311 return data_.insert(pos, count, value);
317 return data_.insert(pos, init);
321 template<
typename...
Args>
324 return data_.emplace(pos, std::forward<Args>(args)...);
353 return data_ < other.data_;
358 return data_ <= other.data_;
363 return data_ > other.data_;
368 return data_ >= other.data_;
Definition: ExposedVector.h:62
iterator insert(const_iterator where, T from, T to)
Definition: ExposedVector.h:194
void clear() noexcept
Clear all elements.
Definition: ExposedVector.h:200
std::vector< VectorElement > VecMember
Definition: ExposedVector.h:64
iterator insert(const_iterator pos, std::initializer_list< VectorElement > init)
Insert from initializer list.
Definition: ExposedVector.h:315
typename VecMember::iterator iterator
Definition: ExposedVector.h:68
const_iterator begin() const noexcept
Definition: ExposedVector.h:112
iterator insert(const_iterator pos, size_type count, const VectorElement &value)
Insert n copies of value.
Definition: ExposedVector.h:309
typename VecMember::const_iterator const_iterator
Definition: ExposedVector.h:69
const VectorElement & front() const noexcept
Get first element (const)
Definition: ExposedVector.h:273
bool operator==(const ExposedVector &other) const
Equality comparison.
Definition: ExposedVector.h:339
bool operator<=(const ExposedVector &other) const requires LessThanComparable< VectorElement >
Definition: ExposedVector.h:356
void assign(size_type count, const VectorElement &value)
Assign n copies of value.
Definition: ExposedVector.h:255
void reserve(const size_t new_size)
Definition: ExposedVector.h:136
typename VecMember::pointer pointer
Definition: ExposedVector.h:73
bool operator!=(const ExposedVector &other) const
Inequality comparison.
Definition: ExposedVector.h:345
size_t size() const noexcept
Definition: ExposedVector.h:128
bool empty() const noexcept
Definition: ExposedVector.h:140
bool operator<(const ExposedVector &other) const requires LessThanComparable< VectorElement >
Definition: ExposedVector.h:351
ExposedVector(const size_t n)
Definition: ExposedVector.h:83
bool operator>=(const ExposedVector &other) const requires LessThanComparable< VectorElement >
Definition: ExposedVector.h:366
void swap(ExposedVector &other) noexcept
Swap contents with another ExposedVector.
Definition: ExposedVector.h:242
decltype(auto) emplace_back(Args &&... args)
Definition: ExposedVector.h:177
typename VecMember::size_type size_type
Definition: ExposedVector.h:72
VectorElement & back() noexcept
Definition: ExposedVector.h:160
bool operator>(const ExposedVector &other) const requires LessThanComparable< VectorElement >
Definition: ExposedVector.h:361
typename VecMember::value_type value_type
Definition: ExposedVector.h:67
const_iterator end() const noexcept
Definition: ExposedVector.h:116
iterator emplace(const_iterator pos, Args &&... args)
Emplace element at position.
Definition: ExposedVector.h:322
VectorElement & front() noexcept
Get first element.
Definition: ExposedVector.h:267
void shrink_to_fit()
Shrink capacity to fit size.
Definition: ExposedVector.h:291
typename VecMember::reverse_iterator reverse_iterator
Definition: ExposedVector.h:70
iterator insert(const_iterator pos, const VectorElement &value)
Insert single element.
Definition: ExposedVector.h:297
iterator insert(const_iterator pos, VectorElement &&value)
Insert single element (move)
Definition: ExposedVector.h:303
typename VecMember::const_reference const_reference
Definition: ExposedVector.h:75
ExposedVector(ExposedVector &&rhs) noexcept=default
Move C'tor.
const VectorElement & back() const noexcept
Definition: ExposedVector.h:164
typename VecMember::difference_type difference_type
Definition: ExposedVector.h:76
VecMember data_
the container which holds all the data
Definition: ExposedVector.h:79
ExposedVector & operator=(ExposedVector &&rhs) noexcept=default
Move Assignment.
const VectorElement & operator[](size_t i) const noexcept
Definition: ExposedVector.h:148
void pop_back() noexcept
Definition: ExposedVector.h:181
iterator begin() noexcept
Definition: ExposedVector.h:104
const_iterator cend() const noexcept
Definition: ExposedVector.h:124
void resize(const size_t new_size)
Definition: ExposedVector.h:132
void push_back(VectorElement &&f)
Definition: ExposedVector.h:172
ExposedVector & operator=(const ExposedVector &rhs)=default
Assignment.
VectorElement & at(size_t i)
Definition: ExposedVector.h:152
typename VecMember::reference reference
Definition: ExposedVector.h:74
void assign(std::initializer_list< VectorElement > init)
Assign from initializer list.
Definition: ExposedVector.h:261
VectorElement & operator[](size_t i) noexcept
Definition: ExposedVector.h:144
const VectorElement & at(size_t i) const
Definition: ExposedVector.h:156
const_reverse_iterator crbegin() const noexcept
Get const reverse iterator to beginning.
Definition: ExposedVector.h:230
void assign(InputIt first, InputIt last)
Assign values from iterators.
Definition: ExposedVector.h:249
ExposedVector(const size_t n, const VectorElement &val)
Definition: ExposedVector.h:87
const_iterator cbegin() const noexcept
Definition: ExposedVector.h:120
size_type max_size() const noexcept
Get maximum possible size.
Definition: ExposedVector.h:279
const_reverse_iterator rend() const noexcept
Get const reverse iterator to end.
Definition: ExposedVector.h:224
reverse_iterator rbegin() noexcept
Get reverse iterator to beginning.
Definition: ExposedVector.h:206
const_reverse_iterator crend() const noexcept
Get const reverse iterator to end.
Definition: ExposedVector.h:236
void push_back(const VectorElement &f)
Definition: ExposedVector.h:168
VecMember & getData()
read access to the underlying data
Definition: ExposedVector.h:333
reverse_iterator rend() noexcept
Get reverse iterator to end.
Definition: ExposedVector.h:218
ExposedVector(const ExposedVector &rhs)=default
Copy C'tor.
ExposedVector(Iter begin, Iter end)
Definition: ExposedVector.h:90
size_type capacity() const noexcept
Get current capacity.
Definition: ExposedVector.h:285
typename VecMember::const_reverse_iterator const_reverse_iterator
Definition: ExposedVector.h:71
const VecMember & getData() const
read-only access to the underlying data
Definition: ExposedVector.h:328
iterator erase(const_iterator where) noexcept
Definition: ExposedVector.h:185
iterator erase(const_iterator from, const_iterator to) noexcept
Definition: ExposedVector.h:189
iterator end() noexcept
Definition: ExposedVector.h:108
const_reverse_iterator rbegin() const noexcept
Get const reverse iterator to beginning.
Definition: ExposedVector.h:212
custom arguments to allow for looping calls
Definition: WizardHelper.h:47
Main OpenMS namespace.
Definition: openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
concept LessThanComparable
Definition: ExposedVector.h:20