General Purpose library for Freestanding C++ and POSIX systems
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 

29 lignes
601 B

#pragma once
#include <cstddef>
#include <atomic>
namespace gp {
namespace system {
class system;
}
template<typename> class buffer;
class file_description {
std::atomic_int64_t ref_counter;
public:
virtual void read() = 0;
virtual void write() = 0;
virtual void set_attr() = 0;
virtual void get_attr() = 0;
virtual void seek() = 0;
virtual void close() = 0;
static file_description* open(system::system&, gp::buffer<std::byte>);
static file_description* create(system::system&, gp::buffer<std::byte>);
static file_description* remove(system::system&, gp::buffer<std::byte>);
};
}