Advertisement
Guest User

utils

a guest
Jan 25th, 2020
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.06 KB | None | 0 0
  1. #include <vector>
  2. #define newl '\n'
  3.  
  4. template <class T>
  5. void print_vector(std::vector<T> v)
  6. {
  7.     std::cout << "Size: " << v.size() << newl;
  8.     for (int i = 0; i < v.size(); i++) std::cout << v[i] << ' ';
  9.     std::cout << newl;
  10. }
  11. template <class T>
  12. void print_vector_hex(std::vector<T> v)
  13. {
  14.     std::cout << "Size: " << v.size() << newl << std::hex;
  15.     for (int i = 0; i < v.size(); i++) std::cout << v[i] << ' ';
  16.     std::cout << std::dec << newl;
  17. }
  18.  
  19. std::vector<std::string> explode(const std::string &delimiter, const std::string &str)
  20. {
  21.     using namespace std;
  22.     vector<string> arr;
  23.  
  24.     int strleng = str.length();
  25.     int delleng = delimiter.length();
  26.     if (delleng == 0)
  27.         return arr; // no change
  28.  
  29.     int i = 0;
  30.     int k = 0;
  31.     while (i < strleng)
  32.     {
  33.         int j = 0;
  34.         while (i + j < strleng && j < delleng && str[i + j] == delimiter[j])
  35.             j++;
  36.         if (j == delleng) // found delimiter
  37.         {
  38.             arr.push_back(str.substr(k, i - k));
  39.             i += delleng;
  40.             k = i;
  41.         }
  42.         else
  43.         {
  44.             i++;
  45.         }
  46.     }
  47.     arr.push_back(str.substr(k, i - k));
  48.     return arr;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement