charman.h 763 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef CHARMAN_H
  2. #define CHARMAN_H
  3. #include <string>
  4. #include <vector>
  5. class CharMan {
  6. private:
  7. std::string &buffer;
  8. std::string &work;
  9. std::string &text;
  10. std::vector<int> &text_offsets;
  11. std::vector<std::pair<int, int>> pos_len;
  12. void validate(void);
  13. void regular_expressions();
  14. char get(int);
  15. void set(int, char);
  16. void insert(int, std::string);
  17. int word_mangler(std::pair<int, int> pos_len);
  18. int word_wrangler(std::pair<int, int> pos_len);
  19. int word_tangler(std::pair<int, int> pos_len);
  20. int level;
  21. public:
  22. int mangle_count;
  23. int mangle_chars;
  24. int need_render;
  25. CharMan(std::string &buffer, std::string &work, std::string &text,
  26. std::vector<int> &text_offsets);
  27. ~CharMan();
  28. void diagnostics(void);
  29. };
  30. #endif