CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
Stream.hpp File Reference

Go to the source code of this file.

Classes

class  CeresEngine::StreamException
 
class  CeresEngine::StreamReadException
 
class  CeresEngine::StreamWriteException
 
class  CeresEngine::IStream
 An interface that all data streams must implement. More...
 
class  CeresEngine::Stream
 An interface that all data streams must implement. More...
 
class  CeresEngine::IInputStream
 A stream that provides read-only stream functionality. More...
 
class  CeresEngine::InputStream
 A stream that provides read-only stream functionality. More...
 
class  CeresEngine::IOutputStream
 A stream that provides write-only stream functionality. More...
 
class  CeresEngine::OutputStream
 A stream that provides write-only stream functionality. More...
 
class  CeresEngine::IAsyncStream
 
class  CeresEngine::AsyncStream
 
class  CeresEngine::IAsyncInputStream
 
class  CeresEngine::AsyncInputStream
 
class  CeresEngine::IAsyncOutputStream
 
class  CeresEngine::AsyncOutputStream
 
class  CeresEngine::IDataStream
 An interface that all data streams must implement. More...
 
class  CeresEngine::DataStream
 General purpose class used for encapsulating the reading and writing of data from and to various sources using a common interface. More...
 
class  CeresEngine::IAsyncDataStream
 An interface that all asynchronous data streams must implement. More...
 
class  CeresEngine::AsyncDataStream
 General purpose class used for encapsulating the reading and writing of data from and to various asynchronous sources using a common interface. More...
 
class  CeresEngine::AsyncDataStreamAdapter
 An adapter stream that turns an AsyncDataStream into a DataStream. More...
 
class  CeresEngine::SyncDataStreamAdapter
 An adapter stream that turns an DataStream into an AsyncDataStream. More...
 
class  CeresEngine::FileDataStream
 A data stream that reads or writes data into a file. More...
 
class  CeresEngine::MemoryDataStream
 A data stream that reads or writes data into a memory buffer. More...
 
class  CeresEngine::DataStreamBuffer
 A streambuf implementation for a DataStream. More...
 
class  CeresEngine::InputStreamBuffer
 A streambuf implementation for a InputStream. More...
 
struct  CeresEngine::BinaryCodec< T >
 A codec that implements binary serialization for a trivially copyable type T. More...
 
struct  CeresEngine::BinaryCodec< BasicString< T, RawAllocator > >
 A codec that implements binary serialization for a BasicString. More...
 
struct  CeresEngine::BinaryCodec< BasicStringView< T > >
 A codec that implements binary serialization for a BasicStringView. More...
 
class  CeresEngine::BinaryReader
 A reader that parses data from an underlying input stream as binary data. More...
 
class  CeresEngine::AsyncBinaryReader
 A reader that parses data from an underlying input stream as binary data. More...
 
class  CeresEngine::BinaryWriter
 A writer that writes data to an underlying output stream as binary data. More...
 
class  CeresEngine::AsyncBinaryWriter
 A writer that writes data to an underlying output stream as binary data. More...
 

Namespaces

namespace  CeresEngine
 

Functions

template<typename T , typename... Args>
T CeresEngine::binaryRead (InputStream &stream, Args &&... args)
 Reads a binary representation of T from the stream.
 
template<typename T , typename S , typename... Args>
T CeresEngine::binaryRead (S &stream, Args &&... args)
 
template<typename T , typename... Args>
Async< TCeresEngine::asyncBinaryRead (AsyncInputStream &stream, Args &&... args)
 
template<typename T , typename S , typename... Args>
Async< TCeresEngine::asyncBinaryRead (S &stream, Args &&... args)
 
template<typename T , typename... Args>
void CeresEngine::binaryWrite (OutputStream &stream, const T &value, Args &&... args)
 Writes a binary representation of T to the stream.
 
template<typename T , typename S , typename... Args>
void CeresEngine::binaryWrite (S &stream, const T &value, Args &&... args)
 
template<typename T , typename... Args>
Async CeresEngine::asyncBinaryWrite (AsyncOutputStream &stream, const T &value, Args &&... args)
 
template<typename T , typename S , typename... Args>
Async CeresEngine::asyncBinaryWrite (S &stream, const T &value, Args &&... args)
 

Variables

constexpr std::size_t CeresEngine::kStreamPolySize = sizeof(void*) * 8
 The size used by Stream and other polymorphic types for small object optimization.