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

Go to the source code of this file.

Classes

struct  CeresEngine::ResourceStreamID
 Type that uniquely represents a stream in the resource system. More...
 
struct  CeresEngine::ResourceStreamDescriptor
 A structure that describes the creation of a resource stream. More...
 
class  CeresEngine::ResourceStreamLock
 A lock that allows either reading or writing to the stream. More...
 
class  CeresEngine::ResourceStreamData
 An object that allows storing side-band data for a resource. More...
 
class  CeresEngine::ResourceStream
 A base class for InputStream and OutputStream of a ResourceStream. More...
 
class  CeresEngine::IResourceInputStream
 A specialized InputStream for a ResourceStream. More...
 
class  CeresEngine::ResourceInputStream
 A specialized InputStream for a ResourceStream. More...
 
class  CeresEngine::IResourceOutputStream
 A specialized OutputStream for a ResourceStream. More...
 
class  CeresEngine::ResourceOutputStream
 A specialized OutputStream for a ResourceStream. More...
 
class  CeresEngine::WrappedResourceInputStream
 A specialized InputStream for a ResourceStream. More...
 
class  CeresEngine::WrappedResourceOutputStream
 A specialized OutputStream for a ResourceStream. More...
 
class  CeresEngine::HResourceStream
 A stream associated to a resource. More...
 
class  CeresEngine::InMemoryResourceStreamData
 A ResourceStream stored fully in memory. More...
 

Namespaces

namespace  CeresEngine
 

Typedefs

using CeresEngine::ResourceStreamFlags = Flags< ResourceStreamFlag >
 A set of flags that can be given when creating a new resource stream.
 
using CeresEngine::ResourceStreamReadFlags = Flags< ResourceStreamReadFlag >
 
using CeresEngine::ResourceStreamWriteFlags = Flags< ResourceStreamWriteFlag >
 
using CeresEngine::ResourceStreamLockMutex = TAsyncSharedMutex< AnyExecutor >
 An async mutex type used to acquire read-only/write locks on the resource stream.
 

Enumerations

enum class  CeresEngine::ResourceStreamFlag { CeresEngine::Seekable = (1u << 0u) , CeresEngine::Compressible = (1u << 1u) , CeresEngine::Default = 0 }
 A set of flags that can be given when creating a new resource stream. More...
 
enum class  CeresEngine::ResourceStreamReadFlag { CeresEngine::Buffered }
 
enum class  CeresEngine::ResourceStreamWriteFlag { CeresEngine::Buffered , CeresEngine::Truncate }
 

Functions

constexpr Flags< ResourceStreamFlag, std::underlying_type_t< ResourceStreamFlag > > CeresEngine::operator| (ResourceStreamFlag a, ResourceStreamFlag b) noexcept
 
constexpr Flags< ResourceStreamFlag, std::underlying_type_t< ResourceStreamFlag > > CeresEngine::operator& (ResourceStreamFlag a, ResourceStreamFlag b) noexcept
 
constexpr Flags< ResourceStreamFlag, std::underlying_type_t< ResourceStreamFlag > > CeresEngine::operator~ (ResourceStreamFlag a) noexcept
 
constexpr Flags< ResourceStreamReadFlag, std::underlying_type_t< ResourceStreamReadFlag > > CeresEngine::operator| (ResourceStreamReadFlag a, ResourceStreamReadFlag b) noexcept
 
constexpr Flags< ResourceStreamReadFlag, std::underlying_type_t< ResourceStreamReadFlag > > CeresEngine::operator& (ResourceStreamReadFlag a, ResourceStreamReadFlag b) noexcept
 
constexpr Flags< ResourceStreamReadFlag, std::underlying_type_t< ResourceStreamReadFlag > > CeresEngine::operator~ (ResourceStreamReadFlag a) noexcept
 
constexpr Flags< ResourceStreamWriteFlag, std::underlying_type_t< ResourceStreamWriteFlag > > CeresEngine::operator| (ResourceStreamWriteFlag a, ResourceStreamWriteFlag b) noexcept
 
constexpr Flags< ResourceStreamWriteFlag, std::underlying_type_t< ResourceStreamWriteFlag > > CeresEngine::operator& (ResourceStreamWriteFlag a, ResourceStreamWriteFlag b) noexcept
 
constexpr Flags< ResourceStreamWriteFlag, std::underlying_type_t< ResourceStreamWriteFlag > > CeresEngine::operator~ (ResourceStreamWriteFlag a) noexcept