rt-reader.h 776 B

123456789101112131415161718192021222324252627282930
  1. #ifndef AFUN_RT_READER_H
  2. #define AFUN_RT_READER_H
  3. #include <functional>
  4. #include "aFuncore.h"
  5. namespace aFunrt {
  6. class StringReader : public aFuncore::Reader {
  7. public:
  8. inline StringReader(std::string str_, const aFuntool::FilePath &path_);
  9. size_t readText(char *dest, size_t read_len, ReadMode &mode) override;
  10. private:
  11. std::string str;
  12. size_t index;
  13. size_t len;
  14. };
  15. class FileReader : public aFuncore::Reader {
  16. public:
  17. inline explicit FileReader(const aFuntool::FilePath &path_) noexcept(false);
  18. size_t readText(char *dest, size_t read_len, ReadMode &mode) override;
  19. private:
  20. FILE *file;
  21. bool no_first;
  22. };
  23. }
  24. #include "rt-reader.inline.h"
  25. #endif //AFUN_RT_READER_H