20#ifndef OPM_UTILITY_SUBSTRING_HPP
21#define OPM_UTILITY_SUBSTRING_HPP
64 inline char front()
const;
65 inline char back()
const;
71 inline bool empty()
const;
72 inline size_t size()
const;
73 inline size_t length()
const;
81 inline std::size_t
find(
char c)
const;
102 return str.append( view.
begin(), view.
end() );
106 return view.
string().append( str.begin(), str.end() );
110 return rhs.size() == view.
size() &&
115 return std::strlen( rhs ) == view.
size() &&
128 return !( view == rhs );
132 return !( view == lhs );
136 return !( view == rhs );
140 return !( view == lhs );
183 return *(this->lst - 1);
187 return *(this->
begin() + i);
191 return std::lexicographical_compare( this->
begin(), this->
end(),
200 return std::distance( this->
begin(), this->
end() ) == 0;
204 return std::distance( this->
begin(), this->
end() );
208 return std::distance( this->
begin(), this->
end() );
221 throw std::out_of_range(
"'from' is greater than length" );
230 auto substring_size = substring.size();
231 if (substring_size > this->
size())
232 return std::string::npos;
234 auto substring_data = substring.data();
235 auto pos = this->fst;
236 auto last_pos = this->lst - substring.size() + 1;
238 while (pos != last_pos) {
240 while (substring_data[si] == *(pos + si)) {
242 if (si == substring_size)
243 return pos - this->fst;
248 return std::string::npos;
252 auto pos = this->fst;
254 while (pos != this->lst) {
256 return pos - this->fst;
261 return std::string::npos;
266 auto str_size = str.size();
267 if (str_size > this->
size())
270 auto str_data = str.data();
271 auto pos = this->fst;
275 if (*pos != str_data[si])
int count
Definition: cJSON.h:212
const char *const string
Definition: cJSON.h:170
Definition: Stringview.hpp:48
const char * const_iterator
Definition: Stringview.hpp:50
const_iterator end() const
Definition: Stringview.hpp:174
char front() const
Definition: Stringview.hpp:178
bool starts_with(const std::string &str) const
Definition: Stringview.hpp:265
size_t size() const
Definition: Stringview.hpp:203
bool operator<(const string_view &) const
Definition: Stringview.hpp:190
size_t length() const
Definition: Stringview.hpp:207
char operator[](size_t) const
Definition: Stringview.hpp:186
std::size_t find(const std::string &substring) const
Definition: Stringview.hpp:229
std::string string() const
Definition: Stringview.hpp:211
bool operator==(const string_view &) const
Definition: Stringview.hpp:195
const_iterator begin() const
Definition: Stringview.hpp:170
char back() const
Definition: Stringview.hpp:182
std::string substr(size_t from=0) const
Definition: Stringview.hpp:215
bool empty() const
Definition: Stringview.hpp:199
constexpr double from(const double q, const double unit)
Definition: custom-opm-common/opm-common/opm/parser/eclipse/Units/Units.hpp:224
bool operator==(const SummaryConfigNode &lhs, const SummaryConfigNode &rhs)
std::ostream & operator<<(std::ostream &os, const UniformTableLinear< T > &t)
Definition: UniformTableLinear.hpp:249
TimeStampUTC operator+(const TimeStampUTC &lhs, std::chrono::duration< double > delta)
bool operator!=(const SummaryConfigNode &lhs, const SummaryConfigNode &rhs)
Definition: SummaryConfig.hpp:96
T equal(const T v0, const T v1)
Definition: exprtk.hpp:1414