Changes in src/Common/utility.h [490fb92e:77d2432]
- File:
-
- 1 edited
-
src/Common/utility.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Common/utility.h
r490fb92e r77d2432 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Feb 11 13:00:36 202013 // Update Count : 5012 // Last Modified On : Wed Jul 24 14:28:19 2019 13 // Update Count : 41 14 14 // 15 15 … … 29 29 #include <utility> 30 30 #include <vector> 31 #include <cstring> // memcmp32 31 33 32 #include "Common/Indenter.h" … … 265 264 } 266 265 267 // determines if pref is a prefix of str268 static inline bool isPrefix( const std::string & str, const std::string & pref , unsigned int start = 0) {266 /// determines if `pref` is a prefix of `str` 267 static inline bool isPrefix( const std::string & str, const std::string & pref ) { 269 268 if ( pref.size() > str.size() ) return false; 270 return 0 == memcmp( str.c_str() + start, pref.c_str(), pref.size() );271 // return prefix == full.substr(0, prefix.size()); // for future, requires c++17269 auto its = std::mismatch( pref.begin(), pref.end(), str.begin() ); 270 return its.first == pref.end(); 272 271 } 273 272 … … 360 359 reverse_iterate_t( T & ref ) : ref(ref) {} 361 360 362 // this does NOT work on const T!!! 363 // typedef typename T::reverse_iterator iterator; 364 auto begin() { return ref.rbegin(); } 365 auto end() { return ref.rend(); } 361 typedef typename T::reverse_iterator iterator; 362 iterator begin() { return ref.rbegin(); } 363 iterator end() { return ref.rend(); } 366 364 }; 367 365
Note:
See TracChangeset
for help on using the changeset viewer.