CommonLibSSE NG
RE::BSResource::Stream Class Referenceabstract

#include <Stream.h>

Inheritance diagram for RE::BSResource::Stream:
RE::BSResource::StreamBase RE::BSResource::DevNull::NullStream RE::BSResource::LooseFileStream

Public Member Functions

 Stream ()
 
 Stream (const Stream &a_rhs)
 
 Stream (Stream &&a_rhs)
 
 Stream (std::uint32_t a_totalSize)
 
 ~Stream () override=default
 
virtual void DoClone (BSTSmartPointer< Stream > &a_out) const =0
 
virtual ErrorCode DoRead (void *a_buffer, std::uint64_t a_toRead, std::uint64_t &a_read) const =0
 
virtual ErrorCode DoWrite (const void *a_buffer, std::uint64_t a_toWrite, std::uint64_t &a_written) const =0
 
virtual ErrorCode DoSeek (std::uint64_t a_toSeek, SeekMode a_mode, std::uint64_t &a_sought) const =0
 
virtual ErrorCode DoSetEndOfStream ()
 
virtual bool DoGetName (BSFixedString &a_dst) const
 
virtual ErrorCode DoCreateAsync (BSTSmartPointer< AsyncStream > &a_streamOut) const
 
- Public Member Functions inherited from RE::BSResource::StreamBase
 StreamBase ()
 
 StreamBase (const StreamBase &a_rhs)
 
 StreamBase (StreamBase &&a_rhs)
 
 StreamBase (std::uint32_t a_totalSize)
 
virtual ~StreamBase ()=default
 
virtual ErrorCode DoOpen ()=0
 
virtual void DoClose ()=0
 
virtual std::uint64_t DoGetKey () const
 
virtual ErrorCode DoGetInfo (Info &a_info)
 
 TES_HEAP_REDEFINE_NEW ()
 
std::uint32_t DecRef ()
 
std::uint32_t IncRef ()
 
bool IsWritable () const
 

Static Public Attributes

static constexpr auto RTTI = RTTI_BSResource__Stream
 
- Static Public Attributes inherited from RE::BSResource::StreamBase
static constexpr auto RTTI = RTTI_BSResource__StreamBase
 

Additional Inherited Members

- Public Types inherited from RE::BSResource::StreamBase
enum  : std::uint32_t { kWritable = 1 << 0 , kRefCountBeg = 0x1000 , kRefCountMask = (std::uint32_t)0xFFFFF000 }
 
- Public Attributes inherited from RE::BSResource::StreamBase
std::uint32_t totalSize
 
std::uint32_t flags
 

Constructor & Destructor Documentation

◆ Stream() [1/4]

RE::BSResource::Stream::Stream ( )

◆ Stream() [2/4]

RE::BSResource::Stream::Stream ( const Stream a_rhs)

◆ Stream() [3/4]

RE::BSResource::Stream::Stream ( Stream &&  a_rhs)

◆ Stream() [4/4]

RE::BSResource::Stream::Stream ( std::uint32_t  a_totalSize)

◆ ~Stream()

RE::BSResource::Stream::~Stream ( )
overridedefault

Member Function Documentation

◆ DoClone()

virtual void RE::BSResource::Stream::DoClone ( BSTSmartPointer< Stream > &  a_out) const
pure virtual

◆ DoCreateAsync()

virtual ErrorCode RE::BSResource::Stream::DoCreateAsync ( BSTSmartPointer< AsyncStream > &  a_streamOut) const
virtual

◆ DoGetName()

virtual bool RE::BSResource::Stream::DoGetName ( BSFixedString a_dst) const
virtual

◆ DoRead()

virtual ErrorCode RE::BSResource::Stream::DoRead ( void *  a_buffer,
std::uint64_t  a_toRead,
std::uint64_t &  a_read 
) const
pure virtual

◆ DoSeek()

virtual ErrorCode RE::BSResource::Stream::DoSeek ( std::uint64_t  a_toSeek,
SeekMode  a_mode,
std::uint64_t &  a_sought 
) const
pure virtual

◆ DoSetEndOfStream()

virtual ErrorCode RE::BSResource::Stream::DoSetEndOfStream ( )
virtual

◆ DoWrite()

virtual ErrorCode RE::BSResource::Stream::DoWrite ( const void *  a_buffer,
std::uint64_t  a_toWrite,
std::uint64_t &  a_written 
) const
pure virtual

Member Data Documentation

◆ RTTI

constexpr auto RE::BSResource::Stream::RTTI = RTTI_BSResource__Stream
inlinestaticconstexpr

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