sandbox
Loading...
Searching...
No Matches
sbx::filesystem::basic_native_file< Lockable > Class Template Referencefinal
Inheritance diagram for sbx::filesystem::basic_native_file< Lockable >:
sbx::filesystem::file_base

Public Types

using handle_type = std::FILE *
 
using lockable_type = Lockable
 
- Public Types inherited from sbx::filesystem::file_base
enum class  origin { begin , end , set }
 
enum class  mode : std::uint8_t {
  read = utility::bit_v<0> , write = utility::bit_v<1> , append = utility::bit_v<2> , truncate = utility::bit_v<3> ,
  read_write = read | write
}
 

Public Member Functions

 basic_native_file (const file_info &info)
 
 basic_native_file (const file_info &info, handle_type stream)
 
auto info () const -> const file_info &override
 
auto size () const -> std::uint64_t override
 
auto is_read_only () const -> bool override
 
auto open (mode mode) -> bool override
 
auto close () -> void override
 
auto is_open () const -> bool override
 
auto seek (std::uint64_t offset, origin origin) -> std::uint64_t override
 
auto tell () const -> std::uint64_t override
 
auto read (std::span< std::uint8_t > buffer) -> std::uint64_t override
 
auto read (std::vector< std::uint8_t > &buffer, std::uint64_t size) -> std::uint64_t override
 
auto write (std::span< const std::uint8_t > buffer) -> std::uint64_t override
 
auto write (const std::vector< std::uint8_t > &buffer) -> std::uint64_t override
 
- Public Member Functions inherited from sbx::filesystem::file_base
virtual auto info () const -> const file_info &=0
 
virtual auto size () const -> std::uint64_t=0
 
virtual auto is_read_only () const -> bool=0
 
virtual auto open (mode mode) -> bool=0
 
virtual auto close () -> void=0
 
virtual auto is_open () const -> bool=0
 
virtual auto seek (std::uint64_t offset, origin origin) -> std::uint64_t=0
 
virtual auto tell () const -> std::uint64_t=0
 
virtual auto read (std::span< uint8_t > buffer) -> std::uint64_t=0
 
virtual auto read (std::vector< std::uint8_t > &buffer, std::uint64_t size) -> std::uint64_t=0
 
virtual auto write (std::span< const std::uint8_t > buffer) -> std::uint64_t=0
 
virtual auto write (const std::vector< std::uint8_t > &buffer) -> std::uint64_t=0
 

Additional Inherited Members

- Static Public Member Functions inherited from sbx::filesystem::file_base
static auto mode_has_flag (mode file_mode, mode flag) -> bool
 
static auto is_mode_valid (mode file_mode) -> bool
 

Member Function Documentation

◆ close()

template<typename Lockable >
auto sbx::filesystem::basic_native_file< Lockable >::close ( ) -> void
inlineoverridevirtual

◆ info()

template<typename Lockable >
auto sbx::filesystem::basic_native_file< Lockable >::info ( ) const -> const file_info&
inlineoverridevirtual

◆ is_open()

template<typename Lockable >
auto sbx::filesystem::basic_native_file< Lockable >::is_open ( ) const -> bool
inlineoverridevirtual

◆ is_read_only()

template<typename Lockable >
auto sbx::filesystem::basic_native_file< Lockable >::is_read_only ( ) const -> bool
inlineoverridevirtual

◆ open()

template<typename Lockable >
auto sbx::filesystem::basic_native_file< Lockable >::open ( mode  mode) -> bool
inlineoverridevirtual

◆ read()

template<typename Lockable >
auto sbx::filesystem::basic_native_file< Lockable >::read ( std::vector< std::uint8_t > &  buffer,
std::uint64_t  size 
) -> std::uint64_t
inlineoverridevirtual

◆ seek()

template<typename Lockable >
auto sbx::filesystem::basic_native_file< Lockable >::seek ( std::uint64_t  offset,
origin  origin 
) -> std::uint64_t
inlineoverridevirtual

◆ size()

template<typename Lockable >
auto sbx::filesystem::basic_native_file< Lockable >::size ( ) const -> std::uint64_t
inlineoverridevirtual

◆ tell()

template<typename Lockable >
auto sbx::filesystem::basic_native_file< Lockable >::tell ( ) const -> std::uint64_t
inlineoverridevirtual

◆ write() [1/2]

template<typename Lockable >
auto sbx::filesystem::basic_native_file< Lockable >::write ( const std::vector< std::uint8_t > &  buffer) -> std::uint64_t
inlineoverridevirtual

◆ write() [2/2]

template<typename Lockable >
auto sbx::filesystem::basic_native_file< Lockable >::write ( std::span< const std::uint8_t >  buffer) -> std::uint64_t
inlineoverridevirtual

The documentation for this class was generated from the following file: