63 virtual operator const Byte*()
const = 0;
65 virtual operator Byte*() = 0;
75 virtual void Map(
const UInt_64 offset,
const UInt_64 size) = 0;
84 virtual UInt_64
Write(
const Byte*
const data,
const UInt_64 size) = 0;
145 virtual UInt_64
Read(
Byte*
const buffer,
const UInt_64 size) = 0;
212 virtual void Seek(UInt_64 index) = 0;
222 virtual UInt_64
Size()
const = 0;
static Str_16 ParseFullName_16(const Str_16 &filePath)
Definition BaseFile.cpp:519
Mode mode
Definition BaseFile.h:35
virtual void Map(const UInt_64 offset, const UInt_64 size)=0
static void Rename_32(const Str_32 &filePath, const Str_32 &newName)
Definition BaseFile.cpp:497
BaseFile & operator=(const BaseFile &file)=default
void ReadStr_8(Char_8 *const buffer, UInt_64 &size)
Definition BaseFile.cpp:347
Str_8 GetName() const
Definition BaseFile.cpp:487
void WriteStr_16(const Char_16 *const str, const UInt_64 size)
Definition BaseFile.cpp:87
static Str_8 ParseFullName_8(const Str_8 &filePath)
Definition BaseFile.cpp:529
void WriteArray(const Array< Byte, UInt_64 > &arr)
Definition BaseFile.cpp:197
Str_8 extension
Definition BaseFile.h:34
static Str_32 ParseName_32(const Str_32 &filePath)
Definition BaseFile.cpp:539
void WriteStr_32(const Char_32 *const str, const UInt_64 size)
Definition BaseFile.cpp:43
Serializer< UInt_64 > ReadSerializer_64(const Endianness end, const UInt_64 size)
Definition BaseFile.cpp:433
virtual void SeekBeginning()=0
virtual UInt_64 Read(Byte *const buffer, const UInt_64 size)=0
Str_8 name
Definition BaseFile.h:33
virtual ~BaseFile()=default
Frees all native handles.
void WriteSerializer_32(const Serializer< UInt_32 > &ser)
Definition BaseFile.cpp:241
virtual UInt_64 Size() const =0
Vector< Byte, UInt_64 > ReadVector(const UInt_64 size)
Definition BaseFile.cpp:389
static Str_8 ParseExt_8(const Str_8 &filePath)
Definition BaseFile.cpp:599
Disposition disposition
Definition BaseFile.h:36
void ReadStr_16(Char_16 *const buffer, UInt_64 &size)
Definition BaseFile.cpp:305
BaseFile(const BaseFile &file)=default
void WriteStr_8(const Char_8 *const str, const UInt_64 size)
Definition BaseFile.cpp:131
static Str_32 ParseFullName_32(const Str_32 &filePath)
Definition BaseFile.cpp:509
static void Rename_16(const Str_16 &filePath, const Str_16 &newName)
Definition BaseFile.cpp:501
void ReadStr_32(Char_32 *const buffer, UInt_64 &size)
Definition BaseFile.cpp:263
Str_8 fullName
Definition BaseFile.h:32
virtual bool IsMapped() const =0
void WriteVector(const Vector< Byte, UInt_64 > &vec)
Definition BaseFile.cpp:175
void WriteSerializer_64(const Serializer< UInt_64 > &ser)
Definition BaseFile.cpp:219
Str_8 GetExtension() const
Definition BaseFile.cpp:492
BaseFile & operator=(BaseFile &&file) noexcept
Definition BaseFile.cpp:25
static void Rename_8(const Str_8 &filePath, const Str_8 &newName)
Definition BaseFile.cpp:505
Array< Byte, UInt_64 > ReadArray(const UInt_64 size)
Definition BaseFile.cpp:411
static Str_16 ParseExt_16(const Str_16 &filePath)
Definition BaseFile.cpp:590
virtual void Seek(UInt_64 index)=0
virtual UInt_64 Write(const Byte *const data, const UInt_64 size)=0
virtual void Truncate(const UInt_64 size)=0
Str_8 path
Definition BaseFile.h:31
Serializer< UInt_32 > ReadSerializer_32(const Endianness end, const UInt_32 size)
Definition BaseFile.cpp:455
virtual bool IsValid() const =0
static Str_8 ParseName_8(const Str_8 &filePath)
Definition BaseFile.cpp:567
BaseFile()
Default members initialization.
Definition BaseFile.cpp:5
static Str_16 ParseName_16(const Str_16 &filePath)
Definition BaseFile.cpp:553
virtual void FlushMap()=0
Str_8 GetFullName() const
Definition BaseFile.cpp:482
static Str_32 ParseExt_32(const Str_32 &filePath)
Definition BaseFile.cpp:581
virtual UInt_64 MapSize() const =0
Str_8 GetPath() const
Definition BaseFile.cpp:477
Definition Serializer.h:25
Endianness
Definition CPU.h:21
unsigned int UInt_32
Definition Types.h:49
Str< Char_16, UInt_64 > Str_16
Definition Str.h:1901
char32_t Char_32
Definition Types.h:42
char Char_8
Definition Types.h:40
Mode
Definition BaseFile.h:12
@ READ
Definition BaseFile.h:13
@ READ_WRITE
Definition BaseFile.h:15
@ WRITE
Definition BaseFile.h:14
Str< Char_8, UInt_64 > Str_8
Definition Str.h:1902
unsigned char Byte
Definition Types.h:39
Disposition
Definition BaseFile.h:19
@ TRUNCATE
Definition BaseFile.h:24
@ CREATE_PERSISTENT
Definition BaseFile.h:20
@ CREATE
Definition BaseFile.h:21
@ OPEN
Definition BaseFile.h:23
@ OPEN_PERSISTENT
Definition BaseFile.h:22
Str< Char_32, UInt_64 > Str_32
Definition Str.h:1900
wchar_t Char_16
Definition Types.h:41