aboutsummaryrefslogtreecommitdiff
path: root/butl/utility.ixx
diff options
context:
space:
mode:
Diffstat (limited to 'butl/utility.ixx')
-rw-r--r--butl/utility.ixx136
1 files changed, 0 insertions, 136 deletions
diff --git a/butl/utility.ixx b/butl/utility.ixx
deleted file mode 100644
index 88d57b3..0000000
--- a/butl/utility.ixx
+++ /dev/null
@@ -1,136 +0,0 @@
-// file : butl/utility.ixx -*- C++ -*-
-// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
-// license : MIT; see accompanying LICENSE file
-
-#ifndef _WIN32
-# include <strings.h> // strcasecmp(), strncasecmp()
-#else
-# include <string.h> // _stricmp(), _strnicmp()
-#endif
-
-#include <cctype> // toupper(), tolower(), isalpha(), isdigit(), isalnum()
-
-namespace butl
-{
- inline char
- ucase (char c)
- {
- return std::toupper (c);
- }
-
- inline void
- ucase (char* s, std::size_t n)
- {
- for (const char* e (s + n); s != e; ++s)
- *s = ucase (*s);
- }
-
- inline std::string&
- ucase (std::string& s)
- {
- if (size_t n = s.size ())
- {
- s.front () = s.front (); // Force copy in CoW.
- ucase (const_cast<char*> (s.data ()), n);
- }
- return s;
- }
-
- inline std::string
- ucase (const char* s, std::size_t n)
- {
- std::string r (s, n == std::string::npos ? std::strlen (s) : n);
- return ucase (r);
- }
-
- inline std::string
- ucase (const std::string& s)
- {
- return ucase (s.c_str (), s.size ());
- }
-
- inline char
- lcase (char c)
- {
- return std::tolower (c);
- }
-
- inline void
- lcase (char* s, std::size_t n)
- {
- for (const char* e (s + n); s != e; ++s)
- *s = lcase (*s);
- }
-
- inline std::string&
- lcase (std::string& s)
- {
- if (size_t n = s.size ())
- {
- s.front () = s.front (); // Force copy in CoW.
- lcase (const_cast<char*> (s.data ()), n);
- }
- return s;
- }
-
- inline std::string
- lcase (const char* s, std::size_t n)
- {
- std::string r (s, n == std::string::npos ? std::strlen (s) : n);
- return lcase (r);
- }
-
- inline std::string
- lcase (const std::string& s)
- {
- return lcase (s.c_str (), s.size ());
- }
-
- inline int
- casecmp (char l, char r)
- {
- l = lcase (l);
- r = lcase (r);
- return l < r ? -1 : (l > r ? 1 : 0);
- }
-
- inline int
- casecmp (const char* l, const char* r, std::size_t n)
- {
-#ifndef _WIN32
- return n == std::string::npos ? strcasecmp (l, r) : strncasecmp (l, r, n);
-#else
- return n == std::string::npos ? _stricmp (l, r) : _strnicmp (l, r, n);
-#endif
- }
-
- inline int
- casecmp (const std::string& l, const std::string& r, std::size_t n)
- {
- return casecmp (l.c_str (), r.c_str (), n);
- }
-
- inline int
- casecmp (const std::string& l, const char* r, std::size_t n)
- {
- return casecmp (l.c_str (), r, n);
- }
-
- inline bool
- alpha (char c)
- {
- return std::isalpha (c);
- }
-
- inline bool
- digit (char c)
- {
- return std::isdigit (c);
- }
-
- inline bool
- alnum (char c)
- {
- return std::isalnum (c);
- }
-}