Loading [MathJax]/extensions/MathZoom.js
Cytopia  0.3
A city building simulation game
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
utils.hxx
Go to the documentation of this file.
1 #ifndef UTILS_HXX_
2 #define UTILS_HXX_
3 
4 #include <iterator>
5 #include <string>
6 
7 namespace utils
8 {
9 namespace Lib
10 {
12 template <class T> class Reverse
13 {
14  T const &elem;
15 
16 public:
17  Reverse(T const &r) noexcept : elem(r) {}
18 
19  auto begin() const noexcept { return std::make_reverse_iterator(std::end(elem)); }
20  auto end() const noexcept { return std::make_reverse_iterator(std::begin(elem)); }
21 };
22 } // namespace Lib
24 template <class T> auto ReverseIterator(T const &elem) { return Lib::Reverse<T>(elem); }
25 
26 namespace strings
27 {
28 
33 void removeSubString(std::string &string, const std::string &stringToRemove);
34 
40 bool endsWith(const std::string &mainStr, const std::string &toMatch);
41 
47 bool startsWith(const std::string &mainStr, const std::string &toMatch);
48 
49 } // namespace strings
50 } // namespace utils
51 
52 #endif
utils::strings::startsWith
bool startsWith(const std::string &mainStr, const std::string &toMatch)
checks if a string starts with a certain substring
Definition: utils.cxx:20
utils::Lib::Reverse::Reverse
Reverse(T const &r) noexcept
Definition: utils.hxx:17
utils::Lib::Reverse::elem
const T & elem
Definition: utils.hxx:14
utils::strings::endsWith
bool endsWith(const std::string &mainStr, const std::string &toMatch)
checks if a string ends with a certain substring
Definition: utils.cxx:15
utils::ReverseIterator
auto ReverseIterator(T const &elem)
Helper function for Reverse template because c++11 does not support template deduction.
Definition: utils.hxx:24
utils::Lib::Reverse::end
auto end() const noexcept
Definition: utils.hxx:20
utils
Definition: utils.cxx:3
string
std::string string
Definition: AudioConfig.hxx:14
utils::Lib::Reverse
Reverse the given iterator - to be used with for range loops.
Definition: utils.hxx:12
utils::strings::removeSubString
void removeSubString(std::string &string, const std::string &stringToRemove)
Erase first occurrence of given substring from main string.
Definition: utils.cxx:5
utils::Lib::Reverse::begin
auto begin() const noexcept
Definition: utils.hxx:19