taco-db  0.1.0
string_utils.h
Go to the documentation of this file.
1 #ifndef UTILS_STRING_UTILS_H
2 #define UTILS_STRING_UTILS_H
3 
4 #include "tdb.h"
5 
6 #include <string.h>
7 
8 namespace taco {
9 
10 inline void
11 str_append_spaces(std::string &buf, int num_spaces)
12 {
13  if (num_spaces == 0) return ;
14  buf.resize(buf.size() + num_spaces, ' ');
15 }
16 
17 inline int
18 string_compare_ci(const absl::string_view &s1, const absl::string_view &s2) {
19  size_t n = std::min(s1.size(), s2.size());
20  int res = strncasecmp(s1.data(), s2.data(), n);
21  if (res == 0) {
22  if (s1.size() < s2.size())
23  return -1;
24  if (s1.size() > s2.size())
25  return 1;
26  return 0;
27  }
28  return res;
29 }
30 
31 inline bool
32 string_equal_ci(const absl::string_view &s1, const absl::string_view &s2) {
33  if (s1.size() != s2.size())
34  return false;
35  int res = strncasecmp(s1.data(), s2.data(), s1.size());
36  return res == 0;
37 }
38 
39 } // namespace taco
40 
41 #endif //UTILS_STRING_UTILS_H
Definition: datum.h:28
int string_compare_ci(const absl::string_view &s1, const absl::string_view &s2)
Definition: string_utils.h:18
bool string_equal_ci(const absl::string_view &s1, const absl::string_view &s2)
Definition: string_utils.h:32
void str_append_spaces(std::string &buf, int num_spaces)
Definition: string_utils.h:11