2
0

it-reader.h 869 B

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