FastLED 3.10.6
Loading...
Searching...
No Matches

◆ compare() [4/6]

int fl::basic_string::compare ( fl::size pos1,
fl::size count1,
const basic_string & str,
fl::size pos2,
fl::size count2 = npos ) const

Definition at line 1153 of file basic_string.cpp.hpp.

1154 {
1155 if (pos1 > mLength || pos2 >= str.size()) {
1156 if (pos1 > mLength && pos2 >= str.size()) return 0;
1157 if (pos1 > mLength) return -1;
1158 return 1;
1159 }
1160 fl::size actualCount1 = count1;
1161 if (actualCount1 == npos || pos1 + actualCount1 > mLength) {
1162 actualCount1 = mLength - pos1;
1163 }
1164 fl::size actualCount2 = count2;
1165 if (actualCount2 == npos || pos2 + actualCount2 > str.size()) {
1166 actualCount2 = str.size() - pos2;
1167 }
1168 fl::size minLen = (actualCount1 < actualCount2) ? actualCount1 : actualCount2;
1169 int result = fl::strncmp(c_str() + pos1, str.c_str() + pos2, minLen);
1170 if (result != 0) return result;
1171 if (actualCount1 < actualCount2) return -1;
1172 if (actualCount1 > actualCount2) return 1;
1173 return 0;
1174}
static constexpr fl::size npos
const char * c_str() const FL_NO_EXCEPT
expected< T, E > result
Alias for expected (Rust-style naming)
Definition result.h:31
int strncmp(const char *s1, const char *s2, size_t n) FL_NO_EXCEPT

References basic_string(), c_str(), mLength, npos, size(), and fl::strncmp().

+ Here is the call graph for this function: