General Purpose library for Freestanding C++ and POSIX systems
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

25 Zeilen
556 B

  1. #pragma once
  2. #include <cstddef>
  3. #include <atomic>
  4. namespace gp {
  5. template<typename> class buffer;
  6. class file_description {
  7. std::atomic_int64_t ref_counter;
  8. public:
  9. virtual void read() = 0;
  10. virtual void write() = 0;
  11. virtual void set_attr() = 0;
  12. virtual void get_attr() = 0;
  13. virtual void seek() = 0;
  14. virtual void close() = 0;
  15. static file_description* open(class system&, gp::buffer<std::byte>);
  16. static file_description* create(class system&, gp::buffer<std::byte>);
  17. static file_description* remove(class system&, gp::buffer<std::byte>);
  18. };
  19. }