ascii_string.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // ASCII-strings processing tools
  2. //
  3. // Platform: ISO C++ 98/11
  4. // $Id$
  5. //
  6. // (c) __vic 2017
  7. #ifndef __VIC_ASCII_STRING_H
  8. #define __VIC_ASCII_STRING_H
  9. #include<__vic/defs.h>
  10. #include<string>
  11. namespace __vic { namespace ascii {
  12. //----------------------------------------------------------------------------
  13. char *toupper(char * );
  14. char *tolower(char * );
  15. std::string &toupper(std::string & );
  16. std::string &tolower(std::string & );
  17. //----------------------------------------------------------------------------
  18. //----------------------------------------------------------------------------
  19. bool equal_icase(const char * , const char * );
  20. bool equal_icase(const char * , size_t , const char * , size_t );
  21. inline bool equal_icase(const std::string &s1, const std::string &s2)
  22. {
  23. return equal_icase(s1.data(), s1.length(), s2.data(), s2.length());
  24. }
  25. inline bool equal_icase(const std::string &s1, const char *s2)
  26. {
  27. return equal_icase(s1.c_str(), s2);
  28. }
  29. inline bool equal_icase(const char *s1, const std::string &s2)
  30. {
  31. return equal_icase(s1, s2.c_str());
  32. }
  33. //----------------------------------------------------------------------------
  34. }} // namespace
  35. #endif // header guard