other.h 985 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #pragma once
  2. #include <util/generic/string.h>
  3. // Some functions for inverted url representation
  4. // No scheme cut-off, no 80th port normalization
  5. void TrspChars(char* s);
  6. void UnTrspChars(char* s);
  7. void TrspChars(char* s, size_t l);
  8. void UnTrspChars(char* s, size_t l);
  9. void TrspChars(const char* s, char* d);
  10. void UnTrspChars(const char* s, char* d);
  11. void InvertDomain(char* begin, char* end);
  12. inline TString& InvertDomain(TString& url) {
  13. InvertDomain(url.begin(), url.begin() + url.size());
  14. return url;
  15. }
  16. void InvertUrl(char* begin, char* end);
  17. inline void InvertUrl(char* url) {
  18. InvertUrl(url, url + strlen(url));
  19. }
  20. inline TString& InvertUrl(TString& url) {
  21. InvertUrl(url.begin(), url.begin() + url.size());
  22. return url;
  23. }
  24. void RevertUrl(char* begin, char* end);
  25. inline void RevertUrl(char* url) {
  26. RevertUrl(url, url + strlen(url));
  27. }
  28. inline TString& RevertUrl(TString& url) {
  29. RevertUrl(url.begin(), url.begin() + url.size());
  30. return url;
  31. }