1#ifndef TPRIORITYVALUE_H
2#define TPRIORITYVALUE_H
87 fValue = std::move(rhs.fValue);
146 explicit operator T()
const {
return fValue; }
163 const T& at(
size_t n)
const {
return fValue.at(n); }
164 const T& back()
const {
return fValue.back(); }
165 typename std::vector<T>::const_iterator begin()
const {
return fValue.begin(); }
166 typename std::vector<T>::const_iterator cbegin()
const {
return fValue.cbegin(); }
167 typename std::vector<T>::const_iterator cend()
const {
return fValue.cend(); }
168 typename std::vector<T>::const_reverse_iterator crbegin()
const {
return fValue.crbegin(); }
169 typename std::vector<T>::const_reverse_iterator crend()
const {
return fValue.crend(); }
170 bool empty()
const {
return fValue.empty(); }
171 typename std::vector<T>::const_iterator end()
const {
return fValue.end(); }
172 const T& front()
const {
return fValue.front(); }
173 size_t max_size()
const {
return fValue.max_size(); }
175 const T& operator[](
size_t n)
const {
return fValue[n]; }
176 typename std::vector<T>::const_reverse_iterator rbegin()
const {
return fValue.rbegin(); }
177 typename std::vector<T>::const_reverse_iterator rend()
const {
return fValue.rend(); }
178 void reserve(
size_t n) {
fValue.reserve(n); }
179 void shrink_to_fit() {
fValue.shrink_to_fit(); }
180 size_t size()
const {
return fValue.size(); }
181 void resize(
size_t count) {
fValue.resize(count); }
182 void resize(
size_t count,
const T& value) {
fValue.resize(count, value); }
209 void Reset(
const std::vector<T>& val)
221 const std::vector<T>&
Value()
const {
return fValue; }
239 fValue = std::move(rhs.fValue);
252 return fValue != rhs.fValue;
256 return fValue < rhs.fValue;
260 return fValue > rhs.fValue;
264 return fValue <= rhs.fValue;
268 return fValue >= rhs.fValue;
272 bool operator==(
const std::vector<T>& rhs)
const
276 bool operator!=(
const std::vector<T>& rhs)
const
280 bool operator<(
const std::vector<T>& rhs)
const
284 bool operator>(
const std::vector<T>& rhs)
const
288 bool operator<=(
const std::vector<T>& rhs)
const
292 bool operator>=(
const std::vector<T>& rhs)
const
298 explicit operator std::vector<T>()
const {
return fValue; }
314 const char& at(
size_t pos)
const {
return fValue.at(pos); }
315 const char& back()
const {
return fValue.back(); }
316 std::string::const_iterator begin()
const {
return fValue.begin(); }
317 size_t capacity()
const {
return fValue.capacity(); }
318 std::string::const_iterator cbegin()
const {
return fValue.cbegin(); }
319 std::string::const_iterator cend()
const {
return fValue.cend(); }
320 int compare(
const std::string& str)
const noexcept {
return fValue.compare(str); }
321 int compare(
size_t pos,
size_t len,
const std::string& str)
const {
return fValue.compare(pos, len, str); }
322 int compare(
size_t pos,
size_t len,
const std::string& str,
size_t subpos,
size_t sublen)
const {
return fValue.compare(pos, len, str, subpos, sublen); }
323 int compare(
const char* s)
const {
return fValue.compare(s); }
324 int compare(
size_t pos,
size_t len,
const char* s)
const {
return fValue.compare(pos, len, s); }
325 int compare(
size_t pos,
size_t len,
const char* s,
size_t n)
const {
return fValue.compare(pos, len, s, n); }
326 size_t copy(
char* s,
size_t len,
size_t pos = 0)
const {
return fValue.copy(s, len, pos); }
327 std::string::const_reverse_iterator crbegin()
const {
return fValue.crbegin(); }
328 std::string::const_reverse_iterator crend()
const {
return fValue.crend(); }
329 const char* c_str() const noexcept {
return fValue.c_str(); }
330 const char* data() const noexcept {
return fValue.data(); }
331 bool empty()
const {
return fValue.empty(); }
332 std::string::const_iterator end()
const {
return fValue.end(); }
334 size_t find(
const std::string& str,
size_t pos = 0) const noexcept {
return fValue.find(str, pos); }
335 size_t find(
const char* s,
size_t pos = 0)
const {
return fValue.find(s, pos); }
336 size_t find(
const char* s,
size_t pos,
size_t n)
const {
return fValue.find(s, pos, n); }
337 size_t find(
char c,
size_t pos = 0) const noexcept {
return fValue.find(c, pos); }
338 size_t find_first_not_of(
const std::string& str,
size_t pos = 0) const noexcept {
return fValue.find_first_not_of(str, pos); }
339 size_t find_first_not_of(
const char* s,
size_t pos = 0)
const {
return fValue.find_first_not_of(s, pos); }
340 size_t find_first_not_of(
const char* s,
size_t pos,
size_t n)
const {
return fValue.find_first_not_of(s, pos, n); }
341 size_t find_first_not_of(
char c,
size_t pos = 0) const noexcept {
return fValue.find_first_not_of(c, pos); }
342 size_t find_first_of(
const std::string& str,
size_t pos = 0) const noexcept {
return fValue.find_first_of(str, pos); }
343 size_t find_first_of(
const char* s,
size_t pos = 0)
const {
return fValue.find_first_of(s, pos); }
344 size_t find_first_of(
const char* s,
size_t pos,
size_t n)
const {
return fValue.find_first_of(s, pos, n); }
345 size_t find_first_of(
char c,
size_t pos = 0) const noexcept {
return fValue.find_first_of(c, pos); }
346 size_t find_last_not_of(
const std::string& str,
size_t pos = std::string::npos)
const noexcept {
return fValue.find_last_not_of(str, pos); }
347 size_t find_last_not_of(
const char* s,
size_t pos = std::string::npos)
const {
return fValue.find_last_not_of(s, pos); }
348 size_t find_last_not_of(
const char* s,
size_t pos,
size_t n)
const {
return fValue.find_last_not_of(s, pos, n); }
349 size_t find_last_not_of(
char c,
size_t pos = std::string::npos)
const noexcept {
return fValue.find_last_not_of(c, pos); }
350 size_t find_last_of(
const std::string& str,
size_t pos = std::string::npos)
const noexcept {
return fValue.find_last_of(str, pos); }
351 size_t find_last_of(
const char* s,
size_t pos = std::string::npos)
const {
return fValue.find_last_of(s, pos); }
352 size_t find_last_of(
const char* s,
size_t pos,
size_t n)
const {
return fValue.find_last_of(s, pos, n); }
353 size_t find_last_of(
char c,
size_t pos = std::string::npos)
const noexcept {
return fValue.find_last_of(c, pos); }
354 const char& front()
const {
return fValue.front(); }
355 size_t length() const noexcept {
return fValue.length(); }
356 size_t max_size() const noexcept {
return fValue.max_size(); }
357 const char& operator[](
size_t pos)
const {
return fValue[pos]; }
358 std::string::const_reverse_iterator rbegin() const noexcept {
return fValue.rbegin(); }
359 std::string::const_reverse_iterator rend() const noexcept {
return fValue.rend(); }
360 void reserve(
size_t n = 0) {
fValue.reserve(n); }
361 size_t rfind(
const std::string& str,
size_t pos = std::string::npos)
const noexcept {
return fValue.rfind(str, pos); }
362 size_t rfind(
const char* s,
size_t pos = std::string::npos)
const {
return fValue.rfind(s, pos); }
363 size_t rfind(
const char* s,
size_t pos,
size_t n)
const {
return fValue.rfind(s, pos, n); }
364 size_t rfind(
char c,
size_t pos = std::string::npos)
const noexcept {
return fValue.rfind(c, pos); }
365 void shrink_to_fit() {
fValue.shrink_to_fit(); }
366 size_t size() const noexcept {
return fValue.size(); }
367 std::string substr(
size_t pos = 0,
size_t len = std::string::npos)
const {
return fValue.substr(pos, len); }
394 void Reset(
const std::string& val)
406 const std::string&
Value()
const {
return fValue; }
465 bool operator<(
const std::string& rhs)
const
469 bool operator>(
const std::string& rhs)
const
483 explicit operator std::string()
const {
return fValue; }
TPriorityValue(TPriorityValue &&rhs) noexcept
bool operator==(const T &rhs) const
TPriorityValue(T value, EPriority priority=EPriority::kDefault)
bool operator<(const TPriorityValue< T > &rhs)
friend std::ostream & operator<<(std::ostream &, const TPriorityValue< U > &)
bool operator>=(const TPriorityValue< T > &rhs)
void Set(const T &val, EPriority priority)
TPriorityValue(const TPriorityValue &rhs)
~TPriorityValue()=default
bool operator==(const TPriorityValue< T > &rhs)
bool operator>=(const T &rhs) const
EPriority Priority() const
bool operator<(const T &rhs) const
bool operator>(const TPriorityValue< T > &rhs)
bool operator<=(const T &rhs) const
bool operator<=(const TPriorityValue< T > &rhs)
bool operator>(const T &rhs) const
TPriorityValue< T > & operator=(TPriorityValue< T > &&rhs) noexcept
const T * Address() const
TPriorityValue< T > & operator=(const TPriorityValue< T > &rhs)
bool operator!=(const TPriorityValue< T > &rhs)
bool operator!=(const T &rhs) const
void SetPriority(EPriority priority)
std::ostream & operator<<(std::ostream &out, const TPriorityValue< T > &val)