CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine Namespace Reference

Namespaces

namespace  BucketDistribution
 
namespace  Constraint
 
namespace  details
 
namespace  detailv3
 
namespace  Editor
 
namespace  Graphics
 
namespace  impl
 Helper functions for comparing iterators.
 
namespace  internal
 
namespace  literals
 
namespace  MeshGenerator
 
namespace  MPL
 
namespace  mpl
 
namespace  RenderGraph2
 
namespace  ShaderCompiler
 
namespace  traits
 

Classes

class  AbstractActionHandler
 
class  AbstractAudioResource
 A abstract audio resource. More...
 
struct  AbstractComponent
 A abstract class that provides a trait that allows checking for component implementations. More...
 
struct  AbstractComponentListener
 An abstract type that represents a generic component listener. More...
 
class  AbstractComponentStore
 The component store class is responsible for managing and organizing component data storage in memory. More...
 
struct  AbstractEntityAction
 A base class shared by all actions triggered by an entity. More...
 
struct  AbstractEntityEvent
 A abstract class that provides a trait that allows checking for event implementations. More...
 
class  AbstractEntityEventDispatcher
 The event dispatcher is a class responsible for forwarding events to their respective listeners. More...
 
struct  AbstractNetworkAction
 
struct  AbstractNetworkEvent
 
class  AbstractResourceHandle
 Base class for weak and strong resource handle implementation. More...
 
class  AbstractSystem
 A abstract class that provides a trait that allows checking for system implementations. More...
 
struct  Addable
 
struct  AdoptPtrT
 A tag type that is used to adopt a pointer, rather than retain it upon construction.
 
class  ALAudioAPI
 
class  ALBuffer
 
class  ALDevice
 
class  ALListener
 
class  AllOfAlgorithmFunctor
 Functor representing the overloads for the all_of function. More...
 
class  ALSource
 
struct  AndPredicate
 A predicate implementation that performs a logical AND between other predicates. More...
 
struct  AndPredicate< AndPredicate< Predicate1, Predicate2 >, AndPredicate< Predicate3, Predicate4 > >
 A specialization for the AndPredicate that unfolds nested and predicates into one. More...
 
struct  AndPredicate< AndPredicate< Predicate1, Predicate2 >, Predicate3 >
 A specialization for the AndPredicate that unfolds nested and predicates into one. More...
 
struct  AndPredicate< NotPredicate< Predicate1 >, NotPredicate< Predicate2 > >
 An optimization to an and predicate that applies the "De Morgan" to the operands. More...
 
struct  AndPredicate< Predicate1, AndPredicate< Predicate2, Predicate3 > >
 A specialization for the AndPredicate that unfolds nested and predicates into one. More...
 
struct  AndPredicate< Predicate1, Predicate2 >
 A predicate implementation that performs a logical AND between two other predicates. More...
 
class  Any
 
class  AnyInputEvent
 A type that describes any possible event type. More...
 
class  AnyOfAlgorithmFunctor
 Functor representing the overloads for the any_of function. More...
 
class  AnyUIEvent
 A variant type that can hold any UIEvent. More...
 
class  AppleDispatchQueue
 Abstracts a libdispatch queue as an ASIO execution context. More...
 
class  AppleFileSystem
 Representation of the local file system on Apple. More...
 
class  AppleFileWatcher
 File watcher for the local file system for the Windows platform. More...
 
class  ApplePlatform
 A platform implementation for Apple. More...
 
class  AppleRunLoop
 Abstracts a CoreFoundation CFRunLoop as an ASIO execution context. More...
 
class  Application
 A base class to be used by all engine applications. More...
 
struct  ApplyForce
 
class  Arena
 
struct  Arithmetic
 
struct  array_length_t
 
struct  array_length_t< T[N]>
 
class  ArrayTypeInfo
 
class  AsyncAutoResetEvent
 An async auto-reset event is a coroutine synchronisation abstraction that allows one or more coroutines to wait until some thread calls set() on the event. More...
 
class  AsyncBinaryReader
 A reader that parses data from an underlying input stream as binary data. More...
 
class  AsyncBinaryWriter
 A writer that writes data to an underlying output stream as binary data. More...
 
class  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  AsyncDataStreamAdapter
 An adapter stream that turns an AsyncDataStream into a DataStream. More...
 
class  AsyncGenerator
 A generator represents a coroutine type that produces a sequence of values of type T, where values are produced lazily and synchronously. More...
 
class  AsyncInputStream
 
class  AsyncLatch
 
class  AsyncManualResetEvent
 An async manual-reset event is a coroutine synchronisation abstraction that allows one or more coroutines to wait until some thread calls set() on the event. More...
 
class  AsyncOutputStream
 
class  AsyncStream
 
class  AttributedString
 A string that has associated attributes (such as visual style, hyperlinks, or accessibility data) for portions of its text. More...
 
class  AudioAPI
 
class  AudioAPIBuffer
 The Buffer class represents an audio buffer (or a piece of) which consists of a sequence of samples that are loaded into an audio engine. More...
 
struct  AudioAPIBufferDescriptor
 
class  AudioAPIDevice
 
struct  AudioAPIDeviceDescriptor
 A descriptor structure that describes the creation of an audio device. More...
 
class  AudioAPIListener
 A listener is a entity that represents the location, direction and velocity of a object (generally the player) that is listening to audio being emitted by one or more sources. More...
 
struct  AudioAPIListenerDescriptor
 A descriptor structure that describes the creation of an audio listener. More...
 
class  AudioAPISource
 A audio source is an entity that emits sounds. More...
 
struct  AudioAPISourceDescriptor
 A descriptor structure that describes the creation of an audio source. More...
 
class  AudioClip
 A audio clip is a small piece of audio that is entirely loaded into memory. More...
 
class  AudioClipImporter
 
struct  AudioClipImportOptions
 
struct  AudioListenerComponent
 A component that represents a listener that hears audio sources. More...
 
struct  AudioMetadata
 A class collecting audio metadata information. More...
 
class  AudioResource
 A audio resource. More...
 
struct  AudioSourceComponent
 A component that represents a source for emitting audio. More...
 
class  AudioStream
 A audio stream is a larger piece of audio that will be streammed for the device (instead of feeding all audio samples all at once). More...
 
class  AudioStreamImporter
 
struct  AudioStreamImportOptions
 
class  AudioSystem
 A system that implements audio playback. More...
 
class  AxisInputRange
 
class  BadArgumentCast
 
class  BadCast
 
class  BadMetaCast
 
class  BadMetaValueCast
 
class  BadMetaValueConvert
 
class  BasePassRenderTask
 
class  BasePassTerrainRenderTask
 
class  BasicIndexedMultimap
 
class  BasicInputSlot
 A basic input slot. More...
 
class  BasicOutputSlot
 A basic output slot. More...
 
class  BasicString
 Basic string that uses framework's memory allocators. More...
 
class  BasicStringBase
 
class  BasicStringView
 Basic string view. More...
 
struct  BC
 
class  BezierPath
 A path that consists of straight and curved line segments that you can render. More...
 
struct  BinaryAddable
 
class  BinaryAlgorithmFunctor
 Binary algorithm overloads. More...
 
struct  BinaryCodec
 A class that can be specialized to implement support for custom binary serialization of a type. More...
 
struct  BinaryCodec< BasicString< T, RawAllocator > >
 A codec that implements binary serialization for a BasicString. More...
 
struct  BinaryCodec< BasicStringView< T > >
 A codec that implements binary serialization for a BasicStringView. More...
 
struct  BinaryCodec< T >
 A codec that implements binary serialization for a trivially copyable type T. More...
 
class  BinaryDeserializer
 A Deserializer that reads the serialized content from a binary encoded CBOR object stream. More...
 
struct  BinaryPredicate
 A predicate that operates using two other predicates as-if a binary operation. More...
 
class  BinaryReader
 A reader that parses data from an underlying input stream as binary data. More...
 
class  BinarySerializer
 A Serializer that writes the serialized content as a binary encoded CBOR object stream. More...
 
struct  BinarySubtractable
 
class  BinaryWriter
 A writer that writes data to an underlying output stream as binary data. More...
 
class  BitContainer
 Creates a BitView that owns its data. More...
 
class  BitIterator
 
class  Bitmap
 A class that wraps a bitmap into a rich class for accessing it. More...
 
class  BitReference
 A reference for a single bit. More...
 
class  BitView
 
struct  BitwiseAndable
 
struct  BitwiseInvertable
 
struct  BitwiseLeftShiftable
 
struct  BitwiseOrable
 
struct  BitwiseRightShiftable
 
struct  BitwiseXorable
 
class  Box
 A value type that can hold any alongside it's type information. More...
 
class  BSPScenePartition
 
class  Buffer
 Represents a secure buffer i.e. More...
 
class  BufferedDataStream
 A filtered DataStream that caches read and write operations to it's underlying DataStream. More...
 
class  BufferedInputStream
 A filtered InputStream that caches read and write operations to it's underlying InputStream. More...
 
class  BufferedOutputStream
 A filtered OutputStream that caches read and write operations to it's underlying OutputStream. More...
 
class  BufferRenderResource
 
class  BulletPhysicsSystem
 
class  ButtonOnceInputAction
 
class  ButtonPressedInputAction
 
class  BVHScenePartition
 
class  ByteTypeInfo
 
struct  Callable
 
class  Camera
 
struct  CameraComponent
 
struct  CameraSettings
 A structure that contains settins for a camera. More...
 
class  CBOR
 Concise Binary Object Representation (CBOR) More...
 
class  CESLShader
 A shader that must be compiled as a "CeresEngine Shading Language". More...
 
class  Channel
 The coroutine channel is a helper utility class that allows to implement easy object passing between coroutines. More...
 
struct  CiCharTraits
 Case insensitive character traits structure. More...
 
class  Class
 
class  ClassConstructor
 
struct  ClassInfo
 A structure that contains type information for a class. More...
 
class  ClassMember
 
class  ClassMethod
 
class  ClassProperty
 Represents a reflected property from metadata defined by the class. More...
 
struct  ClearGraphicsCommand
 
class  CodeWriter
 
struct  ComparableTrait
 
struct  Component
 Components serve as the base for data storage for an entity. More...
 
struct  ComponentAdded
 An event that gets dispatched when a new component of type C gets added to an entity. More...
 
struct  ComponentChange
 A structure that encodes a change to a single component field. More...
 
struct  ComponentChangeSet
 A structure that encodes a set of changes done to a component. More...
 
struct  ComponentFieldMutator
 
struct  ComponentListener
 The ComponentListener is a EntityManager listener type that gets notified whenever an entity matching a given mask() gets added or removed in the entity manager. More...
 
class  ComponentMaskSet
 A object that manages a set of components masks. More...
 
struct  ComponentPredicate
 A predicate that checks if the given entity has all components in Cs. More...
 
struct  ComponentPredicate< ComponentSet< Cs... > >
 A predicate that checks if the given entity has all components in Cs. More...
 
struct  ComponentRemoved
 An event that gets dispatched when a component of type C gets removed from an entity. More...
 
struct  ComponentSet
 
struct  ComponentSet<>
 
class  ComponentStore
 A type-safe component store implementation. More...
 
class  ComponentType
 A type that describes and provides type-erased operations on a component. More...
 
class  ComputeRenderTask
 
class  Connection
 A class that describes the connection between an input and an output slot. More...
 
class  ConstructibleTypeTrait
 
class  ConstTypeInfo
 
class  ContentType
 A class that parses, handles and encapsulates a MIME-like content type. More...
 
class  CopyableBuffer
 
class  CopyableTypeTrait
 
class  CopyOnWritePtr
 A copy-on-write pointer type that shares a single instance of an object when copied but allows. More...
 
class  CountAlgorithmFunctor
 Functor representing the overloads for the count function. More...
 
class  CountedPtr
 A retain-release type of smart pointer. More...
 
struct  CountedPtrTrait
 A trait template class that can be specialized for custom types. More...
 
struct  CountedPtrTrait< CeresEngine::AudioAPI >
 
struct  CountedPtrTrait< CeresEngine::AudioAPIBuffer >
 
struct  CountedPtrTrait< CeresEngine::AudioAPIDevice >
 
struct  CountedPtrTrait< CeresEngine::AudioAPIListener >
 
struct  CountedPtrTrait< CeresEngine::AudioAPISource >
 
struct  CountedPtrTrait< CeresEngine::GPUBuffer >
 
struct  CountedPtrTrait< CeresEngine::GPUCommandBuffer >
 
struct  CountedPtrTrait< CeresEngine::GPUCommandQueue >
 
struct  CountedPtrTrait< CeresEngine::GPUComputePipeline >
 
struct  CountedPtrTrait< CeresEngine::GPUDevice >
 
struct  CountedPtrTrait< CeresEngine::GPUFence >
 
struct  CountedPtrTrait< CeresEngine::GPUGraphicsPipeline >
 
struct  CountedPtrTrait< CeresEngine::GPUImage >
 
struct  CountedPtrTrait< CeresEngine::GPUImageView >
 
struct  CountedPtrTrait< CeresEngine::GPUOcclusionQuery >
 
struct  CountedPtrTrait< CeresEngine::GPUPipelineLayout >
 
struct  CountedPtrTrait< CeresEngine::GPURenderPass >
 
struct  CountedPtrTrait< CeresEngine::GPURenderTarget >
 
struct  CountedPtrTrait< CeresEngine::GPUResourceSet >
 
struct  CountedPtrTrait< CeresEngine::GPUSampler >
 
struct  CountedPtrTrait< CeresEngine::GPUShader >
 
struct  CountedPtrTrait< CeresEngine::GPUShaderProgram >
 
struct  CountedPtrTrait< CeresEngine::GPUSwapchain >
 
struct  CountedPtrTrait< CeresEngine::GPUTimerQuery >
 
struct  CountedPtrTrait< CeresEngine::Graph >
 
struct  CountedPtrTrait< CeresEngine::GraphConnection >
 
struct  CountedPtrTrait< CeresEngine::GraphInstance >
 
struct  CountedPtrTrait< CeresEngine::GraphNode >
 
struct  CountedPtrTrait< CeresEngine::GraphSocket >
 
struct  CountedPtrTrait< CeresEngine::IFileSystem >
 
struct  CountedPtrTrait< CeresEngine::Package >
 
struct  CountedPtrTrait< CeresEngine::RendererComputePipeline >
 
struct  CountedPtrTrait< CeresEngine::RendererGraphicsPipeline >
 
struct  CountedPtrTrait< CeresEngine::RendererMesh >
 
struct  CountedPtrTrait< CeresEngine::RendererShader >
 
struct  CountedPtrTrait< CeresEngine::RendererTexture >
 
struct  CountedPtrTrait< CeresEngine::RenderGraph2::RenderGraphBuffer >
 
struct  CountedPtrTrait< CeresEngine::RenderGraph2::RenderGraphImage >
 
struct  CountedPtrTrait< CeresEngine::RenderGraph2::RenderGraphResource >
 
struct  CountedPtrTrait< CeresEngine::ResourceData >
 
struct  CountedPtrTrait< CeresEngine::ResourceStreamData >
 
struct  CountedPtrTrait< CeresEngine::UIAppearance >
 
struct  CountedPtrTrait< CeresEngine::UIBackingStore >
 
struct  CountedPtrTrait< CeresEngine::UILayer >
 
struct  CountedPtrTrait< CeresEngine::UIView >
 
struct  CountedPtrTrait< CeresEngine::UIViewController >
 
struct  CountedPtrTrait< CeresEngine::UIWindow >
 
struct  CountedPtrTrait< CeresEngine::UIWindowDevice >
 
struct  CountedPtrTrait< T >
 
class  CountIfAlgorithmFunctor
 Functor representing the overloads for the count_if function. More...
 
struct  CRTP
 
struct  CustomSerializationOptions
 Specifies a set of options that specify how a custom serializer should behave. More...
 
class  DataStream
 General purpose class used for encapsulating the reading and writing of data from and to various sources using a common interface. More...
 
class  DataStreamBuffer
 A streambuf implementation for a DataStream. More...
 
struct  Decrementable
 
struct  DefaultAllocator
 
class  DefaultFontImporter
 
class  DefinitionError
 
class  DeltaAxisInputRange
 
class  DepthPrePassRenderTask
 
struct  Dereferencable
 
struct  Dereferencable< NamedType< T, Parameter, Skills... > >
 
class  DereferenceableTypeTrait
 
class  Deserializer
 The deserializer class has basic support for reflection-based deserializers. More...
 
class  DeserializerState
 A class that represents state for a deserializer. More...
 
class  DestructibleTypeTrait
 
class  DispatchQueue
 An object that manages the execution of tasks serially or concurrently on your app's main thread or on a background thread. More...
 
struct  Divisible
 
class  DummyInputProvider
 
class  DummyStringDatabase
 A database that doesn't store the string-values. More...
 
class  DuplicateMetaclass
 
class  DynamicBitSet
 The DynamicBitSet, which similar to BitSet, but does not have the size in its type. More...
 
struct  DynamicBitSetIteratorBase
 
class  DynamicLibrary
 
class  EmscriptenPlatform
 
class  EmscriptenRunLoop
 Abstracts a CoreFoundation CFRunLoop as an ASIO execution context. More...
 
class  EncryptedString
 
class  EncryptedString< std::index_sequence< Index... > >
 
class  Engine
 
class  Entity
 The base entity class. More...
 
struct  EntityAction
 A class that must be inherited by concrete action types. More...
 
class  EntityActionHandler
 
class  EntityActionManager
 
struct  EntityActionSet
 
struct  EntityActionSet<>
 
class  EntityActionType
 A type that describes and provides type-erased operations on a entity action. More...
 
struct  EntityChange
 A structure that encodes a change to an entity field. More...
 
struct  EntityChangeSet
 
struct  EntityCreated
 An event that gets dispatched when an entity has been created. More...
 
struct  EntityDestroyed
 An event that gets dispatched when an entity has been destroyed. More...
 
struct  EntityDirty
 An event that gets dispatched whenever the entity is marked as dirty. More...
 
struct  EntityEvent
 A template class that wraps a event. More...
 
class  EntityEventDispatcher
 A type-safe event dispatcher implementation for events of type E. More...
 
class  EntityEventListener
 A event listener that listens for events. More...
 
class  EntityEventManager
 
struct  EntityEventSet
 
struct  EntityEventSet<>
 
class  EntityEventType
 A type that describes and provides type-erased operations on a entity event. More...
 
struct  EntityID
 
class  EntityIDAllocator
 
class  EntityManager
 
struct  EntityNameChanged
 An event that gets dispatched when an entity name is changed. More...
 
class  EntityObject
 A type-safe entity type. More...
 
struct  EntityObjectSet
 
struct  EntityObjectSet<>
 
struct  EntityObjectTraits
 
struct  EntityObjectTraits< EntityObject< Components... > >
 
struct  EntityParentChanged
 An event that gets dispatched when an entity parent is changed. More...
 
class  EntityQuery
 
class  EntityScript
 
class  EntitySerialization
 
class  EntityTemplate
 
class  Enum
 Represents a reflected enum from C++. More...
 
class  EnumerateIterator
 An iterator type that keeps an index count of the current item. More...
 
class  EnumValue
 Represents an enum value. More...
 
class  Environment
 The Environment object is a mixin entity from a Scene that holds the environment to be rendered on the scene. More...
 
struct  EnvironmentComponent
 The Environment component. More...
 
class  EqualityComparableTypeTrait
 
struct  ErasableTypeTrait
 A meta interface that can be implemented by types that support erasion. More...
 
class  EventAccumulator
 Event accumulator class template. More...
 
class  EventConnection
 Scoped connection class. More...
 
struct  EventDisconnector
 Interface for type erasure when disconnecting slots. More...
 
class  Exception
 
class  ExecutionContext
 A context for function object execution. More...
 
struct  ExecutorPriority
 Determines the priority to which an executor should schedule its tasks. More...
 
class  ExternalBufferRenderResource
 
class  ExternalImageRenderResource
 
struct  f_signature
 
struct  fibonacci_hash_policy
 
class  FileDataStream
 A data stream that reads or writes data into a file. More...
 
class  FileEventHandler
 A handler that is informed about file system events. More...
 
class  FileHandle
 Handle for a file or directory. More...
 
class  FileIterator
 An iterator that allows traversing over a file's children. More...
 
class  FileNotFoundException
 
class  FilePath
 Path to file or directory. More...
 
class  FileURLProtocol
 A URLProtocol implementation that fetches resources from the local operating system file system. More...
 
class  FileVisitor
 The file file visitor interface. More...
 
class  FileWatcher
 Watcher that reports on changes of files or directories. More...
 
class  FilteredDataStream
 A helper data stream that allows filtering the results of another data stream. More...
 
class  FilteredInputStream
 A helper data stream that allows filtering the results of another data stream. More...
 
class  FilteredOutputStream
 A helper data stream that allows filtering the results of another data stream. More...
 
class  FinalCompositingRenderTask
 
class  FindAlgorithmFunctor
 Functor representing the overloads for the find function. More...
 
class  FindIfAlgorithmFunctor
 Functor representing the overloads for the find_if function. More...
 
class  FindIfNotAlgorithmFunctor
 Functor representing the overloads for the find_if_not function. More...
 
struct  Flags
 Wrapper around an enum that allows simple use of bitwise logic operations. More...
 
class  FlatHashMap
 
class  FlatHashSet
 
class  FlatMap
 FlatMap is an almsot drop-in replacement of Map. More...
 
class  FlatScenePartition
 A flat scene partitioning system. More...
 
class  Font
 The representation of a font in the engine. More...
 
class  FontGlyphManager
 
class  FontImporter
 
struct  FontImportOptions
 
struct  FontProperties
 
class  ForEachAlgorithmFunctor
 Functor representing the overloads for the for_each function. More...
 
struct  function_traits
 
class  FunctionalFileEventHandler
 A FileEventHandler that calls a function or a lambda. More...
 
class  FunctionalFileVisitor
 File visitor that calls a function or lambda. More...
 
struct  FunctionCallable
 
struct  FunctionCallable< NamedType< T, Parameter, Skills... > >
 
struct  GainedAuthority
 
class  Generator
 A generator represents a coroutine type that produces a sequence of values of type T, where values are produced lazily and synchronously. More...
 
struct  GetTypeInfo
 
struct  GetTypeInfo< Array< T, N > >
 
struct  GetTypeInfo< Box >
 
struct  GetTypeInfo< const T >
 
struct  GetTypeInfo< const T[]>
 
struct  GetTypeInfo< const T[N]>
 
struct  GetTypeInfo< List< T, Allocator > >
 
struct  GetTypeInfo< R(C::*)(Args...) const & >
 
struct  GetTypeInfo< R(C::*)(Args...) const >
 
struct  GetTypeInfo< R(C::*)(Args...)& >
 
struct  GetTypeInfo< R(C::*)(Args...)&& >
 
struct  GetTypeInfo< R(C::*)(Args...)>
 
struct  GetTypeInfo< RC< T > >
 
struct  GetTypeInfo< SmallVector< T, N, Allocator > >
 
struct  GetTypeInfo< SPtr< T > >
 
struct  GetTypeInfo< std::byte >
 
struct  GetTypeInfo< std::nullptr_t >
 
struct  GetTypeInfo< T & >
 
struct  GetTypeInfo< T && >
 
struct  GetTypeInfo< T * >
 
struct  GetTypeInfo< T >
 
struct  GetTypeInfo< T C::* >
 
struct  GetTypeInfo< T[]>
 
struct  GetTypeInfo< T[N]>
 
struct  GetTypeInfo< UPtr< T, Deleter > >
 
struct  GetTypeInfo< Vector< T, Allocator > >
 
struct  GetTypeInfo< void >
 
class  GLBuffer
 
struct  GLCapability
 A helper class that wraps a OpenGL capability. More...
 
class  GLCommandBuffer
 
class  GLCommandQueue
 
class  GLComputePipeline
 
class  GLDevice
 
class  GLDeviceObject
 
class  GLFence
 
class  GLFWWindow
 
struct  GLGlobalState
 A helper class that wraps an OpenGL state function. More...
 
struct  GLGlobalState< F< void(T, Ts...)> >
 A helper class that wraps an OpenGL state function. More...
 
struct  GLGlobalState< void(*)(T, Ts...)>
 A helper class that wraps an OpenGL state function. More...
 
struct  GLGlobalState< void(T, Ts...)>
 A helper class that wraps an OpenGL state function. More...
 
struct  GLGlobalStateCollection
 
struct  GLGlobalStateCollection< I, void(T, Ts...), N >
 A helper class that wraps an OpenGL state function. More...
 
class  GLGlobalStateManager
 
class  GLGraphicsPipeline
 
class  GLImage
 
struct  GLImageState
 A helper class that tracks the image state. More...
 
class  GLIndexBuffer
 
struct  GlobalIlluminationSettings
 Settings that control Global Illumination. More...
 
class  GLObject
 
class  GLObject< ChildTypeName, void >
 
struct  GLObjectHandle
 
struct  GLObjectState
 
struct  GLObjectState< Object, void(T)>
 
class  GLPipelineLayout
 
class  GLRenderAPI
 
struct  GLRenderAPIDescriptor
 
class  GLRenderPass
 
class  GLRenderTarget
 
class  GLResourceSet
 
class  GLSampler
 
class  GLShader
 
class  GLShaderProgram
 
class  GLSLShader
 A shader that must be compiled as a "GLSL Shading Language". More...
 
struct  GLState
 
class  GLStorageBuffer
 
class  GLTFSceneImporter
 
class  GLUniformBuffer
 
class  GLVertexBuffer
 
struct  GlyphDescriptor
 Describes a single character in a font of a specific size. More...
 
struct  GlyphLayout
 A structure that describes positioning and sizing of a single glyph in a text layout. More...
 
struct  GlyphProperties
 Describes a single character in a font. More...
 
struct  GPUAttachmentDescriptor
 Render target attachment descriptor structure. More...
 
struct  GPUAttachmentFormatDescriptor
 Render target attachment descriptor structure. More...
 
struct  GPUBindingDescriptor
 Layout structure for a single binding point of the pipeline layout descriptor. More...
 
class  GPUBindlessBuffer
 A GPU bindless buffer. More...
 
struct  GPUBlendDescriptor
 Blending state descriptor structure. More...
 
struct  GPUBlendTargetDescriptor
 Blend target state descriptor structure. More...
 
class  GPUBuffer
 
struct  GPUBufferDescriptor
 Hardware buffer descriptor structure. More...
 
class  GPUBufferObject
 
class  GPUBufferPool
 A template class that automatically manages a buffer pool. More...
 
struct  GPUBufferResourceBinding
 
struct  GPUBufferViewDescriptor
 
class  GPUCommandBuffer
 
struct  GPUCommandBufferDescriptor
 Command buffer descriptor structure. More...
 
class  GPUCommandQueue
 
struct  GPUCommandQueueDescriptor
 Command queue descriptor structure. More...
 
class  GPUComputePipeline
 
struct  GPUComputePipelineDescriptor
 Compute pipeline descriptor structure. More...
 
struct  GPUConservativeRasterizationDescriptor
 Conservative rasterization descriptor structure to control how the GPU should perform conservative rasterization. More...
 
struct  GPUDepthBiasDescriptor
 Depth bias descriptor structure to control fragment depth values. More...
 
struct  GPUDepthDescriptor
 Depth state descriptor structure. More...
 
class  GPUDevice
 
struct  GPUDeviceDescriptor
 Device descriptor structure. More...
 
struct  GPUDeviceInfo
 Renderer basic information structure. More...
 
class  GPUDeviceObject
 A base interface for RenderAPI objects. More...
 
struct  GPUDrawIndexedIndirectCommand
 Structure specifying a draw indirect command. More...
 
struct  GPUDrawIndirectCommand
 Structure specifying a draw indirect command. More...
 
class  GPUDynamicBuffer
 
class  GPUDynamicBuffer< P, T[], 0 >
 
class  GPUDynamicBuffer< P, T[], BaseAlignment >
 
class  GPUDynamicBuffer< P, T[N], BaseAlignment >
 
class  GPUFence
 
struct  GPUFenceDescriptor
 
class  GPUGraphicsPipeline
 
struct  GPUGraphicsPipelineDescriptor
 
struct  GPUGraphicsPipelineState
 Graphics pipeline state descriptor structure. More...
 
class  GPUImage
 
struct  GPUImageDescriptor
 
struct  GPUImageLocation
 Image location structure: MIP-map level and offset. More...
 
struct  GPUImageRegion
 Image region structure: Subresource (MIP-map level and array layer range), offset, and extent. More...
 
struct  GPUImageResourceBinding
 
struct  GPUImageSubresource
 Image subresource descriptor which specifies the array layer and MIP-map level range of a image resource. More...
 
struct  GPUImageSwizzleRGBA
 Image component swizzle structure for red, green, blue, and alpha components. More...
 
class  GPUImageView
 
struct  GPUImageViewDescriptor
 Image view descriptor structure. More...
 
class  GPUIndexBuffer
 
class  GPUIndirectBuffer
 
class  GPUMesh
 A mesh that is backed directly by a GPU vertex (and optionally an index buffer). More...
 
struct  GPUMultiSamplingDescriptor
 Multi-sampling descriptor structure. More...
 
class  GPUObject
 
class  GPUOcclusionQuery
 
struct  GPUOcclusionQueryDescriptor
 
class  GPUPipelineLayout
 
struct  GPUPipelineLayoutDescriptor
 Pipeline layout descriptor structure. More...
 
class  GPUQuery
 
struct  GPURasterizerDescriptor
 Rasterizer state descriptor structure. More...
 
struct  GPURenderingCapabilities
 Structure with all attributes describing the rendering capabilities of the render system. More...
 
struct  GPURenderingFeatures
 Contains the attributes for all supported rendering features. More...
 
struct  GPURenderingLimits
 Contains all rendering limitations such as maximum buffer size, maximum image resolution etc. More...
 
class  GPURenderPass
 
struct  GPURenderPassDescriptor
 Render pass descriptor structure. More...
 
class  GPURenderTarget
 
struct  GPURenderTargetDescriptor
 
class  GPUResource
 
class  GPUResourceBinding
 
class  GPUResourceSet
 A RenderAPI object that holds a set of resources that can be bound into shader. More...
 
class  GPUResourceSetBindings
 
struct  GPUResourceSetDescriptor
 
class  GPUSampler
 
struct  GPUSamplerDescriptor
 Image sampler descriptor structure. More...
 
struct  GPUSamplerResourceBinding
 
class  GPUShader
 
struct  GPUShaderDescriptor
 Shader source and binary code descriptor structure. More...
 
class  GPUShaderProgram
 
struct  GPUShaderProgramDescriptor
 Descriptor structure for shader programs. More...
 
struct  GPUShaderProgramStageDescriptor
 
struct  GPUShaderReflectionDescriptor
 Shader reflection descriptor structure. More...
 
class  GPUShaderResourceSetBindings
 
class  GPUStagingBuffer
 A special buffer type that can be used a staging buffer to upload and download data to the GPU. More...
 
class  GPUStaticBuffer
 
struct  GPUStencilDescriptor
 Stencil state descriptor structure. More...
 
struct  GPUStencilFaceDescriptor
 Stencil face descriptor structure. More...
 
class  GPUStorageBuffer
 
class  GPUSwapchain
 
struct  GPUSwapchainDescriptor
 Swapchain descriptor structure. More...
 
class  GPUTexture
 A texture that is backed by a GPU image. These textures usually can't be serialized. More...
 
class  GPUTimerQuery
 A GPU query that allows measuring the time a GPU device takes execute a set of commands on a command buffer. More...
 
struct  GPUTimerQueryDescriptor
 A descriptor structure for TimerQuery. More...
 
class  GPUUniformBuffer
 
struct  GPUVertexAttribute
 A vertex attribute represents a pair of points that can be stored inside a vertex buffer. More...
 
class  GPUVertexBuffer
 
struct  GPUVertexFormat
 
struct  GPUVertexInputDescriptor
 Determines how vertices should be handled as input on vertex shaders. More...
 
struct  GPUVertexInputRate
 Specify rate at which vertex attributes are pulled from buffers. More...
 
struct  GPUVsyncDescriptor
 Vertical-synchronization (Vsync) descriptor structure. More...
 
class  Graph
 
class  GraphConnection
 
class  GraphException
 
struct  GraphicsClipState
 A structure that describes the clipping state of the graphics context. More...
 
struct  GraphicsCommand
 
class  GraphicsCommandBuffer
 An object that encapsulates rendering context for a view. More...
 
class  GraphicsContext
 An object that represents a graphics context. More...
 
class  GraphicsRenderer
 
class  GraphicsRenderTask
 
struct  GraphicsState
 A structure that represents a snapshot of the graphics context state. More...
 
class  GraphInstance
 
class  GraphNode
 
class  GraphNodeAlreadyAddedException
 
class  GraphSocket
 
class  HalvePartitioner
 The halve partitioner always splits the sequence into two parts of roughly equal size. More...
 
struct  HasAuthorityQuery
 
struct  HashableTrait
 
struct  HashableTypeTrait
 A meta interface that can be implemented by types that support hashing. More...
 
struct  Hasher
 A reflection pre-processor that creates a hash for an object. More...
 
class  HeightTerrain
 
class  HLSLShader
 A shader that must be compiled as a "HLSL Shading Language". More...
 
class  HResourceStream
 A stream associated to a resource. More...
 
class  IAsyncDataStream
 An interface that all asynchronous data streams must implement. More...
 
class  IAsyncInputStream
 
class  IAsyncOutputStream
 
class  IAsyncStream
 
class  IBLAmbientLightingRenderTask
 
class  IDataStream
 An interface that all data streams must implement. More...
 
class  IDeserializer
 The deserializer is responsible from taking a stream of bytes and make a valid C++ object from it. More...
 
class  IdleService
 A service that allows submitting work to be ran whenever the executor is going idle. More...
 
class  IFileHandle
 Base interface for file handles implementation. More...
 
class  IFileIterator
 Interface for iterating on directories. More...
 
class  IFileSystem
 Interface for accessing file systems. More...
 
class  IFileWatcher
 Interface for file watcher implementations. More...
 
class  IInputStream
 A stream that provides read-only stream functionality. More...
 
class  ImageRenderResource
 
struct  ImplicitlyConvertibleTo
 
struct  ImportedResource
 A single resource imported by an importer. More...
 
struct  ImportedResources
 A structure that contains the imported resources returned by an importer. More...
 
struct  Incrementable
 
class  IncrementableTypeTrait
 
class  IndentHandler
 Indentation handler base class. More...
 
class  IndexableTypeTrait
 
struct  IndexSet
 
struct  IndexType
 
struct  InitializedIterable
 When used as a base class for a iterator type, MakeIterable will call the bool init() member before iteration. More...
 
class  InlineExecutor
 An executor that runs anything inline. More...
 
class  InMemoryResourceStreamData
 A ResourceStream stored fully in memory. More...
 
class  InputAction
 
class  InputContext
 
struct  InputEvent
 A base structure that forms the base of all input events. More...
 
class  InputManager
 
class  InputProvider
 
class  InputRange
 
class  InputSlot
 A slot that inputs a resource. Can be connected to a single output. More...
 
class  InputState
 
class  InputStream
 A stream that provides read-only stream functionality. More...
 
class  InputStreamBuffer
 A streambuf implementation for a InputStream. More...
 
class  InputSystem
 
struct  InsertableTypeTrait
 A meta interface that can be implemented by types that support insertion. More...
 
class  InternalErrorException
 
class  InvalidArgumentException
 
class  InvalidParametersException
 
class  InvalidStateException
 
class  InvalidTypeID
 
class  InvokeError
 
class  IOException
 
class  iOSPlatform
 A platform implementation for iOS. More...
 
class  iOSWindow
 
class  IOutputStream
 A stream that provides write-only stream functionality. More...
 
class  IReflectable
 An interface that must be implemented by types that wish to expose richer reflection data. More...
 
class  IRendererGeometryProvider
 An interface that must be implemented by systems that provide RendererElement instances for rendering. More...
 
class  IResourceInputStream
 A specialized InputStream for a ResourceStream. More...
 
class  IResourceOutputStream
 A specialized OutputStream for a ResourceStream. More...
 
struct  is_capturing_lambda
 
struct  is_capturing_lambda< T, std::void_t< decltype(+std::declval< T >())> >
 
struct  is_converting_constructor_t
 
struct  is_converting_constructor_t< T, Arg >
 
class  ISerializable
 An interface that must be implemented by a class to support custom intrusive serialization. More...
 
class  ISerializer
 The serializer is responsible from taking a C++ object and make it into stream of bytes from it. More...
 
class  IStream
 An interface that all data streams must implement. More...
 
class  IterableTypeTrait
 
struct  IterationEnd
 The end state for self-contained iterators. More...
 
class  Iterator
 IteratorPrototype where advance is defined by the functional held by F. More...
 
class  IteratorPrototype
 Base class for simple iterators. More...
 
class  IURLRequest
 A URL load request that is independent of protocol or URL scheme. More...
 
class  IURLResponse
 The metadata associated with the response to a URL load request, independent of protocol and URL scheme. More...
 
struct  JoinIterator
 
class  JoinIteratorRange
 
class  JoltPhysicsSystem
 
struct  JSONAllocator
 
class  JSONDeserializer
 A Deserializer that reads the serialized content from a JSON value. More...
 
class  JSONSerializer
 A Serializer that writes the serialized content as a JSON object. More...
 
struct  KerningPair
 Kerning pair representing larger or smaller offset between a specific pair of characters. More...
 
struct  KeyEvent
 A structure that describes a key press event. More...
 
class  Light
 A scene light. More...
 
struct  LightComponent
 A scene light. More...
 
class  LimitedInputStream
 A input stream that filters another input stream and limit reads to up-to limit bytes. More...
 
class  LinuxFileSystem
 Representation of the local file system on Linux. More...
 
class  LinuxFileWatcher
 File watcher for the local file system on Linux platforms. More...
 
class  LinuxPlatform
 A platform implementation for linux. More...
 
class  LinuxWindow
 
class  LocalFileHandle
 File handle for the local file system. More...
 
class  LocalFileIterator
 File iterator for the local file system. More...
 
class  LocalFileSystem
 An implementation of a local file system. More...
 
class  Lock
 The class Lock is a mutex wrapper that provides a convenient RAII-style mechanism for owning one or more mutexes for the duration of a scoped block. More...
 
class  LockedObject
 A helper class that wraps and protects a value from non-synchronized access. More...
 
struct  LostAuthority
 
class  MacOSPlatform
 A platform implementation for macOS. More...
 
class  MacOSWindow
 
struct  MakeIterable
 Take a class T with that defines the methods T::advance() and O T::value() for any type O and wraps it into a single-use iterable class. More...
 
class  MapStringDatabase
 A database that uses a highly optimized hash table. More...
 
class  Material
 A graphics material to be used when rendering objects in a scene. More...
 
class  MaterialGraph
 A graph that generates a rendering material shader. More...
 
class  MaterialGraphBinaryMathNode
 
class  MaterialGraphHLSLGenerator
 
class  MaterialGraphLiteralNode
 
class  MaterialGraphMathNode
 
class  MaterialGraphNode
 
class  MaterialGraphOutputNode
 A material graph node that represents the material output. More...
 
class  MaterialGraphShaderGenerator
 A generator that emits shader code for a material graph. More...
 
class  MaterialGraphSocket
 
class  MaterialImporter
 
struct  MaterialImportOptions
 
struct  MaterialProperty
 A material property with an associated value and texture. More...
 
struct  MaterialPropertySwizzle
 A structure that describes how channels of the input texture should be mapped in the material. More...
 
struct  MaterialPropertySwizzle< TColor< ValueType > >
 A specialization for MaterialPropertySwizzle for TColor values. More...
 
struct  MaterialPropertySwizzle< TVector< D, ValueType > >
 A specialization for MaterialPropertySwizzle for TVector values. More...
 
class  MemberFunctionPointerTypeInfo
 
class  MemberPointerTypeInfo
 
class  MemberVariablePointerTypeInfo
 
class  MemoryDataStream
 A data stream that reads or writes data into a memory buffer. More...
 
class  MemoryMappedTerrainOctree
 
class  MemoryMesh
 
class  MemoryResourceData
 
class  MemoryTexture
 A texture type that is backed by an in-memory bitmap. More...
 
class  MemoryView
 A memory view is a class which attaches to an chunk of memory and provides a view to it (optionally changing its type) with a Vector-like interface, excluding the methods which change a vector's size. More...
 
class  Mesh
 A base class for all mesh implementations. More...
 
class  MeshImporter
 
struct  MeshImportOptions
 
struct  MeshMetadata
 
struct  MeshProperties
 A structure that describes properties of a mesh. More...
 
class  MetaAccessorProperty
 An implementation of MetaProperty that uses a getter and setter method pairs to access the property. More...
 
class  MetaArgument
 
class  MetaContainer
 A base class for a container of MetaItems. More...
 
class  MetaItem
 A generic item that can be added as a member of a namespace. More...
 
class  MetaPointerProperty
 An implementation of MetaProperty that uses a direct pointer (or pointer to member) to access the property. More...
 
struct  MetaSignature
 
struct  MetaSignature< MPL::TypeList< Args... > >
 
struct  MethodCallable
 
struct  MethodCallable< NamedType< T, Parameter, Skills... > >
 
class  MKBuffer
 Mock RenderAPI buffer object. More...
 
class  MKCommandBuffer
 Mock RenderAPI command buffer object. More...
 
class  MKCommandQueue
 Mock RenderAPI command queue object. More...
 
class  MKComputePipeline
 Mock RenderAPI compute pipeline object. More...
 
class  MKDevice
 Mock RenderAPI device object. More...
 
class  MKDeviceObject
 
class  MKFence
 Mock RenderAPI fence object. More...
 
class  MKGraphicsPipeline
 Mock RenderAPI graphics pipeline object. More...
 
class  MKImage
 Mock RenderAPI image object. More...
 
class  MKImageView
 Mock RenderAPI image view object. More...
 
class  MKObject
 
class  MKObject< ChildTypeName, void >
 
class  MKPipelineLayout
 Mock RenderAPI pipeline layout object. More...
 
class  MKRenderAPI
 
struct  MKRenderAPIDescriptor
 
class  MKRenderPass
 Mock RenderAPI render pass object. More...
 
class  MKRenderTarget
 Mock RenderAPI render target object. More...
 
class  MKResourceSet
 Mock RenderAPI resource set object. More...
 
class  MKSampler
 Mock RenderAPI sampler object. More...
 
class  MKShader
 Mock RenderAPI shader object. More...
 
class  MKShaderProgram
 Mock RenderAPI shader program object. More...
 
class  MKSwapchain
 Mock RenderAPI swapchain object. More...
 
struct  Modulable
 
class  MonoEnvironment
 
class  MonoScriptingSystem
 
struct  Motion
 
struct  MouseEvent
 A structure that describes a mouse event. More...
 
class  MovableTypeTrait
 
class  MTBuffer
 Metal RenderAPI buffer object. More...
 
class  MTCommandBuffer
 Metal RenderAPI command buffer object. More...
 
class  MTCommandQueue
 Metal RenderAPI command queue object. More...
 
class  MTComputePipeline
 Metal RenderAPI compute pipeline object. More...
 
class  MTDevice
 Metal RenderAPI device object. More...
 
class  MTDeviceObject
 
class  MTFence
 Metal RenderAPI fence object. More...
 
class  MTGraphicsPipeline
 Metal RenderAPI graphics pipeline object. More...
 
class  MTImage
 Metal RenderAPI image object. More...
 
class  MTImageView
 Metal RenderAPI image view object. More...
 
class  MTLMaterialImporter
 
class  MTObject
 
class  MTObject< ChildTypeName, void >
 
class  MTPipelineLayout
 Metal RenderAPI pipeline layout object. More...
 
class  MTRenderAPI
 
struct  MTRenderAPIDescriptor
 
class  MTRenderPass
 Metal RenderAPI render pass object. More...
 
class  MTRenderTarget
 Metal RenderAPI render target object. More...
 
class  MTResourceSet
 Metal RenderAPI resource set object. More...
 
class  MTSampler
 Metal RenderAPI sampler object. More...
 
class  MTShader
 Metal RenderAPI shader object. More...
 
class  MTShaderProgram
 Metal RenderAPI shader program object. More...
 
class  MTSwapchain
 Metal RenderAPI swapchain object. More...
 
struct  Multiplicable
 
struct  MultithreadPolicy
 Policy for multi threaded use of events. More...
 
class  NamedType
 
struct  NamePredicate
 
struct  NetworkAction
 The NetworkAction is a special type of action that can be performed remotely on the server. More...
 
class  NetworkActionHandler
 
class  NetworkClient
 
struct  NetworkClientID
 
class  NetworkClientIDAllocator
 
struct  NetworkClientState
 An enumeration that represents the current state the network client is in. More...
 
class  NetworkEntity
 
struct  NetworkEntityComponent
 The network identity component is a special component that is added on all entities that must be synchronized over the network. More...
 
struct  NetworkEntityID
 
struct  NetworkEvent
 The NetworkEvent is a special type of event that can be sent over the network. More...
 
class  NetworkSystem
 
class  NLBuffer
 Null RenderAPI buffer object. More...
 
class  NLCommandBuffer
 Null RenderAPI command buffer object. More...
 
class  NLCommandQueue
 Null RenderAPI command queue object. More...
 
class  NLComputePipeline
 Null RenderAPI compute pipeline object. More...
 
class  NLDevice
 Null RenderAPI device object. More...
 
class  NLDeviceObject
 
class  NLFence
 Null RenderAPI fence object. More...
 
class  NLGraphicsPipeline
 Null RenderAPI graphics pipeline object. More...
 
class  NLImage
 Null RenderAPI image object. More...
 
class  NLImageView
 Null RenderAPI image view object. More...
 
class  NLObject
 
class  NLObject< ChildTypeName, void >
 
class  NLPipelineLayout
 Null RenderAPI pipeline layout object. More...
 
class  NLRenderAPI
 
struct  NLRenderAPIDescriptor
 
class  NLRenderPass
 Null RenderAPI render pass object. More...
 
class  NLRenderTarget
 Null RenderAPI render target object. More...
 
class  NLResourceSet
 Null RenderAPI resource set object. More...
 
class  NLSampler
 Null RenderAPI sampler object. More...
 
class  NLShader
 Null RenderAPI shader object. More...
 
class  NLShaderProgram
 Null RenderAPI shader program object. More...
 
class  NLSwapchain
 Null RenderAPI swapchain object. More...
 
class  NoneOfAlgorithmFunctor
 Functor representing the overloads for the none_of function. More...
 
class  NotImplementedException
 
struct  NotPredicate
 
struct  NotPredicate< NotPredicate< TPredicate > >
 An optimization to a not predicate that removes double negations. More...
 
struct  NullLockable
 A fake lockable type that performs no locking. More...
 
class  NullTypeInfo
 
class  ObjectPool
 
class  OBJMeshImporter
 
class  OBJSceneImporter
 
class  OctreeScenePartition
 
class  OffsetPointerCaster
 
class  OffsetPointerCaster< T *, OffsetType >
 
class  OffsetPtr
 A special pointer that stores the pointer as an offset of the pointee to the OffsetPtr instance itself. More...
 
class  OggVorbisClipImporter
 
class  Optional
 
class  Optional< T & >
 
struct  OrPredicate
 A predicate implementation that performs a logical OR between other predicates. More...
 
struct  OrPredicate< NotPredicate< Predicate1 >, NotPredicate< Predicate2 > >
 An optimization to an or predicate that applies the "De Morgan" to the operands. More...
 
struct  OrPredicate< OrPredicate< Predicate1, Predicate2 >, OrPredicate< Predicate3, Predicate4 > >
 A specialization for the OrPredicate that unfolds nested or predicates into one. More...
 
struct  OrPredicate< OrPredicate< Predicate1, Predicate2 >, Predicate3 >
 A specialization for the OrPredicate that unfolds nested or predicates into one. More...
 
struct  OrPredicate< Predicate1, OrPredicate< Predicate2, Predicate3 > >
 A specialization for the OrPredicate that unfolds nested or predicates into one. More...
 
struct  OrPredicate< Predicate1, Predicate2 >
 A predicate implementation that performs a logical OR between two other predicates. More...
 
class  OutputSlot
 A slot that outputs a resource. Can be connected to multiple input slots. More...
 
class  OutputStream
 A stream that provides write-only stream functionality. More...
 
class  Package
 A package is a collection of resources that are stored in a single data blob. More...
 
class  PackagedResourceData
 A ResourceData sub-class that represents a resource owned and contained within a package. More...
 
struct  PackageID
 Type that uniquely represents a package in the resource system. More...
 
class  PackageManager
 A manager that handles packages, their loading, saving and other runtime related tasks. More...
 
struct  PackageMetadata
 A class that contains metadata for a package. More...
 
class  Paint
 A class that encapsulates a 2D paint object. More...
 
struct  ParentPredicate
 A predicate that checks if the entity has parent as it's parent entity. More...
 
class  PBRDeferredLightingRenderTask
 
class  PBRMaterial
 A material type that uses a PBR model. More...
 
struct  PBRMaterialModel
 A material model that represents a PBR surface. More...
 
struct  PBRMaterialParams
 A structure that mirrors the GPU uniform data for the material. More...
 
struct  PerspectiveShadowMapParameters
 A structure stored in the component that allows the user to customize the algorithm parameters. More...
 
class  PhysicsSystem
 
class  PhysicsWorld
 
struct  PhysicsWorldComponent
 
class  PipeInputStream
 An input stream that allows reading data written by the paired PipeOutputStream. More...
 
class  PipeOutputStream
 An output stream that allows writing data to be read by the paired PipeInputStream. More...
 
class  PipeStream
 A base class for streams that allows reading from a PipeInputStream, all data written to the PipeOutputStream. More...
 
class  Platform
 
class  PlatformWindow
 
struct  PlatformWindowDescriptor
 A structure that describes how to create a new window. More...
 
class  PlatformWindowInputProvider
 An input provider implementation for the macOS platform. More...
 
struct  PlatformWindowProperties
 A structure that contains the state and settings for the window. More...
 
struct  Play
 An entity action that can be dispatched to a AudioSource to start playing a new audio buffer. More...
 
struct  pointer_arity_t
 
struct  pointer_arity_t< T, false >
 
struct  pointer_arity_t< T, true >
 
class  PointerTypeInfo
 
class  Poly
 A pointer type that has value semantics. More...
 
class  POSIXFileHandle
 File handle for the local file system. More...
 
class  POSIXFileSystem
 Representation of the local file system. More...
 
class  POSIXPlatform
 A platform implementation for POSIX-based systems. More...
 
struct  PostDecrementable
 
struct  PostIncrementable
 
struct  power_of_two_hash_policy
 
struct  power_of_two_std_hash
 
struct  PreDecrementable
 
struct  Predicate
 A type that predicate types must extend to allow automatic operator overloading. More...
 
class  PrefixOutputStreamIterator
 
struct  PreIncrementable
 
class  PresentRenderTask
 
struct  prime_number_hash_policy
 
struct  PrimitiveTopology
 Primitive topology enumeration. More...
 
class  PrimitiveTypeInfo
 
struct  Printable
 
class  PushBackableTypeTrait
 
struct  RangeIterator
 Helper class for range(). More...
 
class  RawFlags
 
struct  RawGraphicsCommand
 
class  ReduceAlgorithmFunctor
 Functor representing the overloads for the reduce function. More...
 
class  RefCounted
 A simple reference counter base class. More...
 
class  RefCounted< T, Counter, std::default_delete< T > >
 A special specialization for std::default_delete<T> that assumes the deleter is stateless, avoiding the need to store the deleter as a member.
 
class  RefCounter
 A class that implements a simple interface for reference counting. More...
 
class  RefCounter< false >
 A class that implements a simple interface for reference counting. More...
 
class  RefCounter< true >
 A class that implements a simple interface for reference counting. More...
 
class  ReferenceTypeInfo
 
class  ReflectableClassTypeTrait
 
class  ReflectionAttributeContainer
 
struct  Relocker
 An object that temporarily unlocks a lock. More...
 
struct  remove_all_cv_t
 
struct  remove_all_cv_t< T, false, false, false >
 
struct  remove_all_cv_t< T, false, false, true >
 
struct  remove_all_cv_t< T, false, true, false >
 
struct  remove_all_cv_t< T, true, false, false >
 
class  Renderable
 
struct  RenderableComponent
 A component that represents an object that can be rendered by a renderer. More...
 
class  RenderAPI
 
struct  RenderAPIApplicationDescriptor
 Application descriptor structure. More...
 
struct  RenderAPIDescriptor
 
class  Renderer
 The CeresEngine renderer. More...
 
struct  RendererBloomSettings
 Bloom provides an extra highlight to already bright areas of the scene, simulating the real-world camera effect where an extremely bright light overwhelms the camera. More...
 
class  RendererCamera
 A class that represents a camera inside the renderer. More...
 
struct  RendererCameraInfo
 A structure that holds renderer-specific information for the camera. More...
 
class  RendererCameraManager
 A manager that controls all cameras currently registered with the renderer. More...
 
struct  RendererCameraParams
 A structure that mirrors the GPU uniform data for the camera. More...
 
struct  RendererCameraSettings
 A structure that holds renderer-specific settings for a Camera. More...
 
class  RendererComputePipeline
 A renderer compute pipeline. More...
 
class  RendererComputePipelineManager
 The renderer compute pipeline manager that is responsible for managing and re-using GPU compute pipelines. More...
 
struct  RendererComputePipelineSpecialization
 A structure that describes a RendererComputePipeline specialization. More...
 
struct  RendererContext
 A structure that contains context given by the renderer to render it's objects. More...
 
class  RendererElement
 A element (usually a sub-mesh) visible on the screen. More...
 
class  RendererEnvironment
 A class that represents a environment inside the renderer. More...
 
class  RendererEnvironmentManager
 A manager that controls all environments currently registered with the renderer. More...
 
class  RendererExtension
 
struct  RendererGeometry
 A structure that contains information about a single geometry primitive to be drawn by the renderer. More...
 
struct  RendererGeometryEnumerationRequest
 Parameters to customize a geometry enumeration request. More...
 
class  RendererGraphicsPipeline
 A renderer graphics pipeline. More...
 
class  RendererGraphicsPipelineManager
 The renderer graphics pipeline manager that is responsible for managing and re-using GPU graphics pipelines. More...
 
struct  RendererGraphicsPipelineSpecialization
 A structure that describes a RendererGraphicsPipeline specialization. More...
 
struct  RendererHDRSettings
 HDR stands for high-dynamic range, and it allows the lights in the scene to use a large range of intensity values that can more closely approximate a real-world scene. More...
 
class  RendererLight
 A class that represents a light inside the renderer. More...
 
struct  RendererLightInfo
 A structure that holds renderer-specific information for the light. More...
 
class  RendererLightManager
 A manager that controls all lights currently registered with the renderer. More...
 
struct  RendererLightParams
 A structure that mirrors the GPU uniform data for the light. More...
 
struct  RendererLightSettings
 A structure that holds renderer-specific settings for a Light. More...
 
class  RendererMaterial
 An abstract class that represents a renderer material. More...
 
class  RendererMaterialManager
 A manager that controls all materials currently in use by the renderer. More...
 
class  RendererMaterialPBR
 A renderer material that represents a PBR model material. More...
 
struct  RendererMaterialSettings
 A structure that holds renderer-specific settings for a Material. More...
 
class  RendererMesh
 A mesh that is usable by the renderer and the GPU. More...
 
class  RendererMeshManager
 A manager class that creates, manages and handles GPU vertex and index buffers for meshes used by the renderer. More...
 
class  RendererObject
 A base class for all renderer objects. More...
 
class  RendererObjectManager
 A base class for all renderer object managers. More...
 
struct  RendererObjectTrait
 A type trait object that associates a RendererObject and it's RendererObjectManager type. More...
 
struct  RendererObjectTrait< RendererCamera >
 
struct  RendererObjectTrait< RendererEnvironment >
 
struct  RendererObjectTrait< RendererLight >
 
struct  RendererObjectTrait< RendererRenderable >
 
struct  RendererObjectTrait< RendererScene >
 
struct  RendererObjectTrait< RendererTerrain >
 
class  RendererRenderable
 A class that represents a renderable inside the renderer. More...
 
struct  RendererRenderableInfo
 A structure that holds renderer-specific information for the renderable. More...
 
class  RendererRenderableManager
 A manager that controls all renderables currently registered with the renderer. More...
 
struct  RendererRenderableParams
 A structure that mirrors the GPU uniform data for the renderable. More...
 
struct  RendererRenderableSettings
 A structure that holds renderer-specific settings for a Renderable. More...
 
class  RendererScene
 A class that represents a scene inside the renderer. More...
 
struct  RendererSceneInfo
 A structure that holds renderer-specific information for the scene. More...
 
class  RendererSceneManager
 A manager that controls all scenes currently registered with the renderer. More...
 
class  RendererSceneObject
 A base class for all renderer scene objects. More...
 
class  RendererSceneObjectManager
 A base class for all renderer scene object managers. More...
 
struct  RendererSceneParams
 A structure that mirrors the GPU uniform data for the scene. More...
 
struct  RendererSceneSettings
 A structure that holds renderer-specific settings for a Scene. More...
 
struct  RendererSettings
 
class  RendererShader
 A renderer shader. More...
 
class  RendererShaderManager
 The renderer shader manager that is responsible for managing and re-using GPU shaders. More...
 
struct  RendererShaderSpecialization
 A structure that describes a RendererGraphicsPipeline specialization. More...
 
class  RendererSkyboxEnvironment
 The implementation for skybox environment type. More...
 
struct  RendererSkyboxEnvironmentParams
 A structure that mirrors the GPU uniform data for the skybox environment. More...
 
class  RendererTerrain
 A class that represents a terrain inside the renderer. More...
 
struct  RendererTerrainInfo
 A structure that holds renderer-specific information for the terrain. More...
 
class  RendererTerrainManager
 A manager that controls all terrains currently registered with the renderer. More...
 
struct  RendererTerrainParams
 A structure that mirrors the GPU uniform data for the terrain. More...
 
class  RendererTexture
 A texture that is usable by the renderer and the GPU. More...
 
class  RendererTextureManager
 A manager class that creates, manages and handles GPU images for images and textures used by the renderer. More...
 
class  RendererUtility
 A class that contains general utility methods for the renderer. More...
 
class  RendererView
 A class that represents a view inside the renderer. More...
 
class  RendererViewGroup
 A view group is a similar concept to a view, except it contains multiple views. More...
 
struct  RendererViewGroupInfo
 A structure that holds renderer-specific information for the view group. More...
 
struct  RendererViewInfo
 A structure that holds renderer-specific information for the view. More...
 
class  RenderGraph
 
struct  RenderGraphContext
 A context structure that holds context for a render graph pass. More...
 
class  RenderGraphInput
 A special type of render resource ref that is used to reference inputs of a render task. More...
 
class  RenderGraphOutput
 A special type of render resource ref that is used to reference outputs of a render task. More...
 
class  RenderingSystem
 A system that connects the rendering system to the CeresEngine renderer. More...
 
class  RenderResource
 
class  RenderResourceRef
 
class  RenderTask
 
class  RenderTaskCompiler
 
struct  RenderTaskResourceUsage
 A structure that describes how and what resources are used by a render task. More...
 
class  Resource
 A base class that all resources must extend from. More...
 
class  ResourceData
 An object, provided by the resource manager, to view and alter data from the resource itself. More...
 
class  ResourceHandle
 
class  ResourceHandleData
 
struct  ResourceID
 Type that uniquely represents a resource in the resource system. More...
 
struct  ResourceImportDescriptor
 
class  ResourceImporter
 Primary class used to implement parsers and imports for common file formats to engine resources. More...
 
class  ResourceImporter2
 
struct  ResourceImporterPeekResponse
 
struct  ResourceImporterPeekSession
 
class  ResourceImporterRegistry
 A registry that keeps track of all resource importers for a ResourceManager. More...
 
struct  ResourceImporterSession
 A structure that specifies data for an import session. More...
 
struct  ResourceImportOptions
 A structure that contains import options that describes how a resource should be imported. More...
 
class  ResourceInputStream
 A specialized InputStream for a ResourceStream. More...
 
class  ResourceLibrary
 
struct  ResourceLoadOptions
 A structure that describes options for the loading of a resource. More...
 
class  ResourceManager
 The ResourceManager is the main class responsible for managing and handling all resources in the engine. More...
 
struct  ResourceMetadata
 A structure that holds metadata for a resource. More...
 
class  ResourceObject
 A wrapper type that wraps a generic object into a resource. More...
 
class  ResourceObject< T, false >
 Specialization for ResourceObject for types that are not final and can be extended from. More...
 
class  ResourceObject< T, true >
 Specialization for ResourceObject for types that are final and cannot be extended from. More...
 
class  ResourceOutputStream
 A specialized OutputStream for a ResourceStream. More...
 
struct  ResourceSaveOptions
 A structure that describes options for the saving of a resource. More...
 
class  ResourceStream
 A base class for InputStream and OutputStream of a ResourceStream. More...
 
class  ResourceStreamData
 An object that allows storing side-band data for a resource. More...
 
struct  ResourceStreamDescriptor
 A structure that describes the creation of a resource stream. More...
 
struct  ResourceStreamID
 Type that uniquely represents a stream in the resource system. More...
 
class  ResourceStreamLock
 A lock that allows either reading or writing to the stream. More...
 
struct  ResourceTypeInfo
 A structure that describes type information for a resource. More...
 
class  ResumableFunction
 Holds the resumable function's handle. More...
 
class  RigidBody
 A rigid body is a body that can be collided with and can be moved. More...
 
struct  RigidBodyComponent
 
class  RunLoop
 An ASIO execution context that wraps the operating system run loop. More...
 
class  RuntimeError
 
class  Scene
 A resource that stores scene information. More...
 
class  SceneImporter
 Base class for a Scene importer. More...
 
struct  SceneImportOptions
 A set of options that customize the behavior of Scene importing. More...
 
class  SceneManager
 A manager that references and manages mutliple scenes. More...
 
class  ScenePartition
 Partitions the scene into a highly-efficient representation that allows to quickly perform geometric queries on the scene. More...
 
class  ScenePartitionSystem
 A system that connects the ECS-system with the scene partition implementation. More...
 
struct  SceneSettings
 A structure that contains settings for the scene. More...
 
struct  Scissor
 
class  ScopedIndent
 Helper class for temporary indentation. More...
 
struct  ScopeExit
 
struct  ScriptComponent
 
class  ScriptedObject
 An entity type with an associated script. More...
 
class  ScriptingSystem
 
class  SerializableObject
 Specifies a serializable object. More...
 
class  SerializableProperty
 Specifies a serializable property. More...
 
class  SerializationContext
 A context that is shared between multiple serializer and deserializer instances. More...
 
class  SerializationError
 
class  SerializationState
 A base class for serializer and deserializer states. More...
 
struct  SerializationStateObject
 Scope object that pushes an object to the SerializationState. More...
 
struct  SerializedArrayMetadata
 A structure that holds metadata for a serialized array. More...
 
struct  SerializedCustomObjectMetadata
 A struct that holds metadata for a serialized object. More...
 
struct  SerializedMapMetadata
 A structure that holds metadata for a serialized map. More...
 
struct  SerializedObjectMetadata
 A struct that holds metadata for a serialized object. More...
 
struct  SerializedPropertyMetadata
 A structure that holds metadata for a serialized property. More...
 
class  Serializer
 The serializer class has basic support for reflection-based serializers. More...
 
class  SerializerState
 A class that represents context for a serializer. More...
 
class  Shader
 A resource that represents a shader that can be compiled and loaded into the runtime. More...
 
class  ShaderBinary
 A ShaderBinary is an object responsible for wrapping the binary representation of a shader (i.e. More...
 
class  ShaderImporter
 
class  ShaderImporterImpl
 
struct  ShaderImportOptions
 
class  ShaderMaterial
 A material that renders using a custom shader. More...
 
class  ShaderSource
 A ShaderSource is an object responsible for wrapping the textual representation of a shader (i.e. More...
 
class  ShaderSpecializationConstant
 A variant type that describes a value that can be used as a shader specialization constant. More...
 
struct  ShaderType
 Shader type enumeration. More...
 
struct  ShadowMapSettings
 
struct  ShadowMapUpdateStrategy
 A structure that describes the strategy that should be used to update a shadow map. More...
 
class  ShadowRenderer
 A shadow renderer. Used to render the depth map for the shadow maps. More...
 
struct  ShadowSettings
 Various options that control shadow rendering for a specific view. More...
 
class  Shape
 A type that describes a conjunction of shapes that can be filled and stroked. More...
 
struct  ShapeGraphicsCommand
 
class  SharedLock
 The class SharedLock is a general-purpose shared mutex ownership wrapper allowing deferred locking, timed locking and transfer of lock ownership. More...
 
class  SharedMemory
 
class  ShortAllocator
 
class  SimpleAudioClip
 
class  SimpleComputeRenderTask
 
class  SimpleGraphicsRenderTask
 A simple graphics task that makes easier implementing tasks that use a single graphics pipeline. More...
 
class  SimpleGraphicsRenderTask2
 A simple graphics task that makes easier implementing tasks that use a single graphics pipeline. More...
 
class  SingleConsumerAsyncAutoResetEvent
 
class  SingleConsumerEvent
 A manual-reset event that supports only a single awaiting coroutine at a time. More...
 
struct  SinglethreadPolicy
 Policy for single threaded use of events. More...
 
struct  size_of_t
 
struct  size_of_t< R(*)(Args...)>
 
struct  size_of_t< void >
 
class  SkyboxRenderTask
 A render task that renders the scene skybox. More...
 
class  Slot
 A render task slot. More...
 
class  SmartPointerTypeInfo
 
class  SoftBody
 A soft body is a body that can have deformations. More...
 
struct  SoftBodyComponent
 
struct  SourceLocation
 
class  SPIRVShader
 A shader that is already compiled in the SPIR-V format. More...
 
class  StaticBody
 A static body is a body that can be collided with, but cannot be moved. More...
 
struct  StaticVector
 StaticVector is almost a drop-in replacement of std::vector, but has a fixed capacity as a template argument. More...
 
class  StbiTextureImporter
 
class  Stream
 An interface that all data streams must implement. More...
 
class  StreamException
 
class  StreamingMesh
 A mesh that stores it's vertex and index streams to a resource stream. More...
 
class  StreamingTexture
 A texture type that is backed by streamable mip and layer data. More...
 
class  StreamReadException
 
class  StreamWriteException
 
class  StridedMemoryView
 A memory view is a class which attaches to an chunk of memory and provides a view to it (optionally changing its type) with a Vector-like interface, excluding the methods which change a vector's size. More...
 
struct  StringConversion
 A template that can be specialized to implement toString and fromString. More...
 
struct  StringConversion< BasicString< C, RawAllocator > >
 A StringConversion specialization for BasicString. More...
 
struct  StringConversion< bool >
 A StringConversion specialization for bool. More...
 
struct  StringConversion< double >
 
struct  StringConversion< float >
 
struct  StringConversion< Int16 >
 
struct  StringConversion< Int32 >
 
struct  StringConversion< Int64 >
 
struct  StringConversion< Int8 >
 
struct  StringConversion< T >
 A StringConversion specialization for types that implement toString. More...
 
struct  StringConversion< UInt16 >
 
struct  StringConversion< UInt32 >
 
struct  StringConversion< UInt64 >
 
struct  StringConversion< UInt8 >
 
struct  StringConversion< unsigned long >
 
class  StringDatabase
 The interface for all databases. You can derive own databases from it. More...
 
class  StringID
 The string identifier class. More...
 
class  StringIDCollisionError
 The exception class thrown by the default CollisionHandler. More...
 
struct  StringLiteral
 
class  StructEnum
 
struct  SubMesh
 
struct  Subtractable
 
class  SyncDataStreamAdapter
 An adapter stream that turns an DataStream into an AsyncDataStream. More...
 
class  System
 A system is a special kind of service that is managed internally by the SystemManager. More...
 
class  System< T, EntityObjectSet< EOs... >, ComponentSet< Cs... >, EntityActionSet< As... > >
 A system is a special kind of service that is managed internally by the SystemManager. More...
 
struct  SystemComponentListener
 A special type of ComponentListener that listens when an entity becomes a given EntityObject type given as EO. More...
 
class  SystemManager
 The system manager is responsible for keeping track and dispatching updates to all attached systems. More...
 
class  TAnyExecutor
 The AnyExecutor type is a polymorphic executor that supports the set of properties required by I/O objects. More...
 
class  TApplication
 A template class that helps initializing an application. More...
 
class  TAsyncMutex
 A mutex that can be locked asynchronously using 'co_await'. More...
 
class  TAsyncSharedMutex
 
class  TClass
 
class  TComponentType
 An implementation of the ComponentType interface that implements type-erased operations for components. More...
 
class  TContainerTypeInfo
 
class  TDeviceObject
 
class  TEntityActionType
 An implementation of the EntityActionType interface that implements type-erased operations for actions. More...
 
class  TEntityEventType
 An implementation of the EntityEventType interface that implements type-erased operations for events. More...
 
class  TEnum
 
class  Terrain
 
class  TerrainRenderable
 The Terrain object. More...
 
struct  TerrainRenderableComponent
 The Terrain component. More...
 
class  TerrainVoxelBuffer
 Represents a block of data loaded from a TerrainVoxelMap. More...
 
class  TerrainVoxelMap
 A class that provides store and access to voxel terrain data. More...
 
class  TEvent
 Base template for the event class. More...
 
class  TEvent< P, R(A...), F >
 Event template specialization. More...
 
class  Text
 
struct  TextContainer
 A region where text is laid out. More...
 
struct  TextEvent
 A structure that describes a text input event. More...
 
struct  TextGraphicsCommand
 
struct  TextLayout
 A structure that describes how text is layout in a text container. More...
 
class  TextLayoutManager
 An object that coordinates the layout and display of text characters. More...
 
class  TextStorage
 
class  Texture
 A texture that can be imported into the renderer. More...
 
class  TextureAtlasLayout
 Organizes a set of textures into a single larger texture (an atlas) by minimizing empty space. More...
 
class  TextureAtlasUtility
 Utility class used for texture atlas layouts. More...
 
struct  TextureGraphicsCommand
 
class  TextureImporter
 A base class for a TextureImporter that takes Input and (optionally) Inputs as base resources and creates a Texture resource. More...
 
struct  TextureImportOptions
 
struct  TextureProperties
 A structure that describes properties of an texture. More...
 
class  TGPUBufferPool
 A template class that automatically manages a uniform buffer pool. More...
 
class  TGPUResourceSetBindingSlot
 A class that offers high-level access to a GPUResourceSetBindings slot. More...
 
class  ThreadExecutor
 An executor that runs anything in a new thread, like std::async does. More...
 
class  ThreadPartitioner
 A partitioner that splits the ranges until it identifies we are not moving to new threads. More...
 
class  ThreadPool
 The thread pool class is an execution context where functions are permitted to run on one of a fixed number of threads. More...
 
class  ThreadSafeStringDatabase
 A thread-safe database adapter. More...
 
class  TInput
 A type-safe input slot type. More...
 
class  TIteratorTypeInfo
 
class  TIteratorTypeInfo< T, std::input_iterator_tag >
 A TypeInfo implementation for input iterators.
 
class  TMetaConstructor
 
class  TMetaMethod
 
class  TotallyOrderedTypeTrait
 
class  TOutput
 A type-safe output slot type. More...
 
struct  TransferAuthority
 
struct  TransformComponent
 
class  TransientBufferRenderResource
 
class  TransientImageRenderResource
 
class  Transvoxel
 
class  TRendererObject
 Template class to help implement sub-classes of RendererObject. More...
 
class  TRendererObjectManager
 Template class to help implement sub-classes of RendererObjectManager. More...
 
class  TRendererSceneObject
 Template class to help implement sub-classes of RendererSceneObject. More...
 
class  TRendererSceneObjectManager
 Template class to help implement sub-classes of RendererSceneObjectManager. More...
 
class  TRenderResource
 
class  TRenderResourceRef
 
class  TRenderResourceRef<>
 
class  TResource
 Utility template class that can be extended by Resources to automatically implement methods that are deducible from the resource type. More...
 
class  TResourceImporter
 Creates a new resource importer. More...
 
class  TResourceImporter< T, ResourceImportOptions >
 Creates a new resource importer. More...
 
class  TriangleClipper
 Implementation from: http://www.geometrictools.com/Documentation/ClipMesh.pdf. More...
 
class  TriangleClipper2D
 Clips two-dimensional triangles against a set of provided planes. More...
 
class  TriangleClipper3D
 Clips three-dimensional triangles against a set of provided planes. More...
 
class  TriangleMeshBuilder
 Helper class that makes building triangle meshes easier. More...
 
class  TSceneObject
 The SceneObject template class is a helper class that EntityObjects might choose to use to provide some helper methods dealing with a entity transform. More...
 
class  TSharedMemory
 A helper class that maps a file into memory and allows accessing it as a regular C++ struct. More...
 
class  TSharedMemory< T[]>
 A helper class that maps a file into memory and allows accessing it as a regular C++ array. More...
 
class  TSharedMemory< T[N]>
 A helper class that maps a file into memory and allows accessing it as a regular C++ array. More...
 
class  TSlot
 A type-safe slot base class. More...
 
class  TTimer
 
class  TTypeInfoBase
 
class  TUIViewController
 A templated UIViewController sub-class that specializes it for a specific view type. More...
 
class  Tuple
 Tuple is a fixed-size collection of heterogeneous values. More...
 
class  TURLProtocol
 Creates a new URLProtocol instance. More...
 
class  TUserTypeInfo
 
class  Type
 Represents a reflected C++ type. Can be used to get metadata from a C++ type. More...
 
struct  TypeAutoRegistration
 
struct  TypeAutoRegistrationBase
 
struct  TypeConversionAutoRegistration
 
struct  TypeConversionAutoRegistration< From, To, void >
 
struct  TypedID
 
class  TypeInfo
 
class  UIAnimation
 
class  UIAnimationCurve
 These constants describe the curve of an animation—that is, the relative speed of an animation from start to finish. More...
 
class  UIAnimationEasing
 These constants describe the curve of an animation—that is, the relative speed of an animation from start to finish. More...
 
class  UIAppearance
 An object that describes the appearance of a UI view. More...
 
struct  UIAppearanceProperty
 A UI appearance property that returns a color. More...
 
class  UIBackingStore
 The BackingStore represents store for a window or view. More...
 
class  UIButton
 A control that defines an area on the screen that can be used to trigger actions. More...
 
class  UICheckbox
 A control that defines an area on the screen that can be used to trigger actions. More...
 
class  UIClipView
 An object that clips a document view to a scroll view's frame. More...
 
class  UIContainerView
 A container view that can be used to install a custom UIViewController. More...
 
class  UIControl
 A definition of the fundamental behavior for controls, which are specialized views that notify your app of relevant events by using the target-action design pattern. More...
 
struct  UICornerRadius
 
struct  UIDebugUtility
 
class  UIDelegate
 
class  UIDelegate< View, R(Args...)>
 Encapsulates a UI delegate method. More...
 
class  UIDelegate< View, void(Args...)>
 Encapsulates a UI delegate method. More...
 
struct  UIEvent
 An object that contains information about an input action such as a mouse click or a key press. More...
 
class  UIEventSimulator
 
class  UIFramebufferBackingStore
 Represents a UIBackingStore that renders its contents to an image texture. More...
 
class  UIGizmo
 Represents a gizmo that can be used to move 3D objects on a 2D viewport. More...
 
class  UIGizmoArrowManipulator
 An arrow that allows moving an axis on the scene. More...
 
class  UIGizmoCircleManipulator
 An circle that allows rotating on an axis on the scene. More...
 
class  UIGizmoManipulator
 A gizmo manipulator that allows performing some transformation on the scene. More...
 
struct  UIKeyEvent
 
class  UILabel
 
class  UILayer
 
class  UILayerContext
 A context object that contains the UILayer. More...
 
class  UILayoutSolver
 
struct  UILayoutUtility
 
class  UIMenuBar
 A UI control that displays a bar with the app icon and a set of menu items. More...
 
class  UIMenuBarButton
 
class  UIModelViewController
 A UIViewController sub-class that uses a typed represented object. More...
 
struct  UIMouseEvent
 
class  UIResponder
 An abstract class that forms the basis of event and command processing in the UI framework. More...
 
class  UIRotationGizmo
 A gizmo that allows manipulating the rotation of a 3D transform. More...
 
class  UIScalingGizmo
 A gizmo that allows manipulating the scale of a 3D transform. More...
 
class  UIScroller
 An object that controls scrolling of a document view within a scroll view or other type of container view. More...
 
class  UIScrollView
 A view that displays a portion of a document view and provides scroll bars that allow the user to move the document view within the scroll view. More...
 
class  UISlider
 A display of a bar representing a continuous range of numerical values and a knob representing the currently selected value. More...
 
class  UISplitView
 A view that arranges two or more views in a linear stack running horizontally or vertically. More...
 
class  UISplitViewController
 
class  UIStackView
 A view that arranges an array of views horizontally or vertically and updates their placement and sizing when the window size changes. More...
 
class  UITextField
 
class  UIToolBar
 Toolbars manage controls and views that apply to the main window's content area. More...
 
class  UIToolBarDelegate
 
class  UIToolBarItem
 An item in a UIToolBar. More...
 
class  UIToolBarItemGroup
 A group of subitems in a toolbar item. More...
 
class  UITranslationGizmo
 A gizmo that allows manipulating the translation of a 3D transform. More...
 
struct  UIUtility
 A set of common and useful functions for implementing UIs. More...
 
class  UIView
 The infrastructure for drawing and handling events in a UI. More...
 
class  UIViewController
 A controller that manages a view. More...
 
class  UIViewport
 
class  UIViewportDelegate
 A delegate class for UIViewport. More...
 
class  UIViewportViewController
 
class  UIWindow
 A window that an app displays on the screen. More...
 
class  UIWindowController
 A controller that manages a window. More...
 
class  UIWindowDevice
 The UIWindow::Device is the backing device for one or multiple windows. More...
 
class  UIWindowFramebufferDevice
 A UIWindowDevice implementation that offers graphics accelerated rendering of the UI, but offers no specific mechanism for how a window is represented. More...
 
class  UIWindowSurfaceDevice
 A UIWindowDevice implementation that offers graphics accelerated rendering of the UI. More...
 
struct  UnaryAddable
 
class  UnaryAlgorithmFunctor
 Overloads for unary invoke algorithms. More...
 
struct  UnaryPredicate
 A predicate that operates using two other predicates as-if a unary operation. More...
 
struct  UnarySubtractable
 
struct  UndefinedIteratorException
 Exception when dereferencing an undefined iterator value. More...
 
class  UniqueLock
 The class UniqueLock is a general-purpose mutex ownership wrapper allowing deferred locking, time-constrained attempts at locking, recursive locking, transfer of lock ownership, and use with condition variables. More...
 
class  UnregisteredClass
 
class  UnshadedRenderTask
 
class  URI
 A Uniform Resource Identifier (URI) is a unique sequence of characters that identifies a logical or physical resource used by web technologies. More...
 
class  URLCache
 An object that maps URL requests to cached response objects. More...
 
class  URLException
 
class  URLInternalErrorException
 
class  URLNotFoundException
 
class  URLNotSupportedException
 
class  URLProtocol
 The implementation of a URL requester. More...
 
class  URLRequest
 A URL load request that is independent of protocol or URL scheme. More...
 
class  URLResponse
 The metadata associated with the response to a URL load request, independent of protocol and URL scheme. More...
 
class  URLSession
 An object that coordinates a group of related, network data transfer tasks. More...
 
struct  UserPredicate
 
struct  UUID
 Represents a universally unique identifier (UUID). More...
 
class  ValueCompareAlgorithmFunctor
 Value-compare algorithm overloads. More...
 
class  ValuePtr
 A pointer type that has value semantics. More...
 
class  Variant
 
struct  Vertex
 A basic vertex type. More...
 
struct  VertexBufferLayout
 Determines how a vertex buffer is laid out in memory. More...
 
struct  VertexBufferLayoutElement
 Determines how a single VertexElement is laid out on the vertex buffer. More...
 
struct  VertexDeclaration
 Determines how vertices are laid-out on a vertex buffer or a mesh data. More...
 
class  VertexElement
 Determines how a single element should be a vertex. More...
 
struct  VertexElementComponentType
 Determines the data type used for the each component of a VertexElement. More...
 
struct  VertexElementComponentTypeTrait
 
struct  VertexElementComponentTypeTrait< bool >
 
struct  VertexElementComponentTypeTrait< double >
 
struct  VertexElementComponentTypeTrait< float >
 
struct  VertexElementComponentTypeTrait< Int16 >
 
struct  VertexElementComponentTypeTrait< Int32 >
 
struct  VertexElementComponentTypeTrait< Int64 >
 
struct  VertexElementComponentTypeTrait< Int8 >
 
struct  VertexElementComponentTypeTrait< UInt16 >
 
struct  VertexElementComponentTypeTrait< UInt32 >
 
struct  VertexElementComponentTypeTrait< UInt64 >
 
struct  VertexElementComponentTypeTrait< UInt8 >
 
struct  VertexElementSemantic
 Determines the semantic of a VertexElement. More...
 
struct  VertexElementTrait
 
struct  VertexElementTrait< TColor< T > >
 
struct  VertexElementTrait< TMatrix< C, R, T > >
 
struct  VertexElementTrait< TVector< D, T > >
 
struct  VertexElementType
 Enumeration that determines the type of a VertexElement. More...
 
struct  VertexElementTypeTrait
 
struct  VertexElementTypeTrait< TColor< T > >
 
struct  VertexElementTypeTrait< TMatrix2< T > >
 
struct  VertexElementTypeTrait< TMatrix3< T > >
 
struct  VertexElementTypeTrait< TMatrix4< T > >
 
struct  VertexElementTypeTrait< TVector2< T > >
 
struct  VertexElementTypeTrait< TVector3< T > >
 
struct  VertexElementTypeTrait< TVector4< T > >
 
struct  VertexLayout
 Contains the definition of a single vertex buffer layout. More...
 
struct  VertexLayoutElement
 Represents the memory position of a single vertex element. More...
 
struct  Viewport
 
class  VKBuffer
 
class  VKCommandBuffer
 The GPUCommandBuffer implementation for the Vulkan RenderAPI. More...
 
class  VKCommandBufferTracker
 A helper class that keeps track of any resource so that they remain alive for as long as Vulkan needs it to be. More...
 
class  VKCommandQueue
 
class  VKComputePipeline
 
struct  VKDebugMarkerTypeTrait
 
struct  VKDebugMarkerTypeTrait< VkBuffer >
 
struct  VKDebugMarkerTypeTrait< VkCommandBuffer >
 
struct  VKDebugMarkerTypeTrait< VkDescriptorSet >
 
struct  VKDebugMarkerTypeTrait< VkFramebuffer >
 
struct  VKDebugMarkerTypeTrait< VkImage >
 
struct  VKDebugMarkerTypeTrait< VkImageView >
 
struct  VKDebugMarkerTypeTrait< VkInstance >
 
struct  VKDebugMarkerTypeTrait< VkPipeline >
 
struct  VKDebugMarkerTypeTrait< VkRenderPass >
 
struct  VKDebugMarkerTypeTrait< VkSampler >
 
struct  VKDebugMarkerTypeTrait< VkSemaphore >
 
struct  VKDebugMarkerTypeTrait< VkShaderModule >
 
class  VKDevice
 
struct  VKDeviceDescriptor
 
struct  VKDeviceExtensionSet
 
class  VKDeviceObject
 
class  VKDeviceObjectBase
 
class  VKFence
 
struct  VKFuncTable
 
class  VKGraphicsPipeline
 
class  VKImage
 
class  VKImageView
 
struct  VKLayoutBinding
 
class  VKMemoryAllocation
 
class  VKMemoryAllocator
 
class  VKObject
 
class  VKObject< ChildTypeName, void >
 
class  VKObjectBase
 
class  VKObjectCache
 A object that caches existing Vulkan objects. More...
 
struct  VKPickedQueueFamily
 A structure that represents a picked queue family. More...
 
class  VKPipelineLayout
 
struct  VKQueueFamilyAssigner
 A helper class helps assigning a queue families. More...
 
class  VKRenderAPI
 
struct  VKRenderAPIDescriptor
 
class  VKRenderPass
 
class  VKRenderTarget
 
class  VKResourceSet
 
class  VKSampler
 
class  VKShader
 
class  VKShaderProgram
 
struct  VKSurfaceSupportDetails
 
class  VKSwapchain
 
class  VKTimerQuery
 The Vulkan implementation of TimerQuery. More...
 
struct  VKWriteDescriptorContainer
 Helper structure to handle buffer and image information for a descriptor set. More...
 
class  VoidCoroutine
 General void return for coroutine. More...
 
class  VoidTypeInfo
 
class  VolumetricTerrain
 
class  VoxelConeTracing
 Deferred voxel shading is a four-step real-time global illumination technique inspired by voxel cone tracing and deferred rendering. More...
 
struct  VoxelConeTracingSettings
 A structure that allows the user to customize the Voxel Cone Tracing algorithm parameters. More...
 
class  WeakEventConnection
 Connection class. More...
 
class  WeakResourceHandle
 
class  WGBuffer
 WebGPU RenderAPI buffer object. More...
 
class  WGCommandBuffer
 WebGPU RenderAPI command buffer object. More...
 
class  WGCommandQueue
 WebGPU RenderAPI command queue object. More...
 
class  WGComputePipeline
 WebGPU RenderAPI compute pipeline object. More...
 
class  WGDevice
 WebGPU RenderAPI device object. More...
 
class  WGDeviceObject
 
class  WGFence
 WebGPU RenderAPI fence object. More...
 
class  WGGraphicsPipeline
 WebGPU RenderAPI graphics pipeline object. More...
 
class  WGImage
 WebGPU RenderAPI image object. More...
 
class  WGImageView
 WebGPU RenderAPI image view object. More...
 
class  WGObject
 
class  WGObject< ChildTypeName, void >
 
class  WGPipelineLayout
 WebGPU RenderAPI pipeline layout object. More...
 
class  WGRenderAPI
 
struct  WGRenderAPIDescriptor
 
class  WGRenderPass
 WebGPU RenderAPI render pass object. More...
 
class  WGRenderTarget
 WebGPU RenderAPI render target object. More...
 
class  WGResourceSet
 WebGPU RenderAPI resource set object. More...
 
class  WGSampler
 WebGPU RenderAPI sampler object. More...
 
class  WGShader
 WebGPU RenderAPI shader object. More...
 
class  WGShaderProgram
 WebGPU RenderAPI shader program object. More...
 
class  WGSwapchain
 WebGPU RenderAPI swapchain object. More...
 
class  Win32FileHandle
 File handle for the local file system on Windows. More...
 
class  Win32FileSystem
 Representation of the local file system on Windows. More...
 
class  Win32FileWatcher
 File watcher for the local file system for the Windows platform. More...
 
class  Win32Platform
 A platform implementation for win32. More...
 
class  Win32RunLoop
 Abstracts a CoreFoundation CFRunLoop as an ASIO execution context. More...
 
class  Win32ThreadPool
 
class  Win32Window
 
struct  WordSize
 
class  World
 
struct  WrappedIterator
 Helper class for wrap(). More...
 
struct  WrappedIterator< IB, IE >
 Helper class for wrap(). More...
 
class  WrappedResourceInputStream
 A specialized InputStream for a ResourceStream. More...
 
class  WrappedResourceOutputStream
 A specialized OutputStream for a ResourceStream. More...
 

Concepts

concept  CArithmetic
 A concept type that checks if a given type T has arithmetic properties.
 
concept  CHashable
 Declaration of the concept "Hashable", which is satisfied by any type 'T' such that for values 'a' of type 'T', the expression std::hash<T>{}(a) compiles and its result is convertible to std::size_t.
 
concept  CEqualityComparable
 
concept  CInvocable
 
concept  CEntityAction
 
concept  CComponent
 
concept  CEntityObject
 
concept  CEntityEvent
 
concept  CSystem
 
concept  CSystemImplementation
 
concept  IntrusiveReferenceCountable
 A concept type that checks if a given type T has a intrusive retain
 
concept  ReferenceCountable
 A concept type that checks if a given type T has a CountedPtrTrait specialization that allows it to be used with RC.
 
concept  ConvertibleToString
 A concept that checks if the type T is convertible to a String by using a StringConverter.
 
concept  ConvertibleFromString
 A concept that checks if the type T can be converted from a StringView by using a StringConverter.
 
concept  CStructEnum
 
concept  CLockedObject
 A concept that checks if the type T is a LockedObject.
 
concept  CInputAction
 
concept  CInputRange
 
concept  ExpressibleByIntegerLiteral
 
concept  Equatable
 
concept  Comparable
 
concept  Hashable
 
concept  Numeric
 
concept  Strideable
 
concept  CustomStringConvertible
 
concept  ExpressibleByStringLiteral
 

Typedefs

using CommandLineInterface = lyra::cli
 
using CommandLineArguments = lyra::args
 
using CommandLineOption = lyra::opt
 
using AudioAPIPtr = RC< AudioAPI >
 
using AudioAPIBufferPtr = RC< AudioAPIBuffer >
 
using AudioAPIDevicePtr = RC< AudioAPIDevice >
 
using AudioAPIListenerPtr = RC< AudioAPIListener >
 
using AudioAPISourcePtr = RC< AudioAPISource >
 
using AudioListener = EntityObject< AudioListenerComponent, TransformComponent >
 Represents a listener that hears audio sources.
 
using AudioSource = EntityObject< AudioSourceComponent, TransformComponent >
 Represents a source for emitting audio.
 
using Int8 = std::int8_t
 
using SInt8 = std::int8_t
 
using UInt8 = std::uint8_t
 
using Int16 = std::int16_t
 
using SInt16 = std::int16_t
 
using UInt16 = std::uint16_t
 
using Int32 = std::int32_t
 
using SInt32 = std::int32_t
 
using UInt32 = std::uint32_t
 
using Int64 = std::int64_t
 
using SInt64 = std::int64_t
 
using UInt64 = std::uint64_t
 
using Int = Int32
 
using SInt = Int32
 
using UInt = UInt32
 
using Float = float
 
using Double = double
 
using Bool = bool
 
using EntityActionID = unsigned int
 A numeric type that represents a action.
 
template<typename T , typename A >
using ifEntityAction = typename std::enable_if< isEntityAction< A >, T >::type
 If the type A is a action (as defined by isAction<A>), this type is aliased to T.
 
template<typename T , typename... As>
using ifEntityActions = typename std::enable_if< areEntityActions< As... >, T >::type
 If the types As are all actions (as defined by areActions<As>), this type is aliased to T.
 
using ComponentID = unsigned int
 A numeric type that represents a component.
 
using ComponentMask = std::bitset< 128 >
 A bitset that represents a components mask (i.e. a set of components)
 
template<typename T , typename C >
using ifComponent = typename std::enable_if< isComponent< C >, T >::type
 If the type C is a component (as defined by isComponent<C>), this type is aliased to T.
 
template<typename T , typename... Cs>
using ifComponents = typename std::enable_if< areComponents< Cs... >, T >::type
 If the types Cs are all components (as defined by areComponents<Cs>), this type is aliased to T.
 
template<typename O , typename T = void>
using ifEntityObject = typename std::enable_if< isEntityObject< O >, T >::type
 If the type E is a entity object (as defined by isEntityObject<S>), this type is aliased to T.
 
using EntityIndex = UInt32
 
using EntityVersion = UInt32
 
using EntityDirtyFlags = Flags< EntityDirtyBit >
 
using ComponentDirtyFlags = Flags< ComponentDirtyBit >
 
using EntityEventID = unsigned int
 A numeric type that represents a event.
 
template<typename T , typename E >
using ifEntityEvent = typename std::enable_if< isEntityEvent< E >, T >::type
 If the type E is a event (as defined by isEntityEvent<E>), this type is aliased to T.
 
using SystemID = unsigned int
 A numeric type that represents a system.
 
using SystemOrder = int
 A signed numeric type that represents the order in which a system should be updated by the SystemManager.
 
template<typename T , typename S >
using ifSystem = typename std::enable_if< isSystem< S >, T >::type
 If the type S is a system (as defined by isSystem<S>), this type is aliased to T.
 
using DefaultPartitioner = ThreadPartitioner
 Default partitioner used by parallel algorithms.
 
using MemoryBlock = foonathan::memory::memory_block
 
template<typename Allocator >
using AllocatorTraits = foonathan::memory::allocator_traits< Allocator >
 
template<typename Allocator >
using ComposableAllocatorTraits = foonathan::memory::composable_allocator_traits< Allocator >
 
template<class StoragePolicy , class Mutex >
using AllocatorStorage = foonathan::memory::allocator_storage< StoragePolicy, Mutex >
 
template<class RawAllocator >
using DirectStorage = foonathan::memory::direct_storage< RawAllocator >
 
template<class RawAllocator >
using ReferenceStorage = foonathan::memory::reference_storage< RawAllocator >
 
template<class RawAllocator >
using AllocatorReference = foonathan::memory::allocator_reference< RawAllocator >
 
using AnyAllocator = foonathan::memory::any_allocator
 
using AnyAllocatorReference = foonathan::memory::any_allocator_reference
 
template<class RawAllocator >
using AllocatorAdapter = foonathan::memory::allocator_adapter< RawAllocator >
 
template<class RawAllocator , class Mutex = std::mutex>
using ThreadSafeAllocator = foonathan::memory::thread_safe_allocator< RawAllocator, Mutex >
 
template<class RawAllocator >
using AlignedAllocator = foonathan::memory::aligned_allocator< RawAllocator >
 
using TemporaryAllocator = foonathan::memory::temporary_allocator
 
using TemporaryStackInitializer = foonathan::memory::temporary_stack_initializer
 
template<class Default , class Fallback >
using FallbackAllocator = foonathan::memory::fallback_allocator< Default, Fallback >
 
using HeapAllocator = foonathan::memory::heap_allocator
 
template<std::size_t N, class BlockOrRawAllocator = DefaultAllocator>
using IterationAllocator = foonathan::memory::iteration_allocator< N, BlockOrRawAllocator >
 
template<class BlockOrRawAllocator = DefaultAllocator>
using DoubleFrameAllocator = foonathan::memory::double_frame_allocator< BlockOrRawAllocator >
 
using MallocAllocator = foonathan::memory::malloc_allocator
 
template<class BlockAllocator = DefaultAllocator, bool Cached = true>
using MemoryArena = foonathan::memory::memory_arena< BlockAllocator, Cached >
 
template<class RawAllocator = DefaultAllocator, unsigned Num = 2, unsigned Den = 1>
using GrowingBlockAllocator = foonathan::memory::growing_block_allocator< RawAllocator, Num, Den >
 
template<class RawAllocator = DefaultAllocator>
using FixedBlockAllocator = foonathan::memory::fixed_block_allocator< RawAllocator >
 
using NodePool = foonathan::memory::node_pool
 
using ArrayPool = foonathan::memory::array_pool
 
using SmallNodePool = foonathan::memory::small_node_pool
 
template<typename PoolType = foonathan::memory::node_pool, class BlockOrRawAllocator = DefaultAllocator>
using MemoryPool = foonathan::memory::memory_pool< PoolType, BlockOrRawAllocator >
 
template<class PoolType , class BucketDistribution , class BlockOrRawAllocator = DefaultAllocator>
using MemoryPoolCollection = foonathan::memory::memory_pool_collection< PoolType, BucketDistribution, BlockOrRawAllocator >
 
template<class PoolType = NodePool, class BlockOrRawAllocator = DefaultAllocator>
using BucketAllocator = foonathan::memory::bucket_allocator< PoolType, BlockOrRawAllocator >
 
template<class BlockOrRawAllocator = DefaultAllocator>
using MemoryStack = foonathan::memory::memory_stack< BlockOrRawAllocator >
 
template<class Stack = MemoryStack<>>
using MemoryStackScope = foonathan::memory::memory_stack_raii_unwind< Stack >
 
using NewAllocator = foonathan::memory::new_allocator
 
template<class RawAllocator >
using ThresholdSegregatable = foonathan::memory::threshold_segregatable< RawAllocator >
 
using NullAllocator = foonathan::memory::null_allocator
 
template<class Segregatable , class RawAllocator >
using BinarySegregator = foonathan::memory::binary_segregator< Segregatable, RawAllocator >
 
template<std::size_t Size>
using StaticAllocatorStorage = foonathan::memory::static_allocator_storage< Size >
 
using StaticAllocator = foonathan::memory::static_allocator
 
using StaticBlockAllocator = foonathan::memory::static_block_allocator
 
template<class Tracker , class RawAllocator >
using TrackedAllocator = foonathan::memory::tracked_allocator< Tracker, RawAllocator >
 
template<class Tracker , class BlockOrRawAllocator >
using TrackedBlockAllocator = foonathan::memory::tracked_block_allocator< Tracker, BlockOrRawAllocator >
 
template<class Tracker , class BlockOrRawAllocator >
using DeeplyTrackedBlockAllocator = foonathan::memory::deeply_tracked_block_allocator< Tracker, BlockOrRawAllocator >
 
using VirtualMemoryAllocator = foonathan::memory::virtual_memory_allocator
 
using VirtualBlockAllocator = foonathan::memory::virtual_block_allocator
 
template<typename T , class RawAllocator >
using JointPtr = foonathan::memory::joint_ptr< T, RawAllocator >
 
template<typename T >
using JointArray = foonathan::memory::joint_array< T >
 
template<typename T , class RawAllocator >
using JointAllocator = foonathan::memory::joint_allocator
 
template<typename T , class RawAllocator = DefaultAllocator>
using StdAllocator = foonathan::memory::std_allocator< T, RawAllocator >
 
template<typename T >
using AnyStdAllocator = foonathan::memory::any_std_allocator< T >
 
template<class RawAllocator >
using MemoryResourceAdapter = foonathan::memory::memory_resource_adapter< RawAllocator >
 
using MemoryResourceAllocator = foonathan::memory::memory_resource_allocator
 
template<typename Type , class RawAllocator >
using AllocatorDeallocator = foonathan::memory::allocator_deallocator< Type, RawAllocator >
 
template<typename BaseType , class RawAllocator >
using AllocatorPolymorphicDeallocator = foonathan::memory::allocator_polymorphic_deallocator< BaseType, RawAllocator >
 
template<typename Type , class RawAllocator >
using AllocatorDeleter = foonathan::memory::allocator_deleter< Type, RawAllocator >
 
template<typename BaseType , class RawAllocator >
using AllocatorPolymorphicDeleter = foonathan::memory::allocator_polymorphic_deleter< BaseType, RawAllocator >
 
using AllocatorInfo = foonathan::memory::allocator_info
 
using OutOfMemoryError = foonathan::memory::out_of_memory
 
using OutOfFixedMemoryError = foonathan::memory::out_of_fixed_memory
 
using BadAllocationSizeError = foonathan::memory::bad_allocation_size
 
using BadNodeSizeError = foonathan::memory::bad_node_size
 
using BadArraySizeError = foonathan::memory::bad_array_size
 
using BadAlignmentError = foonathan::memory::bad_alignment
 
template<typename OuterAlloc , typename... InnerAlloc>
using ScopedAllocatorAdaptor = std::scoped_allocator_adaptor< OuterAlloc, InnerAlloc... >
 The ScopedAllocatorAdaptor class template is an allocator which can be used with multilevel containers (vector of sets of lists of tuples of maps, etc).
 
template<typename... Args>
using Async = cti::continuable< Args... >
 Defines a non-copyable continuation type which uses the function2 backend for type erasure.
 
template<typename... Args>
using Promise = cti::promise< Args... >
 Defines a non-copyable promise type which is using the function2 backend for type erasure.
 
template<typename... Args>
using AsyncResult = cti::result< Args... >
 The result class can carry the three kinds of results an asynchronous operation possibly can return, it's implemented in a variant like data structure which is also specialized to hold arbitrary arguments.
 
using CharRange = int
 
using ByteBuffer = Buffer
 
template<typename Representation , typename Period = std::ratio<1>>
using TTimeInterval = std::chrono::duration< Representation, Period >
 Represents a time interval.
 
using TimeInterval = TTimeInterval< double >
 Represents a time interval.
 
using Nanoseconds = TTimeInterval< TimeInterval::rep, std::nano >
 A time duration with nanoseconds.
 
using Microseconds = TTimeInterval< TimeInterval::rep, std::micro >
 A time duration with microseconds.
 
using Milliseconds = TTimeInterval< TimeInterval::rep, std::milli >
 A time duration with milliseconds.
 
using Seconds = TTimeInterval< TimeInterval::rep >
 A time duration with seconds.
 
using Minutes = TTimeInterval< TimeInterval::rep, std::ratio< 60 > >
 A time duration with minutes.
 
using Hours = TTimeInterval< TimeInterval::rep, std::ratio< 3600 > >
 A time duration with hours.
 
using Days = TTimeInterval< TimeInterval::rep, std::ratio< 86400 > >
 A time duration with days.
 
using Weeks = TTimeInterval< TimeInterval::rep, std::ratio< 604800 > >
 A time duration with weeks.
 
using Months = TTimeInterval< TimeInterval::rep, std::ratio< 2629746 > >
 A time duration with months.
 
using Years = TTimeInterval< TimeInterval::rep, std::ratio< 31556952 > >
 A time duration with years.
 
using SystemClock = std::chrono::system_clock
 
using SteadyClock = std::chrono::steady_clock
 
using HighResolutionClock = std::chrono::high_resolution_clock
 
template<typename Clock , typename Duration = typename Clock::duration>
using TDate = std::chrono::time_point< Clock, Duration >
 Represents a point in time.
 
using Date = TDate< SystemClock, TimeInterval >
 Represents a point in time.
 
using SteadyClockDate = TDate< SteadyClock, TimeInterval >
 Represents a point in time.
 
template<typename T , std::size_t N>
using Array = std::array< T, N >
 Array is a container that encapsulates fixed size arrays.
 
template<typename T >
using Atomic = std::atomic< T >
 The Atomic template defines an atomic type.
 
using AtomicFlag = std::atomic_flag
 AtomicFlag is an atomic boolean type.
 
template<size_t N>
using BitSet = std::bitset< N >
 BitSet represents a fixed-size sequence of N bits.
 
template<typename T , typename RawAllocator = DefaultAllocator>
using CompactVector = sfl::compact_vector< T, StdAllocator< T, RawAllocator > >
 CompactVector is a sequence container similar to Vector.
 
template<typename T , typename Traits = moodycamel::ConcurrentQueueDefaultTraits>
using ConcurrentQueue = moodycamel::ConcurrentQueue< T, Traits >
 
using ProducerToken = moodycamel::ProducerToken
 
using ConsumerToken = moodycamel::ConsumerToken
 
template<typename T , typename Traits = moodycamel::ConcurrentQueueDefaultTraits>
using BlockingConcurrentQueue = moodycamel::BlockingConcurrentQueue< T, Traits >
 
template<typename T , typename RawAllocator = DefaultAllocator>
using Deque = std::deque< T, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > >
 Deque (double-ended queue) is an indexed sequence container that allows fast insertion and deletion at both its beginning and its end.
 
template<typename T >
using TemporaryDeque = Deque< T, TemporaryAllocator >
 A special Deque that uses a fast temporary allocator.
 
template<size_t N, typename RawAllocator = DefaultAllocator>
using SmallDynamicBitSet = DynamicBitSet< SmallVector< UInt32, N, RawAllocator > >
 Similar to a DynamicBitSet, but stores data in a SmallVector.
 
template<typename Key , typename T , size_t Capacity, typename Compare = std::less<>>
using StaticFlatMap = FlatMap< Key, T, Compare, StaticVector< Pair< Key, T >, Capacity > >
 Similar to a FlatMap, but stores data in a StaticVector.
 
template<typename Key , typename Value , typename Compare = std::less<>, typename RawAllocator = DefaultAllocator>
using IndexedMultimap = BasicIndexedMultimap< Key, Value, std::multimap< Key, Value, Compare, ScopedAllocatorAdaptor< StdAllocator< Pair< const Key, Value >, RawAllocator > > > >
 
template<typename Key , typename Value , size_t N, typename Compare = std::less<>, typename RawAllocator = DefaultAllocator>
using SmallFlatIndexedMultimap = BasicIndexedMultimap< Key, Value, sfl::small_flat_multimap< Key, Value, N, Compare, StdAllocator< Pair< Key, Value >, RawAllocator > > >
 ///
 
template<typename T >
using InitializerList = std::initializer_list< T >
 An object of type InitializerList<T> is a lightweight proxy object that provides access to an array of objects of type const T.
 
template<typename T , typename RawAllocator = DefaultAllocator>
using List = std::list< T, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > >
 List is a container that supports constant time insertion and removal of elements from anywhere in the container.
 
template<typename T >
using TemporaryList = List< T, TemporaryAllocator >
 A special List that uses a fast temporary allocator.
 
template<typename T , typename RawAllocator = DefaultAllocator>
using ForwardList = std::forward_list< T, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > >
 ForwardList is a container that supports fast insertion and removal of elements from anywhere in the container.
 
template<typename T >
using TemporaryForwardList = ForwardList< T, TemporaryAllocator >
 A special ForwardList that uses a fast temporary allocator.
 
template<typename Key , typename T , typename Compare = std::less<>, typename RawAllocator = DefaultAllocator>
using Map = std::map< Key, T, Compare, ScopedAllocatorAdaptor< StdAllocator< Pair< const Key, T >, RawAllocator > > >
 Map is a sorted associative container that contains key-value pairs with unique keys.
 
template<typename Key , typename T , typename Compare = std::less<>>
using TemporaryMap = Map< Key, T, Compare, TemporaryAllocator >
 A special Map that uses a fast temporary allocator.
 
template<typename Key , typename T , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<>, typename RawAllocator = DefaultAllocator>
using HashMap = std::unordered_map< Key, T, Hash, KeyEqual, ScopedAllocatorAdaptor< StdAllocator< Pair< const Key, T >, RawAllocator > > >
 HashMap is an associative container that contains key-value pairs with unique keys.
 
template<typename Key , typename T , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<>>
using TemporaryHashMap = HashMap< Key, T, Hash, KeyEqual, TemporaryAllocator >
 A special HashMap that uses a fast temporary allocator.
 
using ByteMemoryView = MemoryView< Byte >
 A memory view that views elements as raw-bytes.
 
using ByteStridedMemoryView = StridedMemoryView< Byte >
 A strided memory view that views elements as raw-bytes.
 
template<typename Key , typename T , typename Compare = std::less<>, typename RawAllocator = DefaultAllocator>
using MultiMap = std::multimap< Key, T, Compare, ScopedAllocatorAdaptor< StdAllocator< Pair< const Key, T >, RawAllocator > > >
 
template<typename Key , typename T , typename Compare = std::less<>>
using TemporaryMultiMap = MultiMap< Key, T, Compare, TemporaryAllocator >
 A special MultiMap that uses a fast temporary allocator.
 
template<typename Key , typename T , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<>, typename RawAllocator = DefaultAllocator>
using HashMultiMap = std::unordered_multimap< Key, T, Hash, KeyEqual, ScopedAllocatorAdaptor< StdAllocator< Pair< const Key, T >, RawAllocator > > >
 
template<typename Key , typename T , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<>>
using TemporaryHashMultiMap = HashMultiMap< Key, T, Hash, KeyEqual, TemporaryAllocator >
 A special HashMultiMap that uses a fast temporary allocator.
 
template<typename First , typename Second >
using Pair = std::pair< First, Second >
 Pair is a struct template that provides a way to store two heterogeneous objects as a single unit.
 
template<typename T , typename Container = Deque<T>>
using Queue = std::queue< T, Container >
 The Queue class is a container adapter that gives the programmer the functionality of a queue - specifically, a FIFO (first-in, first-out) data structure.
 
template<typename T , typename Container = Vector<T>, typename Compare = std::less<>>
using PriorityQueue = std::priority_queue< T, Container, Compare >
 A PriorityQueue is a container adaptor that provides constant time lookup of the largest (by default) element, at the expense of logarithmic insertion and extraction.
 
template<typename T , std::size_t N, typename RawAllocator = DefaultAllocator>
using SegmentedVector = sfl::segmented_vector< T, N, StdAllocator< T, RawAllocator > >
 SegmentedVector is a sequence container similar to Vector but with the different storage model.
 
template<typename Key , typename Compare = std::less<>, typename RawAllocator = DefaultAllocator>
using Set = std::set< Key, Compare, ScopedAllocatorAdaptor< StdAllocator< Key, RawAllocator > > >
 Set is an associative container that contains a sorted set of unique objects of type Key.
 
template<typename Key , typename Compare = std::less<>>
using TemporarySet = Set< Key, Compare, TemporaryAllocator >
 A special Set that uses a fast temporary allocator.
 
template<typename Key , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<>, typename RawAllocator = DefaultAllocator>
using HashSet = std::unordered_set< Key, Hash, KeyEqual, ScopedAllocatorAdaptor< StdAllocator< Key, RawAllocator > > >
 HashSet is an associative container that contains a set of unique objects of type Key.
 
template<typename Key , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<>>
using TemporaryHashSet = HashSet< Key, Hash, KeyEqual, TemporaryAllocator >
 A special HashSet that uses a fast temporary allocator.
 
template<typename Key , typename T , std::size_t N, typename Compare = std::less<>, typename RawAllocator = DefaultAllocator>
using SmallFlatMap = sfl::small_flat_map< Key, T, N, Compare, StdAllocator< std::pair< Key, T >, RawAllocator > >
 SmallFlatMap is a sorted associative container similar to Map.
 
template<typename Key , typename T , std::size_t N, typename Compare = std::less<>, typename RawAllocator = DefaultAllocator>
using SmallFlatMultimap = sfl::small_flat_multimap< Key, T, N, Compare, StdAllocator< std::pair< Key, T >, RawAllocator > >
 SmallFlatMultimap is a sorted associative container similar to Multimap.
 
template<typename Key , typename T , std::size_t N, typename KeyEqual = std::equal_to<>, typename RawAllocator = DefaultAllocator>
using SmallUnorderedFlatMap = sfl::small_unordered_flat_map< Key, T, N, KeyEqual, StdAllocator< std::pair< Key, T >, RawAllocator > >
 SmallUnorderedFlatMap is an unordered associative container similar to HashMap.
 
template<typename Key , typename T , std::size_t N, typename KeyEqual = std::equal_to<>, typename RawAllocator = DefaultAllocator>
using SmallUnorderedFlatMultimap = sfl::small_unordered_flat_multimap< Key, T, N, KeyEqual, StdAllocator< std::pair< Key, T >, RawAllocator > >
 SmallUnorderedFlatMultimap is an unordered associative container similar to HashMultimap.
 
template<typename T , std::size_t N, typename RawAllocator = DefaultAllocator>
using SmallVector = sfl::small_vector< T, N, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > >
 SmallVector is a sequence container similar to Vector.
 
template<typename T , std::size_t Extent = tcb ::dynamic_extent>
using Span = tcb ::span< T, Extent >
 Span describes an object that can refer to a contiguous sequence of objects with the first element of the sequence at position zero.
 
template<typename T , typename Container = Deque<T>>
using Stack = std::stack< T, Container >
 The Stack class is a container adapter that gives the programmer the functionality of a stack - specifically, a LIFO (last-in, first-out) data structure.
 
template<typename T >
using TemporaryStack = Stack< T, TemporaryDeque< T > >
 A special Stack that uses a fast temporary allocator.
 
template<typename T , typename RawAllocator = DefaultAllocator>
using Vector = std::vector< T, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > >
 Vector is a sequence container that encapsulates dynamic size arrays.
 
template<typename T >
using TemporaryVector = Vector< T, TemporaryAllocator >
 A special Vector that uses a fast temporary allocator.
 
template<typename T = void>
using CoroutineHandle = std::coroutine_handle< T >
 A type alias to the C++ standard library coroutine handle.
 
template<typename T >
using CoroutineTraits = std::coroutine_traits< T >
 A type alias to the C++ standard library coroutine traits.
 
using SuspendAlways = std::suspend_always
 A type alias to the C++ standard library suspend always tag.
 
using SuspendNever = std::suspend_never
 A type alias to the C++ standard library suspend never tag.
 
template<typename T , template< typename > typename F = std::function>
using Event = TEvent< MultithreadPolicy, T, F >
 Event type that is safe to use in multithreaded environments, where the event and slots exists in different threads.
 
template<typename T , template< typename > typename F = std::function>
using UnsafeEvent = TEvent< SinglethreadPolicy, T, F >
 Event type that is unsafe in multithreaded environments.
 
using AnyExecutor = TAnyExecutor<>
 
template<bool IsOwning, bool IsCopyable, typename Capacity , bool IsThrowing, bool HasStrongExceptGuarantee, typename... Signatures>
using FunctionBase = fu2::function_base< IsOwning, IsCopyable, Capacity, IsThrowing, HasStrongExceptGuarantee, Signatures... >
 An adaptable function wrapper base for arbitrary functional types.
 
template<typename... Signatures>
using Function = FunctionBase< true, true, fu2::capacity_default, true, false, Signatures... >
 An owning copyable function wrapper for arbitrary callable types.
 
template<typename... Signatures>
using UniqueFunction = FunctionBase< true, false, fu2::capacity_default, true, false, Signatures... >
 An owning non copyable function wrapper for arbitrary callable types.
 
template<typename... Signatures>
using FunctionView = FunctionBase< false, true, fu2::capacity_default, true, false, Signatures... >
 A non owning copyable function wrapper for arbitrary callable types.
 
using BadFunctionCall = fu2::bad_function_call
 Exception type that is thrown when invoking empty function objects and exception support isn't disabled.
 
using FileEvents = Flags< FileEvent >
 Type of event on the file system.
 
using Timer = TTimer< std::chrono::system_clock >
 
using SteadyTimer = TTimer< std::chrono::steady_clock >
 
using HighResolutionTimer = TTimer< std::chrono::high_resolution_clock >
 
using FileURLRequest = FileURLProtocol::Request
 The URLRequest object for FileURLProtocol.
 
using FileURLResponse = FileURLProtocol::Response
 The URLResponse object for FileURLProtocol.
 
using URL = URI
 A Uniform Resource Identifier (URI) is a unique sequence of characters that identifies a logical or physical resource used by web technologies.
 
using URLInputStream = InputStream
 A stream that provides read-only stream functionality.
 
using URLOutputStream = OutputStream
 A stream that provides write-only stream functionality.
 
using URLDataStream = DataStream
 A stream that provides write-only stream functionality.
 
using URLRequestModeFlags = Flags< URLRequestMode >
 Determines the mode the request should be performed.
 
using URLProtocolPtr = UPtr< URLProtocol >
 A pointer to a URLProtocol.
 
template<class T , class A = impl::increment::ByValue<1>>
using ReferenceIterator = Iterator< T *, A, impl::dereference::ByValueDereference >
 Iterates by incrementing a pointer value. Returns the dereferenced pointer.
 
template<typename RawAllocator = DefaultAllocator>
using BasicJSON = nlohmann::json
 
using JSON = BasicJSON<>
 
template<typename T >
using IsNotReference = typename std::enable_if<!std::is_reference< T >::value, void >::type
 
template<typename T , typename Deleter = std::default_delete<T>>
using UPtr = std::unique_ptr< T, Deleter >
 UPtr is a smart pointer that owns and manages another object through a pointer and disposes of that object when the unique_ptr goes out of scope.
 
template<typename T >
using SPtr = std::shared_ptr< T >
 SPtr is a smart pointer that retains shared ownership of an object through a pointer.
 
template<typename T >
using WPtr = std::weak_ptr< T >
 WPtr is a smart pointer that holds a non-owning ("weak") reference to an object that is managed by SPtr.
 
template<typename T >
using RC = CountedPtr< T >
 RC is a smart pointer that retains shared ownership of an object through a pointer.
 
template<typename T >
using CoW = CopyOnWritePtr< T >
 A copy-on-write pointer type that shares a single instance of an object when copied but allows.
 
template<typename T , size_t SmallSize = sizeof(int*) * 3>
using VPtr = ValuePtr< T, SmallSize >
 A pointer type that has value semantics.
 
template<typename T , typename CharTraits = std::char_traits<T>>
using TemporaryBasicString = BasicString< T, CharTraits, TemporaryAllocator >
 A special BasicString that uses a fast temporary allocator.
 
using String = BasicString< char >
 Narrow string used for handling narrow encoded text in UTF-8.
 
using TemporaryString = TemporaryBasicString< char >
 A special String that uses a fast temporary allocator.
 
using WString = BasicString< wchar_t >
 Wide string used primarily for handling Unicode text (UTF-32 on Linux, UTF-16 on Windows, generally).
 
using TemporaryWString = TemporaryBasicString< wchar_t >
 A special String that uses a fast temporary allocator.
 
using U16String = BasicString< char16_t >
 Wide string used UTF-16 encoded strings.
 
using TemporaryU16String = TemporaryBasicString< char16_t >
 A special String that uses a fast temporary allocator.
 
using U32String = BasicString< char32_t >
 Wide string used UTF-32 encoded strings.
 
using TemporaryU32String = TemporaryBasicString< char32_t >
 A special String that uses a fast temporary allocator.
 
using StringView = BasicStringView< char >
 Narrow string view used for handling narrow encoded text in UTF-8.
 
using WStringView = BasicStringView< wchar_t >
 Wide string view used primarily for handling Unicode text (UTF-32 on Linux, UTF-16 on Windows, generally).
 
using U16StringView = BasicStringView< char16_t >
 Wide string view used UTF-16 encoded strings.
 
using U32StringView = BasicStringView< char32_t >
 Wide string view used UTF-32 encoded strings.
 
template<typename T , typename RawAllocator = DefaultAllocator>
using CiBasicString = BasicString< T, CiCharTraits< T >, RawAllocator >
 Basic case-insensitive string that uses framework's memory allocators.
 
template<typename T >
using TemporaryCiBasicString = BasicString< T, CiCharTraits< T >, TemporaryAllocator >
 A special CiBasicString that uses a fast temporary allocator.
 
template<typename T >
using CiBasicStringView = BasicStringView< T, CiCharTraits< T > >
 Basic case-insensitive string view.
 
using CiString = CiBasicString< char >
 Narrow case-insensitive string used for handling narrow encoded text (either locale specific ANSI or UTF-8).
 
using TemporaryCiString = TemporaryCiBasicString< char >
 A special CiString that uses a fast temporary allocator.
 
using CiWString = CiBasicString< wchar_t >
 Wide case-insensitive string used primarily for handling Unicode text (UTF-32 on Linux, UTF-16 on Windows, generally).
 
using TemporaryCiWString = TemporaryCiBasicString< wchar_t >
 A special CiString that uses a fast temporary allocator.
 
using CiU16String = CiBasicString< char16_t >
 Wide case-insensitive string used UTF-16 encoded strings.
 
using TemporaryCiU16String = TemporaryCiBasicString< char16_t >
 A special CiString that uses a fast temporary allocator.
 
using CiU32String = CiBasicString< char32_t >
 Wide case-insensitive string used UTF-32 encoded strings.
 
using TemporaryCiU32String = TemporaryCiBasicString< char32_t >
 A special CiString that uses a fast temporary allocator.
 
using CiStringView = CiBasicStringView< char >
 Narrow case-insensitive string view used for handling narrow encoded text (either locale specific ANSI or UTF-8).
 
using CiWStringView = CiBasicStringView< wchar_t >
 Wide case-insensitive string view used primarily for handling Unicode text (UTF-32 on Linux, UTF-16 on Windows, generally).
 
using CiU16StringView = CiBasicStringView< char16_t >
 Wide case-insensitive string view used UTF-16 encoded strings.
 
using CiU32StringView = CiBasicStringView< char32_t >
 Wide case-insensitive string view used UTF-32 encoded strings.
 
using DefaultStringDatabase = ThreadSafeStringDatabase< MapStringDatabase >
 The default database where the strings are stored.
 
template<typename T , typename RawAllocator = DefaultAllocator>
using BasicStringStream = std::basic_stringstream< T, std::char_traits< T >, StdAllocator< T, RawAllocator > >
 Basic string stream that uses framework's memory allocators.
 
template<typename T , typename RawAllocator = DefaultAllocator>
using BasicOutputStringStream = std::basic_ostringstream< T, std::char_traits< T >, StdAllocator< T, RawAllocator > >
 Basic output string stream that uses framework's memory allocators.
 
template<typename T , typename RawAllocator = DefaultAllocator>
using BasicInputStringStream = std::basic_istringstream< T, std::char_traits< T >, StdAllocator< T, RawAllocator > >
 Basic output string stream that uses framework's memory allocators.
 
using StringStream = BasicStringStream< char >
 Wide string stream used for primarily for constructing narrow strings.
 
using WStringStream = BasicStringStream< wchar_t >
 Wide string stream used for primarily for constructing wide strings.
 
using U16StringStream = BasicStringStream< char16_t >
 Wide string stream used for primarily for constructing UTF-16 strings.
 
using U32StringStream = BasicStringStream< char32_t >
 Wide string stream used for primarily for constructing UTF-32 strings.
 
using StringOutputStream = BasicOutputStringStream< char >
 Wide string stream used for primarily for constructing narrow strings.
 
using WStringOutputStream = BasicOutputStringStream< wchar_t >
 Wide string stream used for primarily for constructing wide strings.
 
using U16StringOutputStream = BasicOutputStringStream< char16_t >
 Wide string stream used for primarily for constructing UTF-16 strings.
 
using U32StringOutputStream = BasicOutputStringStream< char32_t >
 Wide string stream used for primarily for constructing UTF-32 strings.
 
using StringInputStream = BasicInputStringStream< char >
 Wide string stream used for primarily for constructing narrow strings.
 
using WStringInputStream = BasicInputStringStream< wchar_t >
 Wide string stream used for primarily for constructing wide strings.
 
using U16StringInputStream = BasicInputStringStream< char16_t >
 Wide string stream used for primarily for constructing UTF-16 strings.
 
using U32StringInputStream = BasicInputStringStream< char32_t >
 Wide string stream used for primarily for constructing UTF-32 strings.
 
using AsyncMutex = TAsyncMutex<>
 A mutex that can be locked asynchronously using 'co_await'.
 
using AsyncSharedMutex = TAsyncSharedMutex<>
 
using ExecutorExecutionContext = asio::execution::context_t
 
template<typename T >
using ExecutorExecutionContextAs = asio::execution::context_as_t< T >
 
using ExecutorBlocking = asio::execution::blocking_t
 
using ExecutorMapping = asio::execution::mapping_t
 
using ExecutorOccupancy = asio::execution::occupancy_t
 
using ExecutorOutstandingWork = asio::execution::outstanding_work_t
 
using ExecutorBulkGuarantee = asio::execution::bulk_guarantee_t
 
using ExecutorRelationship = asio::execution::relationship_t
 
template<typename T >
using ExecutorAllocator = asio::execution::allocator_t< T >
 
template<typename Property >
using ExecutorPreferOnly = asio::execution::prefer_only< Property >
 
template<typename... Properties>
using AnyExecutorBase = asio::execution::any_executor< Properties..., ExecutorPreferOnly< ExecutorPriority >, ExecutorPreferOnly< ExecutorBlocking::possibly_t >, ExecutorPreferOnly< ExecutorBlocking::never_t >, ExecutorPreferOnly< ExecutorOutstandingWork::tracked_t >, ExecutorPreferOnly< ExecutorOutstandingWork::untracked_t >, ExecutorPreferOnly< ExecutorRelationship::fork_t >, ExecutorPreferOnly< ExecutorRelationship::continuation_t >, ExecutorPreferOnly< ExecutorBulkGuarantee::parallel_t >, ExecutorPreferOnly< ExecutorBulkGuarantee::sequenced_t >, ExecutorPreferOnly< ExecutorBulkGuarantee::unsequenced_t > >
 
using AnyIOExecutor = TAnyExecutor< ExecutorExecutionContextAs< asio::execution_context & >, ExecutorBlocking::never_t >
 
template<typename Executor >
using TStrand = asio::strand< Executor >
 
using Strand = TStrand< AnyExecutor >
 
using ExecutorWorkGuard = asio::executor_work_guard< AnyExecutor >
 
using DefaultExecutor = ThreadExecutor
 The default executor to be used when no other executor is provided.
 
using Thread = std::thread
 The class thread represents a single thread of execution.
 
using Mutex = std::mutex
 The Mutex class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.
 
using TimedMutex = std::timed_mutex
 The TimedMutex class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.
 
using RecursiveMutex = std::recursive_mutex
 The RecursiveMutex class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.
 
using RecursiveTimedMutex = std::recursive_timed_mutex
 The RecursiveTimedMutex class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.
 
using SharedMutex = std::shared_mutex
 The SharedMutex class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.
 
using SharedTimedMutex = std::shared_timed_mutex
 The SharedTimedMutex class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.
 
using ConditionVariable = std::condition_variable
 The condition_variable class is a synchronization primitive that can be used to block a thread, or multiple threads at the same time, until another thread both modifies a shared variable (the condition), and notifies the condition_variable.
 
template<typename T >
using remove_all_cv = typename remove_all_cv_t< T >::type
 
template<typename T >
using full_decay = remove_all_cv< std::decay_t< T > >
 
using GraphPtr = RC< Graph >
 
using GraphNodePtr = RC< GraphNode >
 
using GraphSocketPtr = RC< GraphSocket >
 
using GraphConnectionPtr = RC< GraphConnection >
 
using GraphInstancePtr = RC< GraphInstance >
 
using GraphSocketFlags = Flags< GraphSocketFlag >
 A set of user-defined flags that customize behavior of a socket.
 
using ButtonSet = Vector< Button >
 A type that represents a set of buttons.
 
using MaterialPtr = SPtr< Material >
 
using HMaterial = ::CeresEngine::ResourceHandle< Material >
 
using PBRMaterialPtr = SPtr< PBRMaterial >
 
using HPBRMaterial = ::CeresEngine::ResourceHandle< PBRMaterial >
 
using ShaderMaterialPtr = SPtr< ShaderMaterial >
 
using HShaderMaterial = ::CeresEngine::ResourceHandle< ShaderMaterial >
 
using ShaderPtr = SPtr< Shader >
 
using HShader = ::CeresEngine::ResourceHandle< Shader >
 
using CESLShaderPtr = SPtr< CESLShader >
 
using HCESLShader = ::CeresEngine::ResourceHandle< CESLShader >
 
using HLSLShaderPtr = SPtr< HLSLShader >
 
using HHLSLShader = ::CeresEngine::ResourceHandle< HLSLShader >
 
using GLSLShaderPtr = SPtr< GLSLShader >
 
using HGLSLShader = ::CeresEngine::ResourceHandle< GLSLShader >
 
using SPIRVShaderPtr = SPtr< SPIRVShader >
 
using HSPIRVShader = ::CeresEngine::ResourceHandle< SPIRVShader >
 
using MaterialGraphFloatLiteralNode = MaterialGraphLiteralNode< float >
 
using MaterialGraphVector2LiteralNode = MaterialGraphLiteralNode< Vector2f >
 
using MaterialGraphVector3LiteralNode = MaterialGraphLiteralNode< Vector3f >
 
using MaterialGraphVector4LiteralNode = MaterialGraphLiteralNode< Vector4f >
 
using MaterialGraphFloatMathNode = MaterialGraphMathNode< Float >
 
using MaterialGraphVector2MathNode = MaterialGraphMathNode< Vector2 >
 
using MaterialGraphVector3MathNode = MaterialGraphMathNode< Vector3 >
 
using MaterialGraphVector4MathNode = MaterialGraphMathNode< Vector4 >
 
using MaterialGraphFloatAddNode = MaterialGraphBinaryMathNode< Float, MaterialGraphMathOperation::Add >
 
using MaterialGraphFloatSubtractNode = MaterialGraphBinaryMathNode< Float, MaterialGraphMathOperation::Subtract >
 
using MaterialGraphFloatMultiplyNode = MaterialGraphBinaryMathNode< Float, MaterialGraphMathOperation::Multiply >
 
using MaterialGraphFloatDivideNode = MaterialGraphBinaryMathNode< Float, MaterialGraphMathOperation::Divide >
 
using MaterialGraphVector2AddNode = MaterialGraphBinaryMathNode< Vector2, MaterialGraphMathOperation::Add >
 
using MaterialGraphVector2SubtractNode = MaterialGraphBinaryMathNode< Vector2, MaterialGraphMathOperation::Subtract >
 
using MaterialGraphVector2MultiplyNode = MaterialGraphBinaryMathNode< Vector2, MaterialGraphMathOperation::Multiply >
 
using MaterialGraphVector2DivideNode = MaterialGraphBinaryMathNode< Vector2, MaterialGraphMathOperation::Divide >
 
using MaterialGraphVector3AddNode = MaterialGraphBinaryMathNode< Vector3, MaterialGraphMathOperation::Add >
 
using MaterialGraphVector3SubtractNode = MaterialGraphBinaryMathNode< Vector3, MaterialGraphMathOperation::Subtract >
 
using MaterialGraphVector3MultiplyNode = MaterialGraphBinaryMathNode< Vector3, MaterialGraphMathOperation::Multiply >
 
using MaterialGraphVector3DivideNode = MaterialGraphBinaryMathNode< Vector3, MaterialGraphMathOperation::Divide >
 
using MaterialGraphVector4AddNode = MaterialGraphBinaryMathNode< Vector4, MaterialGraphMathOperation::Add >
 
using MaterialGraphVector4SubtractNode = MaterialGraphBinaryMathNode< Vector4, MaterialGraphMathOperation::Subtract >
 
using MaterialGraphVector4MultiplyNode = MaterialGraphBinaryMathNode< Vector4, MaterialGraphMathOperation::Multiply >
 
using MaterialGraphVector4DivideNode = MaterialGraphBinaryMathNode< Vector4, MaterialGraphMathOperation::Divide >
 
using FloatMaterialPropertySwizzle = MaterialPropertySwizzle< float >
 A material property swizzle for a float property.
 
using DoubleMaterialPropertySwizzle = MaterialPropertySwizzle< double >
 A material property swizzle for a double property.
 
using Vector2MaterialPropertySwizzle = MaterialPropertySwizzle< Vector2 >
 A material property swizzle for a Vector2 property.
 
using Vector3MaterialPropertySwizzle = MaterialPropertySwizzle< Vector3 >
 A material property swizzle for a Vector3 property.
 
using Vector4MaterialPropertySwizzle = MaterialPropertySwizzle< Vector4 >
 A material property swizzle for a Vector4 property.
 
using ColorMaterialPropertySwizzle = MaterialPropertySwizzle< Color >
 A material property swizzle for a Color property.
 
using FloatMaterialProperty = MaterialProperty< float >
 A material property with an associated float value and texture.
 
using DoubleMaterialProperty = MaterialProperty< double >
 A material property with an associated float value and texture.
 
using Vector2MaterialProperty = MaterialProperty< Vector2 >
 A material property with an associated Vector2 value and texture.
 
using Vector3MaterialProperty = MaterialProperty< Vector3 >
 A material property with an associated Vector3 value and texture.
 
using Vector4MaterialProperty = MaterialProperty< Vector4 >
 A material property with an associated Vector4 value and texture.
 
using ColorMaterialProperty = MaterialProperty< Color >
 A material property with an associated Color value and texture.
 
using ShaderSpecializationConstants = SmallUnorderedFlatMap< String, ShaderSpecializationConstant, 5 >
 A map type that represents a map of shader specialization constants.
 
using ShaderStages = Flags< ShaderStage >
 
using MeshPtr = SPtr< Mesh >
 
using HMesh = ::CeresEngine::ResourceHandle< Mesh >
 
using MemoryMeshPtr = SPtr< MemoryMesh >
 
using HMemoryMesh = ::CeresEngine::ResourceHandle< MemoryMesh >
 
using StreamingMeshPtr = SPtr< StreamingMesh >
 
using HStreamingMesh = ::CeresEngine::ResourceHandle< StreamingMesh >
 
using GPUMeshPtr = SPtr< GPUMesh >
 
using HGPUMesh = ::CeresEngine::ResourceHandle< GPUMesh >
 
using MutableVertexData = Span< Byte >
 
using ConstVertexData = Span< const Byte >
 
using MutableIndexData = Span< Byte >
 
using ConstIndexData = Span< const Byte >
 
using RawVertexBufferView = MemoryView< Byte >
 
using ConstRawVertexBufferView = MemoryView< const Byte >
 
template<typename T >
using VertexBufferView = StridedMemoryView< T >
 
template<typename T >
using ConstVertexBufferView = VertexBufferView< const T >
 
using RawIndexBufferView = MemoryView< Byte >
 
using ConstRawIndexBufferView = MemoryView< const Byte >
 
template<typename T >
using IndexBufferView = StridedMemoryView< T >
 
template<typename T >
using ConstIndexBufferView = IndexBufferView< const T >
 
using VertexCount = unsigned int
 A type that represents the number vertices in a mesh.
 
using VertexIndex = unsigned int
 A type that represents a vertex index.
 
using VertexIndexSet = Vector< VertexIndex >
 A type that represents a set of vertex indexes.
 
using IndexCount = unsigned int
 A type that represents the number indices in a mesh.
 
using MetaAttributeList = Vector< Box >
 
using MetaValues = SmallVector< Box, 4 >
 
using MetaMemberIterationFlags = Flags< MetaMemberIterationFlag >
 A set of flags that control the iteration of class members.
 
using TypeID = TypedID< internal::TypeTag, UInt64 >
 
using TypeIdentityHash = UInt64
 A type that represents a Type hash value.
 
template<typename T , template< typename > class... Traits>
using TTypeInfo = TTypeInfoBase< T, impl::TConstructibleTypeTrait, impl::TDestructibleTypeTrait, impl::TCopyableTypeTrait, impl::TMovableTypeTrait, impl::THashableTypeTrait, impl::TEqualityComparableTypeTrait, impl::TTotallyOrderedTypeTrait, impl::TPartiallyOrderedTypeInfo, impl::TWeakOrderedTypeInfo, impl::TStrongOrderedTypeInfo, Traits... >
 
template<typename F >
using function_type = std::function< typename function_traits< F >::base_signature >
 
using GPUResourcePtr = RC< GPUResource >
 
using GPUBufferPtr = RC< GPUBuffer >
 
using GPUCommandBufferPtr = RC< GPUCommandBuffer >
 
using GPUCommandQueuePtr = RC< GPUCommandQueue >
 
using GPUComputePipelinePtr = RC< GPUComputePipeline >
 
using GPUDevicePtr = RC< GPUDevice >
 
using GPUFencePtr = RC< GPUFence >
 
using GPUGraphicsPipelinePtr = RC< GPUGraphicsPipeline >
 
using GPUImagePtr = RC< GPUImage >
 
using GPUImageViewPtr = RC< GPUImageView >
 
using GPUPipelineLayoutPtr = RC< GPUPipelineLayout >
 
using GPURenderPassPtr = RC< GPURenderPass >
 
using GPURenderTargetPtr = RC< GPURenderTarget >
 
using GPUResourceSetPtr = RC< GPUResourceSet >
 
using GPUSamplerPtr = RC< GPUSampler >
 
using GPUShaderPtr = RC< GPUShader >
 
using GPUShaderProgramPtr = RC< GPUShaderProgram >
 
using GPUSwapchainPtr = RC< GPUSwapchain >
 
using GPUTimerQueryPtr = RC< GPUTimerQuery >
 
using GPUOcclusionQueryPtr = RC< GPUOcclusionQuery >
 
using GPUMemoryProperties = Flags< GPUMemoryProperty >
 Flag specifying properties for a memory type.
 
using GPUDescriptorType = GPUResourceType
 
using GPUBufferUsage = Flags< GPUBufferUsageFlag >
 
using GPUBufferSize = GPUMemorySize
 A type that represents a buffer size.
 
using GPUBufferData = GPUMemoryData
 A pointer type that represents the buffer raw data.
 
template<typename T >
using GPUDynamicVertexBuffer = GPUDynamicBuffer< GPUVertexBuffer, T[]>
 A GPUDynamicBuffer specialization that creates a dynamic GPUVertexBuffer.
 
template<typename T >
using GPUDynamicStridedVertexBuffer = GPUDynamicBuffer< GPUVertexBuffer, T[], 0 >
 A GPUDynamicBuffer specialization that creates a dynamic GPUVertexBuffer.
 
template<typename T >
using GPUDynamicIndexBuffer = GPUDynamicBuffer< GPUIndexBuffer, T[]>
 A GPUDynamicBuffer specialization that creates a dynamic GPUIndexBuffer.
 
template<typename T >
using GPUDynamicStridedIndexBuffer = GPUDynamicBuffer< GPUIndexBuffer, T[], 0 >
 A GPUDynamicBuffer specialization that creates a dynamic GPUIndexBuffer.
 
template<typename T >
using GPUDynamicUniformBuffer = GPUDynamicBuffer< GPUUniformBuffer, T >
 A GPUDynamicBuffer specialization that creates a dynamic GPUUniformBuffer.
 
template<typename T , std::size_t BaseAlignment = sizeof(T)>
using GPUDynamicUniformBufferArray = GPUDynamicBuffer< GPUUniformBuffer, T[], BaseAlignment >
 A GPUDynamicBuffer specialization that creates a dynamic GPUUniformBuffer.
 
template<typename T >
using GPUDynamicStridedUniformBufferArray = GPUDynamicUniformBufferArray< T, 0 >
 A GPUDynamicBuffer specialization that creates a dynamic GPUUniformBuffer.
 
template<typename T >
using GPUDynamicStorageBuffer = GPUDynamicBuffer< GPUStorageBuffer, T >
 A GPUDynamicBuffer specialization that creates a dynamic GPUStorageBuffer.
 
template<typename T , std::size_t BaseAlignment = sizeof(T)>
using GPUDynamicStorageBufferArray = GPUDynamicBuffer< GPUStorageBuffer, T[], BaseAlignment >
 A GPUDynamicBuffer specialization that creates a dynamic GPUStorageBuffer.
 
template<typename T >
using GPUDynamicStridedStorageBufferArray = GPUDynamicStorageBufferArray< T, 0 >
 A GPUDynamicBuffer specialization that creates a dynamic GPUStorageBuffer.
 
template<typename T >
using GPUDynamicIndirectBuffer = GPUDynamicBuffer< GPUIndirectBuffer, T >
 A GPUDynamicBuffer specialization that creates a dynamic GPUIndirectBuffer.
 
template<typename T , std::size_t BaseAlignment = sizeof(T)>
using GPUDynamicIndirectBufferArray = GPUDynamicBuffer< GPUIndirectBuffer, T[], BaseAlignment >
 A GPUDynamicBuffer specialization that creates a dynamic GPUIndirectBuffer.
 
template<typename T >
using GPUDynamicStridedIndirectBufferArray = GPUDynamicIndirectBufferArray< T, 0 >
 A GPUDynamicBuffer specialization that creates a dynamic GPUIndirectBuffer.
 
template<typename T >
using GPUDynamicBindlessBuffer = GPUDynamicBuffer< GPUBindlessBuffer, T >
 A GPUDynamicBuffer specialization that creates a dynamic GPUBindlessBuffer.
 
template<typename T , std::size_t BaseAlignment = sizeof(T)>
using GPUDynamicBindlessBufferArray = GPUDynamicBuffer< GPUBindlessBuffer, T[], BaseAlignment >
 A GPUDynamicBuffer specialization that creates a dynamic GPUBindlessBuffer.
 
template<typename T >
using GPUDynamicStridedBindlessBufferArray = GPUDynamicBindlessBufferArray< T, 0 >
 A GPUDynamicBuffer specialization that creates a dynamic GPUBindlessBuffer.
 
using GPUUniformBufferPool = GPUBufferPool< GPUDynamicUniformBuffer >
 A dynamic uniform buffer pool.
 
using GPUStorageBufferPool = GPUBufferPool< GPUDynamicStorageBuffer >
 A dynamic storage buffer pool.
 
using GPUBindlessBufferPool = GPUBufferPool< GPUDynamicBindlessBuffer >
 A dynamic bindless buffer pool.
 
template<typename T >
using TGPUUniformBufferPool = TGPUBufferPool< T, GPUDynamicUniformBuffer >
 A dynamic uniform buffer pool.
 
template<typename T >
using TGPUStorageBufferPool = TGPUBufferPool< T, GPUDynamicStorageBuffer >
 A dynamic storage buffer pool.
 
template<typename T >
using TGPUIndirectBufferPool = TGPUBufferPool< T, GPUDynamicIndirectBuffer >
 A dynamic indirect draw buffer pool.
 
template<typename T >
using TGPUBindlessBufferPool = TGPUBufferPool< T, GPUDynamicBindlessBuffer >
 A dynamic bindless buffer pool.
 
using GPUIndirectBufferPool = TGPUIndirectBufferPool< GPUDrawIndirectCommand >
 Generates a hash for the provided type.
 
using GPURenderingBlock = std::function< void()>
 A block executed by the render pass implementation when the renderer is ready to receive draw commands.
 
using ValidateRenderingCapabilitiesFunc = std::function< bool(const String &info, const String &attrib)>
 Callback interface for the validateRenderingCapabilities function.
 
using GPUImageUsage = Flags< GPUImageUsageFlags >
 
using GPUMemorySize = UInt64
 A type that represents a memory size.
 
using GPUMemoryData = void *
 A pointer type that represents the memory raw data.
 
using GPUTimerQueryResult = TimeInterval
 The type returned by a TimerQuery.
 
using GPUResourceSetBindingSlot = TGPUResourceSetBindingSlot< false >
 A class that offers high-level access to a GPUResourceSetBindings slot.
 
using GPUResourceSetConstBindingSlot = TGPUResourceSetBindingSlot< true >
 A class that offers high-level access to a GPUResourceSetBindings slot.
 
using GPUPipelineStages = Flags< GPUPipelineStage >
 
using MTBufferPtr = RC< MTBuffer >
 
using MTCommandBufferPtr = RC< MTCommandBuffer >
 
using MTCommandQueuePtr = RC< MTCommandQueue >
 
using MTComputePipelinePtr = RC< MTComputePipeline >
 
using MTDevicePtr = RC< MTDevice >
 
using MTFencePtr = RC< MTFence >
 
using MTGraphicsPipelinePtr = RC< MTGraphicsPipeline >
 
using MTImagePtr = RC< MTImage >
 
using MTImageViewPtr = RC< MTImageView >
 
using MTPipelineLayoutPtr = RC< MTPipelineLayout >
 
using MTRenderPassPtr = RC< MTRenderPass >
 
using MTRenderTargetPtr = RC< MTRenderTarget >
 
using MTResourceSetPtr = RC< MTResourceSet >
 
using MTSamplerPtr = RC< MTSampler >
 
using MTShaderPtr = RC< MTShader >
 
using MTShaderProgramPtr = RC< MTShaderProgram >
 
using MTSwapchainPtr = RC< MTSwapchain >
 
using MTTimerQueryPtr = RC< MTTimerQuery >
 
using MTOcclusionQueryPtr = RC< MTOcclusionQuery >
 
using MKBufferPtr = RC< MKBuffer >
 
using MKCommandBufferPtr = RC< MKCommandBuffer >
 
using MKCommandQueuePtr = RC< MKCommandQueue >
 
using MKComputePipelinePtr = RC< MKComputePipeline >
 
using MKDevicePtr = RC< MKDevice >
 
using MKFencePtr = RC< MKFence >
 
using MKGraphicsPipelinePtr = RC< MKGraphicsPipeline >
 
using MKImagePtr = RC< MKImage >
 
using MKImageViewPtr = RC< MKImageView >
 
using MKPipelineLayoutPtr = RC< MKPipelineLayout >
 
using MKRenderPassPtr = RC< MKRenderPass >
 
using MKRenderTargetPtr = RC< MKRenderTarget >
 
using MKResourceSetPtr = RC< MKResourceSet >
 
using MKSamplerPtr = RC< MKSampler >
 
using MKShaderPtr = RC< MKShader >
 
using MKShaderProgramPtr = RC< MKShaderProgram >
 
using MKSwapchainPtr = RC< MKSwapchain >
 
using MKTimerQueryPtr = RC< MKTimerQuery >
 
using MKOcclusionQueryPtr = RC< MKOcclusionQuery >
 
using NLBufferPtr = RC< NLBuffer >
 
using NLCommandBufferPtr = RC< NLCommandBuffer >
 
using NLCommandQueuePtr = RC< NLCommandQueue >
 
using NLComputePipelinePtr = RC< NLComputePipeline >
 
using NLDevicePtr = RC< NLDevice >
 
using NLFencePtr = RC< NLFence >
 
using NLGraphicsPipelinePtr = RC< NLGraphicsPipeline >
 
using NLImagePtr = RC< NLImage >
 
using NLImageViewPtr = RC< NLImageView >
 
using NLPipelineLayoutPtr = RC< NLPipelineLayout >
 
using NLRenderPassPtr = RC< NLRenderPass >
 
using NLRenderTargetPtr = RC< NLRenderTarget >
 
using NLResourceSetPtr = RC< NLResourceSet >
 
using NLSamplerPtr = RC< NLSampler >
 
using NLShaderPtr = RC< NLShader >
 
using NLShaderProgramPtr = RC< NLShaderProgram >
 
using NLSwapchainPtr = RC< NLSwapchain >
 
using NLTimerQueryPtr = RC< NLTimerQuery >
 
using NLOcclusionQueryPtr = RC< NLOcclusionQuery >
 
using GLLoaderFunc = void *(*)(const char *name)
 
using GLBufferPtr = RC< GLBuffer >
 
using GLCommandBufferPtr = RC< GLCommandBuffer >
 
using GLCommandQueuePtr = RC< GLCommandQueue >
 
using GLComputePipelinePtr = RC< GLComputePipeline >
 
using GLDevicePtr = RC< GLDevice >
 
using GLFencePtr = RC< GLFence >
 
using GLGraphicsPipelinePtr = RC< GLGraphicsPipeline >
 
using GLImagePtr = RC< GLImage >
 
using GLImageViewPtr = RC< GLImageView >
 
using GLPipelineLayoutPtr = RC< GLPipelineLayout >
 
using GLRenderPassPtr = RC< GLRenderPass >
 
using GLRenderTargetPtr = RC< GLRenderTarget >
 
using GLResourceSetPtr = RC< GLResourceSet >
 
using GLSamplerPtr = RC< GLSampler >
 
using GLShaderPtr = RC< GLShader >
 
using GLShaderProgramPtr = RC< GLShaderProgram >
 
using GLSwapchainPtr = RC< GLSwapchain >
 
using GLTimerQueryPtr = RC< GLTimerQuery >
 
using GLOcclusionQueryPtr = RC< GLOcclusionQuery >
 
using DebugMessageCallback = std::function< bool(const String &type, const String &message)>
 Callback interface function that is used whenever the renderer receives a debug message.
 
using DevicePickerFunc = std::function< bool(const GPUDeviceInfo &, const GPURenderingCapabilities &)>
 Callback interface for the createDevice method.
 
using VKAllocator = DefaultAllocator
 
using VKObjectAllocator = ThreadSafeAllocator< MemoryPool< NodePool, AllocatorReference< VKAllocator > > >
 A pool allocator to be used for individual object pools.
 
template<typename T >
using VKVector = Vector< T, VKAllocator >
 
using VKBufferPtr = RC< VKBuffer >
 
using VKCommandBufferPtr = RC< VKCommandBuffer >
 
using VKCommandQueuePtr = RC< VKCommandQueue >
 
using VKComputePipelinePtr = RC< VKComputePipeline >
 
using VKDevicePtr = RC< VKDevice >
 
using VKFencePtr = RC< VKFence >
 
using VKGraphicsPipelinePtr = RC< VKGraphicsPipeline >
 
using VKImagePtr = RC< VKImage >
 
using VKImageViewPtr = RC< VKImageView >
 
using VKPipelineLayoutPtr = RC< VKPipelineLayout >
 
using VKRenderPassPtr = RC< VKRenderPass >
 
using VKRenderTargetPtr = RC< VKRenderTarget >
 
using VKResourceSetPtr = RC< VKResourceSet >
 
using VKSamplerPtr = RC< VKSampler >
 
using VKShaderPtr = RC< VKShader >
 
using VKShaderProgramPtr = RC< VKShaderProgram >
 
using VKSwapchainPtr = RC< VKSwapchain >
 
using VKTimerQueryPtr = RC< VKTimerQuery >
 
using VKOcclusionQueryPtr = RC< VKOcclusionQuery >
 
template<typename ObjectType >
using VKDeviceObjectCache = VKObjectCache< ObjectType, VKDevice >
 A object that caches existing Vulkan objects.
 
using VKImageViewCache = VKObjectCache< VKImageView, VKImage, GPUImageViewDescriptor >
 A object that caches existing Vulkan objects.
 
template<typename T = void>
using VKSymbol = DynamicLibrary::Symbol< T >
 A symbol loaded from the Vulkan driver.
 
using WGBufferPtr = RC< WGBuffer >
 
using WGCommandBufferPtr = RC< WGCommandBuffer >
 
using WGCommandQueuePtr = RC< WGCommandQueue >
 
using WGComputePipelinePtr = RC< WGComputePipeline >
 
using WGDevicePtr = RC< WGDevice >
 
using WGFencePtr = RC< WGFence >
 
using WGGraphicsPipelinePtr = RC< WGGraphicsPipeline >
 
using WGImagePtr = RC< WGImage >
 
using WGImageViewPtr = RC< WGImageView >
 
using WGPipelineLayoutPtr = RC< WGPipelineLayout >
 
using WGRenderPassPtr = RC< WGRenderPass >
 
using WGRenderTargetPtr = RC< WGRenderTarget >
 
using WGResourceSetPtr = RC< WGResourceSet >
 
using WGSamplerPtr = RC< WGSampler >
 
using WGShaderPtr = RC< WGShader >
 
using WGShaderProgramPtr = RC< WGShaderProgram >
 
using WGSwapchainPtr = RC< WGSwapchain >
 
using WGTimerQueryPtr = RC< WGTimerQuery >
 
using WGOcclusionQueryPtr = RC< WGOcclusionQuery >
 
using RendererTexturePtr = RC< RendererTexture >
 A type-alias to a pointer type to a RendererTexture.
 
using RendererMeshPtr = RC< RendererMesh >
 A type-alias to a pointer type to a RendererMesh.
 
using RenderResourcePtr = RC< RenderResource >
 
using RenderTaskPtr = RC< RenderTask >
 
using ConnectionPtr = RC< Connection >
 
using RenderGraphAllocator = DefaultAllocator
 
template<typename T >
using RenderGraphVector = Vector< T >
 
using ImageInput = TInput< ImageRenderResource >
 An input slot that represents an image.
 
using BufferInput = TInput< BufferRenderResource >
 An input slot that represents a buffer.
 
using ImageOutput = TOutput< ImageRenderResource >
 An output slot that represents an image.
 
using BufferOutput = TOutput< BufferRenderResource >
 An output slot that represents a buffer.
 
using ImageRenderResourceRef = RenderResourceRef< ImageRenderResource >
 
using BufferRenderResourceRef = RenderResourceRef< BufferRenderResource >
 
using RendererCameraFlags = Flags< RendererCameraFlag >
 Flags that can be either set by the renderer or by the user to customize the behavior of the camera.
 
using RendererCameraDirtyFlags = Flags< RendererCameraDirtyFlag >
 Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.
 
using RendererEnvironmentDirtyFlags = Flags< RendererEnvironmentDirtyFlag >
 Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.
 
using RendererLightFlags = Flags< RendererLightFlag >
 Flags that can be either set by the renderer or by the user to customize the behavior of the light.
 
using RendererLightDirtyFlags = Flags< RendererLightDirtyFlag >
 Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.
 
using ShadowMapResolution = UInt32
 
template<typename T >
using RendererObjectManagerType = typename RendererObjectTrait< T >::Manager
 The manager type for the T object.
 
using RendererObjectID = UInt32
 A type-alias for a type that uniquely identifies a RendererObject.
 
using RendererRenderableFlags = Flags< RendererRenderableFlag >
 Flags that can be either set by the renderer or by the user to customize the behavior of the renderable.
 
using RendererRenderableDirtyFlags = Flags< RendererRenderableDirtyFlag >
 Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.
 
using RendererTerrainFlags = Flags< RendererTerrainFlag >
 Flags that can be either set by the renderer or by the user to customize the behavior of the terrain.
 
using RendererTerrainDirtyFlags = Flags< RendererTerrainDirtyFlag >
 Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.
 
using RenderingSystemEntitySet = EntityObjectSet< Light, Camera, Renderable, TerrainRenderable, Environment >
 The set of entities supported by the rendering system.
 
using RendererMeshFlags = Flags< RendererMeshFlag >
 Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.
 
using RendererTextureFlags = Flags< RendererTextureFlag >
 Flags that can be either set by the renderer or by the user to customize the behavior of the texture.
 
using RendererShaderFlags = Flags< RendererShaderFlag >
 Flags that can be either set by the renderer or by the user to customize the behavior of the shader.
 
using RendererShaderPtr = RC< RendererShader >
 
using RendererGraphicsPipelineFlags = Flags< RendererGraphicsPipelineFlag >
 Flags that can be either set by the renderer or by the user to customize the behavior of the graphics pipeline.
 
using RendererGraphicsPipelinePtr = RC< RendererGraphicsPipeline >
 
using RendererComputePipelineFlags = Flags< RendererComputePipelineFlag >
 Flags that can be either set by the renderer or by the user to customize the behavior of the compute pipeline.
 
using RendererComputePipelinePtr = RC< RendererComputePipeline >
 
using RendererMeshDrawFlags = Flags< RendererMeshDrawFlag >
 
using RendererTextureInternalFlags = Flags< RendererTextureInternalFlag >
 Internal flags set by the renderer to represent the current state of the texture.
 
using RendererTextureID = UInt32
 A type that uniquely identifies a renderer texture in the bindless resource set.
 
using ResourceURL = URI
 
using ResourceDataPtr = RC< ResourceData >
 
using ResourceStreamDataPtr = RC< ResourceStreamData >
 A base class for InputStream and OutputStream of a ResourceStream.
 
template<typename T >
using THResource = ResourceHandle< T >
 
using ResourcePtr = SPtr< Resource >
 
using HResource = ::CeresEngine::ResourceHandle< Resource >
 
using TextPtr = SPtr< Text >
 
using HText = ::CeresEngine::ResourceHandle< Text >
 
using PackageURL = URI
 
using PackagePtr = RC< Package >
 A pointer to a package.
 
template<typename T >
using HResourceObject = ResourceHandle< ResourceObject< T > >
 An alias to a resource handle for a given ResourceObject of type T.
 
using ResourceStreamFlags = Flags< ResourceStreamFlag >
 A set of flags that can be given when creating a new resource stream.
 
using ResourceStreamReadFlags = Flags< ResourceStreamReadFlag >
 
using ResourceStreamWriteFlags = Flags< ResourceStreamWriteFlag >
 
using ResourceStreamLockMutex = TAsyncSharedMutex< AnyExecutor >
 An async mutex type used to acquire read-only/write locks on the resource stream.
 
using ScenePtr = SPtr< Scene >
 
using HScene = ::CeresEngine::ResourceHandle< Scene >
 
using SceneObject = TSceneObject<>
 A alias to a "default" (empty) scene object.
 
using TerrainPtr = SPtr< Terrain >
 
using HTerrain = ::CeresEngine::ResourceHandle< Terrain >
 
using RenderableMaterialVector = SmallVector< HMaterial, 10 >
 
using VolumetricTerrainPtr = SPtr< VolumetricTerrain >
 
using HVolumetricTerrain = ::CeresEngine::ResourceHandle< VolumetricTerrain >
 
using HeightTerrainPtr = SPtr< HeightTerrain >
 
using HHeightTerrain = ::CeresEngine::ResourceHandle< HeightTerrain >
 
using SerializedObjectID = UInt32
 
using SerializedObjectMetadataFlags = Flags< SerializedObjectMetadataFlag >
 A set of flags that determine how the object is serialized.
 
using SerializedPropertyMetadataFlags = Flags< SerializedPropertyMetadataFlag >
 A set of flags that determine how the property is serialized.
 
using SerializedCustomObjectMetadataFlags = Flags< SerializedCustomObjectMetadataFlag >
 A set of flags that determine how the object is serialized.
 
using SerializedArrayMetadataFlags = Flags< SerializedArrayMetadataFlag >
 A set of flags that determine how the array is serialized.
 
using SerializedMapMetadataFlags = Flags< SerializedMapMetadataFlag >
 A set of flags that determine how the map is serialized.
 
using DeserializerConstructor = UniqueFunction< Box(const SerializationContext &context, SerializationState &state, const Type &type) const >
 A type that represents the constructor function.
 
using DeserializerPropertyMigrator = UniqueFunction< Box(const SerializationContext &context, SerializationState &state, Box &object, const SerializedPropertyMetadata &property, Box &value) const >
 Represents the signature of the function that performs migration of an abandoned serialized property.
 
using CustomSerializer = UniqueFunction< void(Serializer &, const Box &) const >
 A type alias to a function signature that implements a custom serializer.
 
using CustomDeserializer = UniqueFunction< Box(Deserializer &, Box &&) const >
 A type alias to a function signature that implements a custom deserializer.
 
using Glyph = UInt32
 
using FontSize = double
 
using FontPtr = SPtr< Font >
 
using HFont = ::CeresEngine::ResourceHandle< Font >
 
using TextLayoutManagerStateFlags = Flags< TextLayoutManagerState >
 
using BitmapExtent = TExtent3< UInt32 >
 A type that represents the extents of a bitmap.
 
using BitmapData = MemoryView< const Byte >
 A type that represents a bitmap data.
 
using TexturePtr = SPtr< Texture >
 
using HTexture = ::CeresEngine::ResourceHandle< Texture >
 
using StreamingTexturePtr = SPtr< StreamingTexture >
 
using HStreamingTexture = ::CeresEngine::ResourceHandle< StreamingTexture >
 
using GPUTexturePtr = SPtr< GPUTexture >
 
using HGPUTexture = ::CeresEngine::ResourceHandle< GPUTexture >
 
using MutablePixelData = MemoryView< Byte >
 
using ConstPixelData = MemoryView< const Byte >
 
using BitmapResource = ResourceObject< Bitmap >
 Wraps a Bitmap as a resource.
 
using HBitmap = ResourceHandle< BitmapResource >
 A resource handle to a Bitmap resource.
 
using TexturePixelStream = ResourceInputStream
 An object that allows streaming texture pixels.
 
using UIWindowPtr = RC< UIWindow >
 
using UIBackingStorePtr = RC< UIBackingStore >
 
using UIWindowDevicePtr = RC< UIWindowDevice >
 
using UIAppearancePtr = RC< UIAppearance >
 
using UILayerPtr = RC< UILayer >
 
using UIGraphicsContext = GraphicsContext
 
using UIRenderer = GraphicsRenderer
 
using UIDrawCommandBuffer = GraphicsCommandBuffer
 
using UIColorAppearanceProperty = UIAppearanceProperty< UIColor >
 A color UI appearance property.
 
using UIPaintAppearanceProperty = UIAppearanceProperty< Paint >
 A paint UI appearance property.
 
using UIFloatAppearanceProperty = UIAppearanceProperty< double >
 A floating-point UI appearance property.
 
using UIFontAppearanceProperty = UIAppearanceProperty< HFont >
 A font UI appearance property.
 
using UICheckboxStateFlags = Flags< UICheckboxState >
 
using UIControlPtr = UIPtr< class UIControl >
 
using UIModifierKeys = Flags< UIModifierKey >
 
using UILayoutAnchor = Constraint::ConstraintVariable
 An utility class for creating layout constraint objects using a fluent API.
 
using UILayoutConstraint = Constraint::Constraint
 The relationship between two user interface objects that must be satisfied by the constraint-based layout system.
 
using UILayoutStrength = Constraint::ConstraintStrength
 The priority of the constraint.
 
template<typename ModelType >
using TUISplitViewController = UIModelViewController< ModelType, UISplitViewController >
 
using UIPoint = Point2
 A type that contains a point in a two-dimensional coordinate system.
 
using UISize = Size2
 A type that contains width and height values.
 
using UIRect = Rect2
 A structure that contains the location and dimensions of a rectangle.
 
using UIEdgeInsets = Rect2Edge
 The inset distances for views.
 
using UIColor = Color
 
template<typename T >
using UIPtr = RC< T >
 
using UIViewPtr = UIPtr< UIView >
 A pointer to a UIView.
 
using UIViewStateFlags = Flags< UIViewState >
 
using UIViewAutoresizingMask = Flags< UIViewAutoResizing >
 
using UIViewControllerPtr = RC< UIViewController >
 Alias to a UIViewController pointer.
 
template<typename ModelType >
using TUIViewportViewController = UIModelViewController< ModelType, UIViewportViewController >
 
using UIWindowStateFlags = Flags< UIWindowState >
 

Enumerations

enum class  AudioResourceType { Clip , Stream }
 
enum class  Byte : unsigned char
 
enum class  EntityDirtyBit { Name = 1u << 0u , Parent = 1u << 1u , Children = 1u << 2u , Component = 1 << 3u }
 
enum class  ComponentDirtyBit { Added , Updated , Removed }
 
enum class  FileEvent {
  Created = 0x01 , Removed = 0x02 , Modified = 0x04 , AttributeChanged = 0x08 ,
  Default = Created | Removed | Modified | AttributeChanged
}
 Type of event on the file system. More...
 
enum class  URLRequestMode {
  Read = (1u << 0u) , Write = (1u << 1u) , Create = (1u << 2u) , Truncate = (1u << 3u) ,
  ReadWrite = Read | Write , Default = 0
}
 Determines the mode the request should be performed. More...
 
enum class  DispatchQueueType { Serial , Concurrent }
 Specifies the type of the queue. More...
 
enum class  Endian { Big = UInt8(std::endian::big) , Little = UInt8(std::endian::little) , Native = UInt8(std::endian::native) }
 A enumeration for possible endinesses. More...
 
enum class  GraphSocketDirection { Input , Output }
 Enumeration that determines the direction of a socket. More...
 
enum class  GraphValueType { Float , Double }
 
enum class  GraphSocketFlag { Exsocketed = (1u << 0u) }
 A set of user-defined flags that customize behavior of a socket. More...
 
enum class  Button : UInt32 {
  None = 0 , Space , Apostrophe , Comma ,
  Minus , Period , Slash , Semicolon ,
  Equal , Number0 , Number1 , Number2 ,
  Number3 , Number4 , Number5 , Number6 ,
  Number7 , Number8 , Number9 , A ,
  B , C , D , E ,
  F , G , H , I ,
  J , K , L , M ,
  N , O , P , Q ,
  R , S , T , U ,
  V , W , X , Y ,
  Z , LeftBracket , RightBracket , Backslash ,
  GraveAccent , World1 , World2 , Escape ,
  Enter , Tab , Backspace , Insert ,
  Delete , Right , Left , Down ,
  Up , PageUp , PageDown , Home ,
  End , CapsLock , ScrollLock , NumLock ,
  PrintScreen , Pause , F1 , F2 ,
  F3 , F4 , F5 , F6 ,
  F7 , F8 , F9 , F10 ,
  F11 , F12 , F13 , F14 ,
  F15 , F16 , F17 , F18 ,
  F19 , F20 , F21 , F22 ,
  F23 , F24 , F25 , Keypad0 ,
  Keypad1 , Keypad2 , Keypad3 , Keypad4 ,
  Keypad5 , Keypad6 , Keypad7 , Keypad8 ,
  Keypad9 , KeypadDecimal , KeypadDivide , KeypadMultiply ,
  KeypadSubtract , KeypadAdd , KeypadEnter , KeypadEqual ,
  LeftShift , LeftControl , LeftAlt , LeftSuper ,
  RightShift , RightControl , RightAlt , RightSuper ,
  Menu , MouseLeft , MouseMiddle , MouseRight ,
  Mouse0 , Mouse1 , Mouse2 , Mouse3 ,
  Mouse4 , Mouse5 , Mouse6 , Mouse7 ,
  Unknown = std::numeric_limits<UInt32>::max()
}
 A enumeration of known buttons. More...
 
enum class  ModifierButton : UInt16 {
  Shift = 1u << 0u , Control = 1u << 1u , Alt = 1u << 2u , Super = 1u << 3u ,
  CapsLock = 1u << 4u , NumLock = 1u << 5u , ScrollLock = 1u << 6u , None = 0
}
 A enumeration of possible modifier buttons. More...
 
enum class  Axis : UInt8 {
  MouseVertical , MouseHorizontal , MouseScrollVertical , MouseScrollHorizontal ,
  Unknown = std::numeric_limits<UInt8>::max()
}
 A enumeration of known axes. More...
 
enum class  CursorMode { Normal , Hidden , Captured }
 A enumeration of supported cursor modes. More...
 
enum class  InputEventType { Key , Mouse , Text }
 A structure that describes the type of an event. More...
 
enum class  KeyEventType { Down , Up }
 A enumeration that defines the type of key events. More...
 
enum class  MouseEventType {
  Down , Up , Move , Drag ,
  Scroll
}
 A enumeration that defines the type of mouse events. More...
 
enum class  MaterialGraphMathOperation {
  Add , Subtract , Multiply , Divide ,
  Max , Min
}
 
enum class  MaterialGraphSocketType { Float , Vector2 , Vector3 , Vector4 }
 Specifies the type of a value connected in a material graph node. More...
 
enum class  MaterialNormalMapSpace { Tangent , Object , World }
 Specifies the kind of normal map used by a material. More...
 
enum class  ShadingLanguage { CESL , HLSL , GLSL , SPIRV }
 Enumeration that indicates the supported shading languages. More...
 
enum class  ShaderSourceType { Source , Binary }
 Shader source type enumeration. More...
 
enum class  ShaderStage : UInt32 {
  Vertex = (1u << 0u) , TesselationControl = (1u << 1u) , TesselationEvaluation = (1u << 2u) , Geometry = (1u << 3u) ,
  Fragment = (1u << 4u) , Compute = (1u << 5u) , Task = (1u << 6u) , Mesh = (1u << 7u) ,
  RayTracingRayGeneration = (1u << 8u) , RayTracingAnyHit = (1u << 9u) , RayTracingClosestHit = (1u << 10u) , RayTracingMiss = (1u << 11u) ,
  RayTracingIntersection = (1u << 12u) , RayTracingCallable = (1u << 13u)
}
 Shader stage flags enumeration. More...
 
enum  Win32UserMessages : UINT { WM_USER_CALLBACK = WM_USER + 0 , WM_USER_STOP = WM_USER + 1 }
 
enum class  MetaMemberIterationFlag { None = 0 , IncludeFromBase = (1u << 0u) , Default = None }
 A set of flags that control the iteration of class members. More...
 
enum class  MetaCategory : unsigned int {
  Class , Property , Method , Constructor ,
  Enum , EnumValue
}
 The category of a MetaItem. More...
 
enum class  TypeAttribute { NONE , LREF , RREF , LREF_CONST }
 
enum class  GPUBufferType {
  Generic , Vertex , Index , Uniform ,
  Storage , Indirect
}
 Hardware buffer type enumeration. More...
 
enum class  GPUBufferUsageFlag {
  Automatic = 0u , Source = (1u << 0u) , Destination = (1u << 1u) , Uniform = (1u << 2u) ,
  Index = (1u << 3u) , Vertex = (1u << 4u) , Storage = (1u << 5u) , Indirect = (1u << 6u)
}
 
enum class  Origin { LowerLeft , UpperLeft }
 Screen coordinate system origin enumeration. More...
 
enum class  ClippingRange { MinusOneToOne , ZeroToOne }
 Clipping depth range enumeration. More...
 
enum class  Precision { Uint8 , Float16 , Float32 }
 
enum class  DataType {
  Int8 , UInt8 , Int16 , UInt16 ,
  Int32 , UInt32 , Float16 , Float32 ,
  Float64
}
 Renderer data types enumeration. More...
 
enum class  GPUCompareOp {
  NeverPass , Less , Equal , LessEqual ,
  Greater , NotEqual , GreaterEqual , AlwaysPass
}
 Compare operations enumeration. More...
 
enum class  GPUStencilOp {
  Keep , Zero , Replace , IncrementAndClamp ,
  DecrementAndClamp , Invert , IncrementAndWrap , DecrementAndWrap
}
 Stencil operations enumeration. More...
 
enum class  GPUBlendOp {
  Zero , One , SourceColor , InverseSourceColor ,
  SourceAlpha , InverseSourceAlpha , DestinationColor , InverseDestinationColor ,
  DestinationAlpha , InverseDestinationAlpha , SourceAlphaSaturate , BlendFactor ,
  InverseBlendFactor , Source1Color , InverseSource1Color , Source1Alpha ,
  InverseSource1Alpha
}
 Blending operations enumeration. More...
 
enum class  GPUBlendArithmetic {
  Add , Subtract , ReverseSubtract , Min ,
  Max
}
 Blending arithmetic operations enumeration. More...
 
enum class  GPUPolygonMode { Fill , Wireframe , Points }
 Polygon filling modes enumeration. More...
 
enum class  GPUCullMode { Disabled , Front , Back }
 Polygon culling modes enumeration. More...
 
enum class  GPULogicOp {
  Disabled , Clear , Set , Copy ,
  CopyInverted , NoOp , Invert , AND ,
  ANDReverse , ANDInverted , NAND , OR ,
  ORReverse , ORInverted , NOR , XOR ,
  Equivalent
}
 Logical pixel operation enumeration. More...
 
enum class  GPUConservativeRasterizationMode { Overestimate , Underestimate }
 Specify the conservative rasterization mode. More...
 
enum class  GPUImageType : UInt32 {
  Image1D , Image2D , Image3D , ImageCube ,
  Image1DArray , Image2DArray , ImageCubeArray , Image2DMS ,
  Image2DMSArray , None = ~0u
}
 
enum class  GPUImageUsageFlags { Attachment = (1u << 0u) , Sample = (1u << 1u) , Storage = (1u << 2u) }
 
enum class  GPUImageLayout {
  DontCare , Attachment , DepthAttachment , ShaderAccess ,
  Present
}
 
enum class  GPUImageSwizzle {
  Zero , One , Red , Green ,
  Blue , Alpha
}
 Image component swizzle enumeration. More...
 
enum class  GPUMemoryProperty {
  DeviceLocal = (1u << 0u) , HostVisible = (1u << 1u) , HostCoherent = (1u << 2u) , HostCached = (1u << 3u) ,
  LazilyAllocated = (1u << 4u) , ProtectedMemory = (1u << 5u)
}
 Flag specifying properties for a memory type. More...
 
enum class  GPUAttachmentLoadOp { Undefined , Load , Clear }
 Enumeration for render pass attachment load operations. More...
 
enum class  GPUAttachmentStoreOp { Undefined , Store }
 Enumeration for render pass attachment store operations. More...
 
enum class  GPUAttachmentType { Color , Depth , DepthStencil , Stencil }
 Render target attachment type enumeration. More...
 
enum class  GPUResourceType {
  Undefined = 0 , UniformBuffer , DynamicUniformBuffer , StorageBuffer ,
  Image , Sampler , CombinedSampler , StorageImage
}
 An enumeration of supported resource types. More...
 
enum class  GPUResourceBindingType {
  Undefined = 0 , UniformBuffer , DynamicUniformBuffer , StorageBuffer ,
  Image , Sampler , CombinedSampler , StorageImage
}
 An enumeration of supported resource binding types. More...
 
enum class  GPUSamplerAddressMode {
  Repeat , Mirror , Clamp , Border ,
  MirrorOnce
}
 Technique for resolving image coordinates that are outside of the range [0, 1]. More...
 
enum class  GPUSamplerFilter { Nearest , Linear , Cubic }
 Sampling filter enumeration. More...
 
enum class  GPUPipelineStage : unsigned int {
  Vertex = (1u << 0u) , TesselationControl = (1u << 1u) , TesselationEvaluation = (1u << 2u) , Geometry = (1u << 3u) ,
  Fragment = (1u << 4u) , Compute = (1u << 5u) , Task = (1u << 6u) , Mesh = (1u << 7u) ,
  RayTracingRayGeneration = (1u << 8u) , RayTracingAnyHit = (1u << 9u) , RayTracingClosestHit = (1u << 10u) , RayTracingMiss = (1u << 11u) ,
  RayTracingIntersection = (1u << 12u) , RayTracingCallable = (1u << 13u) , ReadOnlyResource = (1u << 31u) , Tesselation = (TesselationControl | TesselationEvaluation) ,
  Graphics = (Vertex | Tesselation | Geometry | Fragment) , All = (Graphics | Compute)
}
 Shader stage flags enumeration. More...
 
enum class  RenderResourceType { Buffer , Image }
 
enum class  RenderTaskStatus { ForceRender , DontRender , RenderIfTargetDirty }
 
enum class  RendererCameraFlag
 Flags that can be either set by the renderer or by the user to customize the behavior of the camera. More...
 
enum class  RendererCameraDirtyFlag {
  None = 0 , Transform = (1u << 0u) , Component = (1u << 1u) , UniformBuffer = (1u << 2u) ,
  Flags = (1u << 3u) , All = 0xFFFF
}
 Flags that can be either set by the renderer or by the user to customize the behavior of the mesh. More...
 
enum class  RendererEnvironmentType { Skybox , Baked , Probe }
 Enumeration that determines the type of renderer environment. More...
 
enum class  RendererEnvironmentDirtyFlag {
  None = 0 , Component = (1u << 1u) , UniformBuffer = (1u << 2u) , Flags = (1u << 3u) ,
  All = 0xFFFF
}
 Flags that can be either set by the renderer or by the user to customize the behavior of the mesh. More...
 
enum class  RendererLightFlag
 Flags that can be either set by the renderer or by the user to customize the behavior of the light. More...
 
enum class  RendererLightDirtyFlag {
  None = 0 , Transform = (1u << 0u) , Component = (1u << 1u) , UniformBuffer = (1u << 2u) ,
  Flags = (1u << 3u) , All = 0xFFFF
}
 Flags that can be either set by the renderer or by the user to customize the behavior of the mesh. More...
 
enum class  ShadowMapTechnique { Fixed , Perspective , Cascaded }
 
enum class  SoftShadowTechnique { PercentageCloseFiltering , Variance }
 
enum class  RendererRenderableFlag
 Flags that can be either set by the renderer or by the user to customize the behavior of the renderable. More...
 
enum class  RendererRenderableDirtyFlag {
  None = 0 , Transform = (1u << 0u) , Component = (1u << 1u) , UniformBuffer = (1u << 2u) ,
  Flags = (1u << 3u) , All = 0xFFFF
}
 Flags that can be either set by the renderer or by the user to customize the behavior of the mesh. More...
 
enum class  RendererTerrainFlag
 Flags that can be either set by the renderer or by the user to customize the behavior of the terrain. More...
 
enum class  RendererTerrainDirtyFlag {
  None = 0 , Transform = (1u << 0u) , Component = (1u << 1u) , UniformBuffer = (1u << 2u) ,
  Flags = (1u << 3u) , All = 0xFFFF
}
 Flags that can be either set by the renderer or by the user to customize the behavior of the mesh. More...
 
enum class  RendererComputePipelineFlag
 Flags that can be either set by the renderer or by the user to customize the behavior of the compute pipeline. More...
 
enum class  RendererGraphicsPipelineFlag
 Flags that can be either set by the renderer or by the user to customize the behavior of the graphics pipeline. More...
 
enum class  RendererMeshFlag { Optimized }
 Flags that can be either set by the renderer or by the user to customize the behavior of the mesh. More...
 
enum class  RendererMeshState { Pending , Uploading , Relocating , Uploaded }
 An enumeration that contains possible states for a renderer mesh. More...
 
enum class  RendererMeshDrawFlag {
  NoCoalescing = (1 << 0u) , AssumeVertexBufferIsAlreadyBound = (1 << 1u) , AssumeIndexBufferIsAlreadyBound = (1 << 2u) , AssumeBuffersAreAlreadyBound = AssumeVertexBufferIsAlreadyBound | AssumeIndexBufferIsAlreadyBound ,
  Default = 0
}
 
enum class  RendererShaderFlag
 Flags that can be either set by the renderer or by the user to customize the behavior of the shader. More...
 
enum class  RendererTextureFlag { Compressed = 1u << 0u , Converted = 1u << 1u }
 Flags that can be either set by the renderer or by the user to customize the behavior of the texture. More...
 
enum class  RendererTextureState { Pending , Uploading , Relocating , Uploaded }
 An enumeration that contains possible states for a renderer texture. More...
 
enum class  RendererTextureType { Texture1D , Texture2D , Texture3D , CubeMap }
 An enumeration that contains possible types for a renderer texture. More...
 
enum class  RendererTextureInternalFlag { HasMipMaps = (1u << 0u) }
 Internal flags set by the renderer to represent the current state of the texture. More...
 
enum class  ResourceStreamFlag { Seekable = (1u << 0u) , Compressible = (1u << 1u) , Default = 0 }
 A set of flags that can be given when creating a new resource stream. More...
 
enum class  ResourceStreamReadFlag { Buffered }
 
enum class  ResourceStreamWriteFlag { Buffered , Truncate }
 
enum class  CameraProjection { Perspective , Orthographic }
 The camera lens options control the way 3D objects are represented in a 2D image. More...
 
enum class  LightType { Point , Directional , Spot , Area }
 
enum class  SerializedObjectMetadataFlag : UInt32 { None = 0 , Polymorphic = (1u << 0u) , Custom = (1u << 1u) }
 A set of flags that determine how the object is serialized. More...
 
enum class  SerializedPropertyMetadataFlag : UInt32 { None = 0 }
 A set of flags that determine how the property is serialized. More...
 
enum class  SerializedCustomObjectMetadataFlag : UInt32 { None = 0 }
 A set of flags that determine how the object is serialized. More...
 
enum class  SerializedArrayMetadataFlag : UInt32 { None = 0 }
 A set of flags that determine how the array is serialized. More...
 
enum class  SerializedMapMetadataFlag : UInt32 { None = 0 }
 A set of flags that determine how the map is serialized. More...
 
enum class  FontRenderingMode { DefaultRenderingMode , AntialiasedRenderingMode , IntegerAdvancementsRenderingMode , AntialiasedIntegerAdvancementsRenderingMode }
 
enum class  LineBreakMode {
  ByWordWrapping , ByCharWrapping , ByClipping , ByTruncatingHead ,
  ByTruncatingTail , ByTruncatingMiddle
}
 Constants that specify what happens when a line is too long for its container. More...
 
enum class  TextLayoutManagerState : UInt64 {
  ShowsInvisibleCharacters = 1u << 0u , ShowsControlCharacters = 1u << 1u , UsesFontLeading = 1u << 2u , UsesDefaultHyphenation = 1u << 3u ,
  NeedsLayout = 1ull << 32
}
 A set of flags that represent the layout manager state. More...
 
enum class  TextureType { Texture1D , Texture2D , Texture3D , TextureCube }
 
enum class  Format {
  Undefined , R8UNorm , R8SNorm , R8UInt ,
  R8SInt , R16UNorm , R16SNorm , R16UInt ,
  R16SInt , R16Float , R32UInt , R32SInt ,
  R32Float , RG8UNorm , RG8SNorm , RG8UInt ,
  RG8SInt , RG16UNorm , RG16SNorm , RG16UInt ,
  RG16SInt , RG16Float , RG32UInt , RG32SInt ,
  RG32Float , RGB8UNorm , RGB8SNorm , RGB8UInt ,
  RGB8SInt , RGB16UNorm , RGB16SNorm , RGB16UInt ,
  RGB16SInt , RGB16Float , RGB32UInt , RGB32SInt ,
  RGB32Float , RGBA8UNorm , RGBA8SNorm , RGBA8UInt ,
  RGBA8SInt , RGBA16UNorm , RGBA16SNorm , RGBA16UInt ,
  RGBA16SInt , RGBA16Float , RGBA32UInt , RGBA32SInt ,
  RGBA32Float , R64Float , RG64Float , RGB64Float ,
  RGBA64Float , BGRA8UNorm , BGRA8SNorm , BGRA8UInt ,
  BGRA8SInt , BGRA8sRGB , D16UNorm , D24UNormS8UInt ,
  D32Float , D32FloatS8X24UInt , BC1RGB , BC1RGBA ,
  BC2RGBA , BC3RGBA
}
 
enum class  UIButtonType { Regular }
 Button types that can be used with UIButton More...
 
enum class  UICheckboxState { Active = 1 << 0 , Hover = 1 << 1 , Clicked = 1 << 2 }
 
enum class  UIEventType {
  LeftMouseDown , LeftMouseUp , RightMouseDown , RightMouseUp ,
  MouseMoved , LeftMouseDragged , RightMouseDragged , MouseEntered ,
  MouseExited , OtherMouseDown , OtherMouseUp , OtherMouseDragged ,
  KeyDown , KeyUp , ScrollWheel , FlagsChanged
}
 The types of events handled by responder objects. More...
 
enum class  UIModifierKey : UInt16 {
  CapsLock = UInt16(ModifierButton::CapsLock) , Shift = UInt16(ModifierButton::Shift) , Control = UInt16(ModifierButton::Control) , Option = UInt16(ModifierButton::Alt) ,
  Command = UInt16(ModifierButton::Super) , NumericPad , Help , Function
}
 Flags that represent key states in an event object. More...
 
enum class  UITexturePosition {
  NoTexture , TextureOnly , TextureLeft , TextureRight ,
  TextureBelow , TextureAbove , TextureOverlaps
}
 Constants for specifying the position of a view texture relative to its title. More...
 
enum class  UITextureScaling { None , ProportionallyDown , AxesIndependently , ProportionallyUpOrDown }
 Constants that specify a view's texture scaling behavior. More...
 
enum class  UITextAlignment { Left , Right , Center , Justified }
 These constants specify text alignment. More...
 
enum class  UIViewState : UInt8 {
  NeedsTransformsUpdate = (1u << 0u) , NeedsDisplay = (1u << 1u) , NeedsLayout = (1u << 2u) , NeedsConstraintUpdate = (1u << 3u) ,
  NeedsIntrinsicContentSizeUpdate = (1u << 4u) , Visible = (1u << 5u) , Active = (1u << 6u) , AutoResize = (1u << 7u)
}
 
enum class  UIViewAutoResizing : UInt8 {
  None = 0 , FlexibleLeft = 1 << 0 , Width = 1 << 1 , FlexibleRight = 1 << 2 ,
  FlexibleBottom = 1 << 3 , Height = 1 << 4 , FlexibleTop = 1 << 5 , Size = Width | Height ,
  Position = FlexibleLeft | FlexibleRight | FlexibleTop | FlexibleBottom , All = Size | Position
}
 
enum class  UIWindowState { NeedsDisplay = 1 << 0 }
 

Functions

ApplicationgApplication () noexcept
 
void ALLoad (const DynamicLibrary &library) noexcept
 Loads the OpenAL functions from the given library.
 
template<class _IntType , std::enable_if_t< std::is_integral_v< _IntType >, int > = 0>
constexpr Byte operator<< (const Byte arg, const _IntType shift) noexcept
 
template<class _IntType , std::enable_if_t< std::is_integral_v< _IntType >, int > = 0>
constexpr Byte operator>> (const Byte arg, const _IntType shift) noexcept
 
constexpr Byte operator| (const Byte left, const Byte right) noexcept
 
constexpr Byte operator& (const Byte left, const Byte right) noexcept
 
constexpr Byte operator^ (const Byte left, const Byte right) noexcept
 
constexpr Byte operator~ (const Byte arg) noexcept
 
template<class _IntType , std::enable_if_t< std::is_integral_v< _IntType >, int > = 0>
constexpr Byteoperator<<= (Byte &arg, const _IntType shift) noexcept
 
template<class _IntType , std::enable_if_t< std::is_integral_v< _IntType >, int > = 0>
constexpr Byteoperator>>= (Byte &arg, const _IntType shift) noexcept
 
constexpr Byteoperator|= (Byte &left, const Byte right) noexcept
 
constexpr Byteoperator&= (Byte &left, const Byte right) noexcept
 
constexpr Byteoperator^= (Byte &left, const Byte right) noexcept
 
template<class _IntType , std::enable_if_t< std::is_integral_v< _IntType >, int > = 0>
constexpr _IntType to_integer (const Byte arg) noexcept
 
EnginegEngine () noexcept
 
template<CEntityAction A>
constexpr void checkAction ()
 A trait that checks if the type A is a valid action type.
 
template<CComponent C>
constexpr void checkComponent ()
 A trait that checks if the type C is a valid component type.
 
template<typename T >
void buildComponentMask (ComponentMask &mask)
 
template<typename T , typename T1 , typename... Ts>
void buildComponentMask (ComponentMask &mask)
 
template<typename... Ts>
ComponentMask buildComponentMask ()
 
template<CEntityObject E>
constexpr void checkEntityObject ()
 A trait that checks if the type E is a valid entity object type.
 
constexpr Flags< EntityDirtyBit, std::underlying_type_t< EntityDirtyBit > > operator| (EntityDirtyBit a, EntityDirtyBit b) noexcept
 
constexpr Flags< EntityDirtyBit, std::underlying_type_t< EntityDirtyBit > > operator& (EntityDirtyBit a, EntityDirtyBit b) noexcept
 
constexpr Flags< EntityDirtyBit, std::underlying_type_t< EntityDirtyBit > > operator~ (EntityDirtyBit a) noexcept
 
constexpr Flags< ComponentDirtyBit, std::underlying_type_t< ComponentDirtyBit > > operator| (ComponentDirtyBit a, ComponentDirtyBit b) noexcept
 
constexpr Flags< ComponentDirtyBit, std::underlying_type_t< ComponentDirtyBit > > operator& (ComponentDirtyBit a, ComponentDirtyBit b) noexcept
 
constexpr Flags< ComponentDirtyBit, std::underlying_type_t< ComponentDirtyBit > > operator~ (ComponentDirtyBit a) noexcept
 
template<CComponent... Cs>
constexpr auto withComponent () noexcept
 A predicate that checks if the entity has all of the given Cs components.
 
template<typename CS >
constexpr auto withComponents () noexcept
 A predicate that checks if the entity has all of the given Cs components.
 
template<CComponent... Cs, typename Predicate >
constexpr auto withComponent (Predicate &&subpredicate) noexcept
 A predicate that checks if the entity has all of the given Cs components.
 
ParentPredicate withParent (const Entity &parent) noexcept
 A predicate that checks if the entity has parent as it's parent entity.
 
NamePredicate withName (String name)
 A predicate that checks if the entity is named name.
 
template<CEntityEvent E>
constexpr void checkEvent ()
 A trait that checks if the type E is a valid event type.
 
template<typename S >
constexpr void checkSystem ()
 A trait that checks if the type S is a valid system type.
 
template<typename Container , typename Value >
void erase (Container &container, const Value &value)
 Erases all items value from the given container.
 
template<typename Container , typename Predicate >
void eraseIf (Container &container, Predicate &&predicate)
 Removes all items that match the given predicate from the given container.
 
template<typename Container >
void eraseDuplicates (Container &container)
 Removes all duplicates items from the given container.
 
template<typename Container , typename Value >
decltype(std::declval< Container >().begin()) findContainer (Container &container, const Value &value)
 Finds the first item that is equal to value.
 
template<typename Container , typename Predicate >
decltype(std::declval< Container >().begin()) findIf (Container &container, Predicate &&predicate)
 Finds the first item that the given predicate returns true.
 
template<typename Container , typename Predicate >
decltype(std::declval< Container >().begin()) findIfNot (Container &container, Predicate &&predicate)
 Finds the first item that the given predicate returns false.
 
template<typename Container >
void sort (Container &container)
 Sorts all items in the container.
 
template<typename Container , typename Compare >
void sort (Container &container, Compare &&compare)
 Sorts all items in the container using the given compare function.
 
template<typename Container , typename Transformation >
void transformInPlace (Container &container, Transformation &&transformation)
 
template<typename InContainer , typename OutContainer , typename Transformation >
void transformTo (const InContainer &inContainer, OutContainer &outContainer, Transformation &&transformation)
 
template<typename Container , typename Transformation >
Vector< decltype(std::declval< Transformation >()(*std::declval< Container >().begin()))> transformTo (const Container &container, Transformation &&transformation)
 
template<typename Container , typename Range >
Container toContainer (Range &range)
 
template<typename Container , typename Range >
Container toContainer (const Range &range)
 
constexpr std::size_t make_grain_size (const std::size_t n, const std::size_t occupancy=hardware_concurrency())
 Determine a reasonable minimum grain size depending on the number of elements in a sequence.
 
DefaultPartitioner make_default_partitioner (const size_t n, const std::size_t occupancy=hardware_concurrency())
 Create an instance of the default partitioner with a reasonable grain size for n elements.
 
template<traits::input_iterator I, traits::sentinel_for< I > S>
DefaultPartitioner make_default_partitioner (I first, S last, const std::size_t occupancy=hardware_concurrency())
 Create an instance of the default partitioner with a reasonable grain for the range first, last.
 
template<traits::input_range R>
DefaultPartitioner make_default_partitioner (R &&r, std::size_t occupancy=hardware_concurrency())
 Create an instance of the default partitioner with a reasonable grain for the range r.
 
template<traits::executor E>
DefaultPartitioner make_default_partitioner (const E &executor, const size_t n)
 Create an instance of the default partitioner for the given executor.
 
template<traits::executor E, traits::input_iterator I, traits::sentinel_for< I > S>
DefaultPartitioner make_default_partitioner (const E &executor, I first, S last)
 Create an instance of the default partitioner with a reasonable grain for the range first, last.
 
template<traits::executor E, traits::input_range R>
DefaultPartitioner make_default_partitioner (const E &executor, R &&r)
 Create an instance of the default partitioner with a reasonable grain for the range r.
 
DefaultAllocatorgDefaultAllocator ()
 
template<class T , std::size_t N, std::size_t A1, class U , std::size_t M, std::size_t A2>
bool operator== (const ShortAllocator< T, N, A1 > &x, const ShortAllocator< U, M, A2 > &y) noexcept
 
template<class T , std::size_t N, std::size_t A1, class U , std::size_t M, std::size_t A2>
bool operator!= (const ShortAllocator< T, N, A1 > &x, const ShortAllocator< U, M, A2 > &y) noexcept
 
template<typename... Args, typename Continuation >
constexpr auto async (Continuation &&continuation)
 Creates an Async from a promise/callback taking function.
 
template<typename... Args>
auto async_ready (Args &&... args)
 Returns a continuable_base with no result which instantly resolves the promise with no values.
 
template<typename... Args, typename Exception >
constexpr auto async_except (Exception &&exception)
 Returns a continuable_base with the parameterized result which instantly resolves the promise with the given error type.
 
template<typename Mapper , typename... T>
decltype(autoasync_map (Mapper &&mapper, T &&... pack)
 Maps the pack with the given mapper.
 
template<typename... T>
constexpr decltype(autoasync_spread (T &&... args)
 Indicate that the result shall be spread across the parent container if possible.
 
template<typename Mapper , typename... T>
void async_traverse (Mapper &&mapper, T &&... pack)
 Traverses the pack with the given visitor.
 
auto wait ()
 Awaits (and blocks) until the continuation has finished running.
 
template<class Rep , class Period >
auto wait (const TTimeInterval< Rep, Period > &timeout)
 Awaits (and blocks) until the continuation has finished running.
 
template<class Clock , class Duration >
auto wait (const TDate< Clock, Duration > &timeout)
 Awaits (and blocks) until the continuation has finished running.
 
template<class Word >
void swap (BitReference< Word > &a, BitReference< Word > &b)
 Swaps only the referenced bit.
 
template<typename Key , typename T , typename Compare , typename Container >
bool operator== (const FlatMap< Key, T, Compare, Container > &a, const FlatMap< Key, T, Compare, Container > &b)
 
template<typename Key , typename T , typename Compare , typename Container >
bool operator!= (const FlatMap< Key, T, Compare, Container > &a, const FlatMap< Key, T, Compare, Container > &b)
 
IndexSet createIndexSetFromIndex (IndexSet::Index idx)
 
IndexSet createIndexSetFromIndices (const Vector< IndexSet::Index > &input)
 
std::ostream & operator<< (std::ostream &, const IndexSet &)
 
template<typename T >
MemoryView< Tmake_memory_view (T *ptr, size_t size)
 Makes a new memory from a raw pointer and length.
 
template<typename T >
MemoryView< const Tmake_memory_view (const T *ptr, size_t size)
 Makes a new memory from a raw pointer and length.
 
template<typename T , size_t N>
MemoryView< Tmake_memory_view (T(&array)[N])
 Makes a new memory view from a C-style array.
 
template<typename Container >
MemoryView< typename Container::value_type > make_memory_view (Container &container, size_t offset=0)
 Makes a new memory view from an STL-compatible Vector-like container.
 
template<typename Container >
MemoryView< const typename Container::value_type > make_memory_view (const Container &c, size_t offset=0)
 Makes a new memory view from an STL-compatible Vector-like container.
 
template<typename T >
StridedMemoryView< Tmake_strided_memory_view (T *ptr, size_t size, size_t stride=StridedMemoryView< T >::defaultStride)
 Makes a new strided memory from a raw pointer and length.
 
template<typename T >
StridedMemoryView< const Tmake_strided_memory_view (const T *ptr, size_t size, size_t stride=StridedMemoryView< T >::defaultStride)
 Makes a new strided memory from a raw pointer and length.
 
template<typename T , size_t N>
StridedMemoryView< const Tmake_strided_memory_view (const T(&ar)[N])
 Makes a new strided memory view from a C-style array.
 
template<typename Container >
StridedMemoryView< typename Container::value_type > make_strided_memory_view (Container &container, size_t offset=0)
 Makes a new memory view from an STL-compatible Vector-like container.
 
template<typename Container >
StridedMemoryView< const typename Container::value_type > make_strided_memory_view (const Container &container, size_t offset=0)
 Makes a new memory view from an STL-compatible Vector-like container.
 
template<typename A , typename B >
constexpr bool operator== (const Optional< A > &lhs, const Optional< B > &rhs)
 
template<typename A , typename B >
constexpr bool operator== (const Optional< A > &lhs, const B &rhs)
 
template<typename A , typename B >
constexpr bool operator== (const A &lhs, const Optional< B > &rhs)
 
template<typename A >
constexpr bool operator== (const Optional< A > &lhs, const std::nullopt_t &)
 
template<typename A , typename B >
constexpr bool operator!= (const Optional< A > &lhs, const Optional< B > &rhs)
 
template<typename A , typename B >
constexpr bool operator!= (const Optional< A > &lhs, const B &rhs)
 
template<typename A , typename B >
constexpr bool operator!= (const A &lhs, const Optional< B > &rhs)
 
template<typename A >
constexpr bool operator!= (const Optional< A > &lhs, const std::nullopt_t &)
 
template<typename A , typename B >
constexpr bool operator> (const Optional< A > &lhs, const Optional< B > &rhs)
 
template<typename A , typename B >
constexpr bool operator> (const Optional< A > &lhs, const B &rhs)
 
template<typename A , typename B >
constexpr bool operator> (const A &lhs, const Optional< B > &rhs)
 
template<typename A >
constexpr bool operator> (const Optional< A > &lhs, const std::nullopt_t &)
 
template<typename A , typename B >
constexpr bool operator>= (const Optional< A > &lhs, const Optional< B > &rhs)
 
template<typename A , typename B >
constexpr bool operator>= (const Optional< A > &lhs, const B &rhs)
 
template<typename A , typename B >
constexpr bool operator>= (const A &lhs, const Optional< B > &rhs)
 
template<typename A >
constexpr bool operator>= (const Optional< A > &lhs, const std::nullopt_t &)
 
template<typename A , typename B >
constexpr bool operator< (const Optional< A > &lhs, const Optional< B > &rhs)
 
template<typename A , typename B >
constexpr bool operator< (const Optional< A > &lhs, const B &rhs)
 
template<typename A , typename B >
constexpr bool operator< (const A &lhs, const Optional< B > &rhs)
 
template<typename A >
constexpr bool operator< (const Optional< A > &lhs, const std::nullopt_t &)
 
template<typename A , typename B >
constexpr bool operator<= (const Optional< A > &lhs, const Optional< B > &rhs)
 
template<typename A , typename B >
constexpr bool operator<= (const Optional< A > &lhs, const B &rhs)
 
template<typename A , typename B >
constexpr bool operator<= (const A &lhs, const Optional< B > &rhs)
 
template<typename A >
constexpr bool operator<= (const Optional< A > &lhs, const std::nullopt_t &)
 
template<typename T , size_t CapacityA, size_t CapacityB>
bool operator== (const StaticVector< T, CapacityA > &a, const StaticVector< T, CapacityB > &b)
 
template<typename T , size_t CapacityA, size_t CapacityB>
bool operator!= (const StaticVector< T, CapacityA > &a, const StaticVector< T, CapacityB > &b)
 
template<class... TTypes, class... UTypes>
constexpr bool operator== (const Tuple< TTypes... > &lhs, const Tuple< UTypes... > &rhs)
 
template<class... TTypes, class... UTypes>
constexpr bool operator!= (const Tuple< TTypes... > &lhs, const Tuple< UTypes... > &rhs)
 
template<class... TTypes, class... UTypes>
constexpr bool operator< (const Tuple< TTypes... > &lhs, const Tuple< UTypes... > &rhs)
 
template<class... TTypes, class... UTypes>
constexpr bool operator<= (const Tuple< TTypes... > &lhs, const Tuple< UTypes... > &rhs)
 
template<class... TTypes, class... UTypes>
constexpr bool operator> (const Tuple< TTypes... > &lhs, const Tuple< UTypes... > &rhs)
 
template<class... TTypes, class... UTypes>
constexpr bool operator>= (const Tuple< TTypes... > &lhs, const Tuple< UTypes... > &rhs)
 
template<typename... Ts>
Tuple< Ts &... > tie (Ts &... values)
 Creates a tuple of lvalue references to its arguments.
 
template<typename RawAllocator , typename Range >
auto toVector (Range &range)
 Converts a range into a Vector using a custom RawAllocator.
 
template<typename RawAllocator , typename Range >
auto toVector (Range &&range)
 Converts a range into a Vector using a custom RawAllocator.
 
template<typename RawAllocator , typename Range >
auto toVector (const Range &range)
 Converts a range into a Vector using a custom RawAllocator.
 
template<typename Range >
auto toVector (Range &&range)
 Converts a range into a Vector.
 
template<typename Range >
auto toVector (const Range &range)
 Converts a range into a Vector.
 
template<typename Range >
auto toTemporaryVector (Range &range)
 Converts a range into a TemporaryVector.
 
template<typename Range >
auto toTemporaryVector (const Range &range)
 Converts a range into a TemporaryVector.
 
template<typename T1 , typename T2 >
bool operator== (const DynamicLibrary::Symbol< T1 > &a, const DynamicLibrary::Symbol< T2 > &b)
 
template<typename T1 , typename T2 >
bool operator!= (const DynamicLibrary::Symbol< T1 > &a, const DynamicLibrary::Symbol< T2 > &b)
 
template<typename T >
bool operator== (const DynamicLibrary::Symbol< T > &a, std::nullptr_t)
 
template<typename T >
bool operator!= (const DynamicLibrary::Symbol< T > &a, std::nullptr_t)
 
template<typename P , template< typename > typename F>
auto operator co_await (TEvent< P, void(), F > &event) noexcept
 Creates a new awaitable object for a event.
 
template<typename P , template< typename > typename F, typename... A>
auto operator co_await (TEvent< P, void(A...), F > &event) noexcept
 Creates a new awaitable object for a event.
 
template<typename... T>
constexpr auto overload (T &&... callables)
 Returns a callable object, which unifies all callable objects that were passed to this function.
 
template<typename T >
constexpr size_t hash (const T &v)
 Generates a hash for the provided type.
 
template<typename T >
constexpr void combine (std::size_t &seed, const T &v)
 Generates a new hash for the provided type using the default standard hasher and combines it with a previous hash.
 
template<typename... Ts>
constexpr size_t hash (const Ts &... values)
 Generates and combines a hash for all values.
 
template<typename T >
constexpr UInt32 staticHash32 (BasicStringView< T > string, const UInt32 value=0x811c9dc5) noexcept
 
template<typename T >
constexpr UInt64 staticHash64 (BasicStringView< T > string, const UInt64 value=0xcbf29ce484222325) noexcept
 
constexpr Flags< FileHandle::RemoveDirectoryFlag, std::underlying_type_t< FileHandle::RemoveDirectoryFlag > > operator| (FileHandle::RemoveDirectoryFlag a, FileHandle::RemoveDirectoryFlag b) noexcept
 
constexpr Flags< FileHandle::RemoveDirectoryFlag, std::underlying_type_t< FileHandle::RemoveDirectoryFlag > > operator& (FileHandle::RemoveDirectoryFlag a, FileHandle::RemoveDirectoryFlag b) noexcept
 
constexpr Flags< FileHandle::RemoveDirectoryFlag, std::underlying_type_t< FileHandle::RemoveDirectoryFlag > > operator~ (FileHandle::RemoveDirectoryFlag a) noexcept
 
template<typename ExecutionContext , ASIO_COMPLETION_TOKEN_FOR(void()) CompletionToken>
 ASIO_INITFN_AUTO_RESULT_TYPE (CompletionToken, void()) idle(ExecutionContext &context
 
 ASIO_MOVE_ARG (CompletionToken) token)
 
template<typename T , typename... Args>
T binaryRead (InputStream &stream, Args &&... args)
 Reads a binary representation of T from the stream.
 
template<typename T , typename S , typename... Args>
T binaryRead (S &stream, Args &&... args)
 
template<typename T , typename... Args>
Async< TasyncBinaryRead (AsyncInputStream &stream, Args &&... args)
 
template<typename T , typename S , typename... Args>
Async< TasyncBinaryRead (S &stream, Args &&... args)
 
template<typename T , typename... Args>
void 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 binaryWrite (S &stream, const T &value, Args &&... args)
 
template<typename T , typename... Args>
Async asyncBinaryWrite (AsyncOutputStream &stream, const T &value, Args &&... args)
 
template<typename T , typename S , typename... Args>
Async asyncBinaryWrite (S &stream, const T &value, Args &&... args)
 
constexpr Flags< URLRequestMode, std::underlying_type_t< URLRequestMode > > operator| (URLRequestMode a, URLRequestMode b) noexcept
 
constexpr Flags< URLRequestMode, std::underlying_type_t< URLRequestMode > > operator& (URLRequestMode a, URLRequestMode b) noexcept
 
constexpr Flags< URLRequestMode, std::underlying_type_t< URLRequestMode > > operator~ (URLRequestMode a) noexcept
 
template<class T >
 IteratorPrototype (const T &) -> IteratorPrototype< T >
 
template<class T , typename D >
 IteratorPrototype (const T &, const D &) -> IteratorPrototype< T, D >
 
template<class T , typename D , typename C >
 IteratorPrototype (const T &, const D &, const C &) -> IteratorPrototype< T, D, C >
 
template<class T >
 Iterator (const T &) -> Iterator< T >
 
template<class T , typename F >
 Iterator (const T &, const F &) -> Iterator< T, F >
 
template<class T , typename F , typename D >
 Iterator (const T &, const F &, const D &) -> Iterator< T, F, D >
 
template<class T , typename F , typename D , typename C >
 Iterator (const T &, const F &, const D &, const C &) -> Iterator< T, F, D, C >
 
template<class T , typename F = impl::increment::ByValue<1>, typename D = impl::dereference::ByValueReference, typename C = impl::compare::ByValue>
Iterator< T, F, D, CmakeIterator (T &&t, F f=F(), D &&d=D(), C &&c=C())
 
template<class IB , class IE , class Context >
auto wrap (IB &&a, IE &&b, Context &&context)
 Wraps two iterators into a single-use container with begin/end methods to match the C++ iterator convention.
 
template<class IB , class IE , class Context >
auto wrap (Pair< IB, IE > &&pair, Context &&context)
 Wraps two iterators into a single-use container with begin/end methods to match the C++ iterator convention.
 
template<class IB , class IE >
auto wrap (IB &&a, IE &&b)
 Wraps two iterators into a single-use container with begin/end methods to match the C++ iterator convention.
 
template<class IB , class IE >
auto wrap (Pair< IB, IE > &&pair)
 Wraps two iterators into a single-use container with begin/end methods to match the C++ iterator convention.
 
template<class T >
RangeIterator< TrangeValue (T v, T i=1)
 
template<class T >
auto range (T begin, T end, T increment)
 Returns an iterator that increases it's value from begin to the first value <= end by increment for each step.
 
template<class T >
auto range (T begin, T end)
 Returns an iterator that increases it's value from begin to end by 1 for each step.
 
template<class T >
auto range (T end)
 Returns an iterator that increases it's value from 0 to end by 1 for each step.
 
template<class T = UInt64>
auto range ()
 Returns an iterator that increases it's value from 0 to end by 1 for each step.
 
template<typename T = UInt64, typename Container >
auto indices (const Container &container)
 Returns an iterator that increases it's value from 0 to container.size() by 1 on each step.
 
template<typename Container >
auto indices (const Container &container)
 Returns an iterator that increases it's value from 0 to container.size() by 1 on each step.
 
template<class T >
auto reverse (T &v)
 Wraps the rbegin and rend iterators.
 
template<typename... Args>
auto zip (Args &&... args)
 Returns an iterable object where all argument iterators are traversed simultaneously.
 
template<typename Container >
auto keys (Container &container)
 Returns an iterable object that iterates over the keys of a map-like container.
 
template<typename Container >
auto keys (Container &&container)
 Returns an iterable object that iterates over the keys of a map-like container.
 
template<typename Container >
auto values (Container &container)
 Returns an iterable object that iterates over the values of a map-like container.
 
template<typename Container >
auto values (Container &&container)
 Returns an iterable object that iterates over the values of a map-like container.
 
template<typename Container >
auto dereference (Container &container)
 Returns an iterable object that iterates over the values of Container but also dereferences the pointers.
 
template<typename Container >
auto dereference (Container &&container)
 Returns an iterable object that iterates over the values of Container but also dereferences the pointers.
 
template<typename Container , typename Transform >
auto transform (Container &container, Transform &&transform)
 Returns an iterable object that iterates over the values of the container and applies transform to every value in it.
 
template<typename Container , typename Transform >
auto transform (Container &&container, Transform &&transform)
 Returns an iterable object that iterates over the values of the container and applies transform to every value in it.
 
template<typename Container , typename Predicate >
auto filter (Container &container, Predicate &&predicate)
 Returns an iterable object that iterates over the values of the container and applies transform to every value in it.
 
template<typename Container , typename Predicate >
auto filter (Container &&container, Predicate &&predicate)
 
template<typename Container >
auto unique (Container &container)
 Returns an iterable object that iterates over all unique values on the container.
 
template<typename Container >
auto unique (Container &&container)
 Returns an iterable object that iterates over all unique values on the container.
 
template<typename Container >
auto skipNull (Container &container)
 Returns an iterable object that iterates over the non-null values of container.
 
template<typename Container >
auto skipNull (Container &&container)
 Returns an iterable object that iterates over the non-null values of container.
 
template<typename Container >
auto weakLock (Container &container)
 Returns an iterable object that iterates over the locked weak pointers of Container.
 
template<typename Container >
auto weakLock (Container &&container)
 Returns an iterable object that iterates over the locked weak pointers of Container.
 
template<class T , class I = impl::increment::ByValue<1>>
auto valuesBetween (T *begin, T *end)
 Iterates over the dereferenced values between begin and end.
 
template<class T , class A >
void fill (A &arr, const T &value)
 Copy-assigns the given value to every element in a container.
 
template<class A , class B , class T = impl::dereference::ByValueReference>
void copy (const A &a, B &b, T &&t=T())
 Copies values from one container to another.
 
template<class I , class C >
bool eraseIfFound (const I &it, C &container)
 Removes a value from a container with find method.
 
template<typename Index = std::size_t, typename Range >
auto enumerate (Range &range, Index startingAt=0)
 Return a range object.
 
template<typename Index = std::size_t, typename Range >
auto enumerate (Range &&range, Index startingAt=0)
 Return a range object.
 
template<typename Range1 , typename Range2 >
JoinIteratorRange< Range1, Range2join (Range1 &range1, Range2 &range2)
 
template<typename Range1 , typename Range2 >
JoinIteratorRange< const Range1, const Range2join (const Range1 &range1, const Range2 &range2)
 
template<typename Range1 , typename Range2 , std::size_t L>
JoinIteratorRange< Range1, const Array< Range2 &, L > > join (Range1 &range1, const Array< Range2 &, L > &range2)
 
template<typename Range1 , typename Range2 , std::size_t L>
JoinIteratorRange< Range1, const Array< const Range2 &, L > > join (Range1 &range1, const Array< const Range2 &, L > &range2)
 
template<typename Range1 , typename Other >
auto joinWith (Range1 &range1, const std::initializer_list< Other > range2)
 
template<template< typename T > class StrongType, typename T >
constexpr StrongType< Tmake_named (T const &value)
 
template<typename T , typename Parameter , template< typename > class... Skills>
std::enable_if< NamedType< T, Parameter, Skills... >::is_printable, std::ostream & >::type operator<< (std::ostream &os, NamedType< T, Parameter, Skills... > const &object)
 
template<class OffsetType >
OffsetType offset_ptr_offset (const volatile void *ptr, const volatile void *thisPtr)
 
template<class OffsetType >
OffsetType offset_ptr_offset_from_other (const volatile void *thisPtr, const volatile void *otherPtr, OffsetType otherOffset)
 
template<class OffsetType >
voidoffset_ptr_raw_pointer (const volatile void *thisPtr, OffsetType offset)
 
template<class T1 , class P1 , class O1 , std::size_t A1, class T2 , class P2 , class O2 , std::size_t A2>
OffsetPtr< T1, P1, O1, A1static_pointer_cast (const OffsetPtr< T2, P2, O2, A2 > &r) noexcept
 Simulation of static_cast between pointers.
 
template<class T1 , class P1 , class O1 , std::size_t A1, class T2 , class P2 , class O2 , std::size_t A2>
OffsetPtr< T1, P1, O1, A1const_pointer_cast (const OffsetPtr< T2, P2, O2, A2 > &r) noexcept
 Simulation of const_cast between pointers.
 
template<class T1 , class P1 , class O1 , std::size_t A1, class T2 , class P2 , class O2 , std::size_t A2>
OffsetPtr< T1, P1, O1, A1dynamic_pointer_cast (const OffsetPtr< T2, P2, O2, A2 > &r) noexcept
 Simulation of dynamic_cast between pointers.
 
template<class T1 , class P1 , class O1 , std::size_t A1, class T2 , class P2 , class O2 , std::size_t A2>
OffsetPtr< T1, P1, O1, A1reinterpret_pointer_cast (const OffsetPtr< T2, P2, O2, A2 > &r) noexcept
 Simulation of reinterpret_cast between pointers.
 
template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U , size_t USmallSize, bool UCopyable, typename UBaseType >
bool operator== (const Poly< T, TSmallSize, TCopyable, TBaseType > &lhs, const Poly< U, USmallSize, UCopyable, UBaseType > &rhs) noexcept
 Compares if two Poly objects are equal.
 
template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U >
bool operator== (const Poly< T, TSmallSize, TCopyable, TBaseType > &lhs, const U &rhs) noexcept
 Compares if two Poly objects are equal.
 
template<typename U , typename T , size_t TSmallSize, bool TCopyable, typename TBaseType >
bool operator== (const U &lhs, const Poly< T, TSmallSize, TCopyable, TBaseType > &rhs) noexcept
 Compares if two Poly objects are equal.
 
template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U , size_t USmallSize, bool UCopyable, typename UBaseType >
bool operator!= (const Poly< T, TSmallSize, TCopyable, TBaseType > &lhs, const Poly< U, USmallSize, UCopyable, UBaseType > &rhs) noexcept
 Compares if two Poly objects are not equal.
 
template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U >
bool operator!= (const Poly< T, TSmallSize, TCopyable, TBaseType > &lhs, const U &rhs) noexcept
 Compares if two Poly objects are not equal.
 
template<typename U , typename T , size_t TSmallSize, bool TCopyable, typename TBaseType >
bool operator!= (const U &lhs, const Poly< T, TSmallSize, TCopyable, TBaseType > &rhs) noexcept
 Compares if two Poly objects are not equal.
 
template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U , size_t USmallSize, bool UCopyable, typename UBaseType >
bool operator> (const Poly< T, TSmallSize, TCopyable, TBaseType > &lhs, const Poly< U, USmallSize, UCopyable, UBaseType > &rhs) noexcept
 Compares if a Poly object is greater than another.
 
template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U >
bool operator> (const Poly< T, TSmallSize, TCopyable, TBaseType > &lhs, const U &rhs) noexcept
 Compares if a Poly object is greater than another.
 
template<typename U , typename T , size_t TSmallSize, bool TCopyable, typename TBaseType >
bool operator> (const U &lhs, const Poly< T, TSmallSize, TCopyable, TBaseType > &rhs) noexcept
 Compares if a Poly object is greater than another.
 
template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U , size_t USmallSize, bool UCopyable, typename UBaseType >
bool operator>= (const Poly< T, TSmallSize, TCopyable, TBaseType > &lhs, const Poly< U, USmallSize, UCopyable, UBaseType > &rhs) noexcept
 Compares if a Poly object is greater or equal than another.
 
template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U >
bool operator>= (const Poly< T, TSmallSize, TCopyable, TBaseType > &lhs, const U &rhs) noexcept
 Compares if a Poly object is greater or equal than another.
 
template<typename U , typename T , size_t TSmallSize, bool TCopyable, typename TBaseType >
bool operator>= (const U &lhs, const Poly< T, TSmallSize, TCopyable, TBaseType > &rhs) noexcept
 Compares if a Poly object is greater or equal than another.
 
template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U , size_t USmallSize, bool UCopyable, typename UBaseType >
bool operator< (const Poly< T, TSmallSize, TCopyable, TBaseType > &lhs, const Poly< U, USmallSize, UCopyable, UBaseType > &rhs) noexcept
 Compares if a Poly object is less than another.
 
template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U >
bool operator< (const Poly< T, TSmallSize, TCopyable, TBaseType > &lhs, const U &rhs) noexcept
 Compares if a Poly object is less than another.
 
template<typename U , typename T , size_t TSmallSize, bool TCopyable, typename TBaseType >
bool operator< (const U &lhs, const Poly< T, TSmallSize, TCopyable, TBaseType > &rhs) noexcept
 Compares if a Poly object is less than another.
 
template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U , size_t USmallSize, bool UCopyable, typename UBaseType >
bool operator<= (const Poly< T, TSmallSize, TCopyable, TBaseType > &lhs, const Poly< U, USmallSize, UCopyable, UBaseType > &rhs) noexcept
 Compares if a Poly object is less or equal than another.
 
template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U >
bool operator<= (const Poly< T, TSmallSize, TCopyable, TBaseType > &lhs, const U &rhs) noexcept
 Compares if a Poly object is less or equal than another.
 
template<typename U , typename T , size_t TSmallSize, bool TCopyable, typename TBaseType >
bool operator<= (const U &lhs, const Poly< T, TSmallSize, TCopyable, TBaseType > &rhs) noexcept
 Compares if a Poly object is less or equal than another.
 
template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType >
bool operator== (const Poly< T, TSmallSize, TCopyable, TBaseType > &lhs, std::nullptr_t) noexcept
 Checks if a Poly is nullptr.
 
template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType >
bool operator!= (const Poly< T, TSmallSize, TCopyable, TBaseType > &lhs, std::nullptr_t) noexcept
 Checks if a Poly is not nullptr.
 
template<typename Predicate1 , typename Predicate2 >
constexpr auto operator&& (const Predicate< Predicate1 > &predicate1, const Predicate< Predicate2 > &predicate2) noexcept
 Helper operator to create a new AndPredicate from two predicates.
 
template<typename Predicate1 , typename Predicate2 >
constexpr auto operator&& (Predicate< Predicate1 > &&predicate1, Predicate< Predicate2 > &&predicate2) noexcept
 Helper operator to create a new AndPredicate from two predicates.
 
template<typename Predicate1 , typename Predicate2 >
constexpr auto operator|| (const Predicate< Predicate1 > &predicate1, const Predicate< Predicate2 > &predicate2) noexcept
 Helper operator to create a new OrPredicate from two predicates.
 
template<typename Predicate1 , typename Predicate2 >
constexpr auto operator|| (Predicate< Predicate1 > &&predicate1, Predicate< Predicate2 > &&predicate2) noexcept
 Helper operator to create a new OrPredicate from two predicates.
 
template<typename TPredicate >
constexpr auto operator! (const Predicate< TPredicate > &predicate) noexcept
 Helper operator to create a new OrPredicate from two predicates.
 
template<typename TPredicate >
constexpr auto operator! (Predicate< TPredicate > &&predicate) noexcept
 Helper operator to create a new OrPredicate from two predicates.
 
template<typename Callable >
constexpr auto predicate (Callable &&callable) noexcept
 Helper function to create a new predicate from a lambda.
 
template<typename T >
constexpr auto eq (T value) noexcept
 Creates a new predicate that compares the input object with value using == operator.
 
template<typename T >
constexpr auto neq (T value) noexcept
 Creates a new predicate that compares the input object with value using != operator.
 
template<typename T >
constexpr auto gt (T value) noexcept
 Creates a new predicate that compares the input object with value using > operator.
 
template<typename T >
constexpr auto gte (T value) noexcept
 Creates a new predicate that compares the input object with value using >= operator.
 
template<typename T >
constexpr auto lt (T value) noexcept
 Creates a new predicate that compares the input object with value using < operator.
 
template<typename T >
constexpr auto lte (T value) noexcept
 Creates a new predicate that compares the input object with value using <= operator.
 
template<typename Func >
auto ce_scope_exit (Func &&func) noexcept
 
template<typename T , typename Func >
auto ce_scope_exit (T *ptr, Func func) noexcept
 
template<typename T , typename... Args>
constexpr Tce_new (Args &&... args)
 
template<typename T , typename... Args>
constexpr UPtr< Tce_unique_new (Args &&... args)
 
template<typename T , typename RawAllocator , typename... Args>
constexpr UPtr< T, AllocatorDeleter< T, RawAllocator > > ce_unique_alloc (RawAllocator &allocator, Args &&... args)
 
template<typename T , typename... Args>
constexpr SPtr< Tce_shared_new (Args &&... args)
 
template<typename T , typename Allocator , typename... Args>
constexpr SPtr< Tce_shared_alloc (Allocator &allocator, Args &&... args)
 
template<typename Pointer >
 CountedPtr (Pointer) -> CountedPtr< Pointer >
 
template<ReferenceCountable T>
RC< Tce_counted_adopt (T *const ptr)
 
template<ReferenceCountable T, typename... Args>
RC< Tce_counted_new (Args &&... args)
 
template<typename U1 , typename U2 >
bool operator== (const CountedPtr< U1 > &a, const CountedPtr< U2 > &b) noexcept
 
template<typename U1 , typename U2 >
bool operator!= (const CountedPtr< U1 > &a, const CountedPtr< U2 > &b) noexcept
 
template<typename U1 , typename U2 >
bool operator== (const CountedPtr< U1 > &a, const U2 *b) noexcept
 
template<typename U1 , typename U2 >
bool operator!= (const CountedPtr< U1 > &a, const U2 *b) noexcept
 
template<typename U1 , typename U2 >
bool operator== (const U1 *a, const CountedPtr< U2 > &b) noexcept
 
template<typename U1 , typename U2 >
bool operator!= (const U1 *a, const CountedPtr< U2 > &b) noexcept
 
template<typename U >
bool operator== (const CountedPtr< U > &a, std::nullptr_t) noexcept
 
template<typename U >
bool operator!= (const CountedPtr< U > &a, std::nullptr_t) noexcept
 
template<typename T , typename U = T, typename... Args>
CopyOnWritePtr< Tce_cow_new (Args &&... args)
 Creates a new copy-on-write pointer by constructing a new object of type U.
 
template<typename T , size_t TSmallSize, typename U , size_t USmallSize>
bool operator== (const ValuePtr< T, TSmallSize > &lhs, const ValuePtr< U, USmallSize > &rhs) noexcept
 Compares if two ValuePtr objects are equal.
 
template<typename T , size_t TSmallSize, typename U >
bool operator== (const ValuePtr< T, TSmallSize > &lhs, const U &rhs) noexcept
 Compares if two ValuePtr objects are equal.
 
template<typename U , typename T , size_t TSmallSize>
bool operator== (const U &lhs, const ValuePtr< T, TSmallSize > &rhs) noexcept
 Compares if two ValuePtr objects are equal.
 
template<typename T , size_t TSmallSize, typename U , size_t USmallSize>
bool operator!= (const ValuePtr< T, TSmallSize > &lhs, const ValuePtr< U, USmallSize > &rhs) noexcept
 Compares if two ValuePtr objects are not equal.
 
template<typename T , size_t TSmallSize, typename U >
bool operator!= (const ValuePtr< T, TSmallSize > &lhs, const U &rhs) noexcept
 Compares if two ValuePtr objects are not equal.
 
template<typename U , typename T , size_t TSmallSize>
bool operator!= (const U &lhs, const ValuePtr< T, TSmallSize > &rhs) noexcept
 Compares if two ValuePtr objects are not equal.
 
template<typename T , size_t TSmallSize, typename U , size_t USmallSize>
bool operator> (const ValuePtr< T, TSmallSize > &lhs, const ValuePtr< U, USmallSize > &rhs) noexcept
 Compares if a ValuePtr object is greater than another.
 
template<typename T , size_t TSmallSize, typename U >
bool operator> (const ValuePtr< T, TSmallSize > &lhs, const U &rhs) noexcept
 Compares if a ValuePtr object is greater than another.
 
template<typename U , typename T , size_t TSmallSize>
bool operator> (const U &lhs, const ValuePtr< T, TSmallSize > &rhs) noexcept
 Compares if a ValuePtr object is greater than another.
 
template<typename T , size_t TSmallSize, typename U , size_t USmallSize>
bool operator>= (const ValuePtr< T, TSmallSize > &lhs, const ValuePtr< U, USmallSize > &rhs) noexcept
 Compares if a ValuePtr object is greater or equal than another.
 
template<typename T , size_t TSmallSize, typename U >
bool operator>= (const ValuePtr< T, TSmallSize > &lhs, const U &rhs) noexcept
 Compares if a ValuePtr object is greater or equal than another.
 
template<typename U , typename T , size_t TSmallSize>
bool operator>= (const U &lhs, const ValuePtr< T, TSmallSize > &rhs) noexcept
 Compares if a ValuePtr object is greater or equal than another.
 
template<typename T , size_t TSmallSize, typename U , size_t USmallSize>
bool operator< (const ValuePtr< T, TSmallSize > &lhs, const ValuePtr< U, USmallSize > &rhs) noexcept
 Compares if a ValuePtr object is less than another.
 
template<typename T , size_t TSmallSize, typename U >
bool operator< (const ValuePtr< T, TSmallSize > &lhs, const U &rhs) noexcept
 Compares if a ValuePtr object is less than another.
 
template<typename U , typename T , size_t TSmallSize>
bool operator< (const U &lhs, const ValuePtr< T, TSmallSize > &rhs) noexcept
 Compares if a ValuePtr object is less than another.
 
template<typename T , size_t TSmallSize, typename U , size_t USmallSize>
bool operator<= (const ValuePtr< T, TSmallSize > &lhs, const ValuePtr< U, USmallSize > &rhs) noexcept
 Compares if a ValuePtr object is less or equal than another.
 
template<typename T , size_t TSmallSize, typename U >
bool operator<= (const ValuePtr< T, TSmallSize > &lhs, const U &rhs) noexcept
 Compares if a ValuePtr object is less or equal than another.
 
template<typename U , typename T , size_t TSmallSize>
bool operator<= (const U &lhs, const ValuePtr< T, TSmallSize > &rhs) noexcept
 Compares if a ValuePtr object is less or equal than another.
 
template<typename T , size_t TSmallSize>
bool operator== (const ValuePtr< T, TSmallSize > &lhs, std::nullptr_t) noexcept
 Checks if a ValuePtr is nullptr.
 
template<typename T , size_t TSmallSize>
bool operator!= (const ValuePtr< T, TSmallSize > &lhs, std::nullptr_t) noexcept
 Checks if a ValuePtr is not nullptr.
 
template<typename T , typename CharTraits , typename RawAllocator >
BasicString< T, CharTraits, RawAllocatoroperator+ (const BasicString< T, CharTraits, RawAllocator > &lhs, const T *rhs)
 
template<typename T , typename CharTraits , typename RawAllocator >
BasicString< T, CharTraits, RawAllocatoroperator+ (const T *lhs, const BasicString< T, CharTraits, RawAllocator > &rhs)
 
template<typename T , typename RawAllocator >
CiBasicStringView< TtoCaseInsensitive (const BasicString< T, RawAllocator > &view)
 
template<typename T , typename RawAllocator >
CiBasicStringView< TtoCaseInsensitive (const CiBasicString< T, RawAllocator > &view)
 
template<typename T >
CiBasicStringView< TtoCaseInsensitive (BasicStringView< T > view)
 
template<typename T >
CiBasicStringView< TtoCaseInsensitive (CiBasicStringView< T > view)
 
template<typename T , typename RawAllocator >
BasicStringView< TtoCaseSensitive (const CiBasicString< T, RawAllocator > &view)
 
template<typename T , typename CharTraits , typename RawAllocator >
BasicStringView< TtoCaseSensitive (const BasicString< T, CharTraits, RawAllocator > &view)
 
template<typename T >
BasicStringView< TtoCaseSensitive (CiBasicStringView< T > view)
 
template<typename T >
BasicStringView< TtoCaseSensitive (BasicStringView< T > view)
 
String operator""_s (const char *str, const size_t length)
 
template<typename T , typename RawAllocator >
BasicString< T, RawAllocatoroperator+ (const BasicString< T, RawAllocator > &lhs, BasicStringView< T > rhs)
 
template<typename T , typename RawAllocator >
BasicString< T, RawAllocatoroperator+ (BasicString< T, RawAllocator > &&lhs, BasicStringView< T > rhs)
 
StringView firstPartOfString (const StringView string, const StringView delimiter)
 
StringView lastPartOfString (const StringView string, const StringView delimiter)
 
template<traits::executor Executor, typename F >
decltype(autodefer (Executor executor, F &&func)
 
template<typename F >
decltype(autodefer (ExecutionContext &executionContext, F &&func)
 
template<typename F >
decltype(autodefer (F &&func)
 
template<traits::executor Executor>
auto with (Executor executor)
 
auto with (ExecutionContext &context)
 
template<traits::executor Executor, typename Func >
auto with (Executor executor, Func &&func)
 
template<typename Func >
auto with (ExecutionContext &context, Func &&func)
 
constexpr std::size_t hardware_concurrency () noexcept
 A version of hardware_concurrency that always returns at least 1.
 
constexpr auto make_inline_executor ()
 An executor that runs anything inline.
 
auto make_thread_executor ()
 An executor that runs anything in a new thread, like std::async does.
 
auto make_default_executor ()
 The default executor to be used when no other executor is provided.
 
template<CLockedObject... Ts, typename Func >
decltype(autolock (Func &&func, Ts &... objects)
 
template<typename T , typename Mutex , typename Func >
decltype(autolock (LockedObject< T, Mutex > &object, Func &&func)
 Executes a function Func within a synchronized block.
 
template<typename T , typename Mutex , typename Func >
decltype(autolock (const LockedObject< T, Mutex > &object, Func &&func)
 Executes a function Func within a synchronized block.
 
bool operator== (const URI &lhs, const URI &rhs) noexcept
 Compares two URIs for equality.
 
bool operator!= (const URI &lhs, const URI &rhs) noexcept
 Compares two URIs for inequality.
 
template<typename TCollection , typename TValue >
void eraseAll (TCollection &collection, const TValue &value)
 
template<typename TCollection , typename TPredicate >
void eraseAllIf (TCollection &collection, TPredicate pred)
 
template<typename TCollectionSrc , typename TCollectionDest >
void moveAll (TCollectionSrc &src, TCollectionDest &dst)
 
template<typename TCollectionSrc , typename TCollectionDest , typename TPredicate >
void moveAllIf (TCollectionSrc &src, TCollectionDest &dst, TPredicate pred)
 
template<class CharT , class Traits = std::char_traits<CharT>, class Allocator = std::allocator<CharT>>
void replace (std::basic_string< CharT, Traits, Allocator > &s, const std::basic_string< CharT, Traits, Allocator > &from, const std::basic_string< CharT, Traits, Allocator > &to)
 
template<class CharT , class Traits = std::char_traits<CharT>, class Allocator = std::allocator<CharT>>
void replace (std::basic_string< CharT, Traits, Allocator > &s, const char *from, const char *to)
 
template<class CharT , class Traits = std::char_traits<CharT>, class Allocator = std::allocator<CharT>>
void replace (std::basic_string< CharT, Traits, Allocator > &s, const std::basic_string< CharT, Traits, Allocator > &from, const char *to)
 
template<class CharT , class Traits = std::char_traits<CharT>, class Allocator = std::allocator<CharT>>
void replace (std::basic_string< CharT, Traits, Allocator > &s, const char *from, const std::basic_string< CharT, Traits, Allocator > &to)
 
template<typename T >
T fromStringOrDefault (const StringView &s)
 
bool isHexLiteral (const StringView &s)
 
template<>
int fromStringOrDefault< int > (const StringView &s)
 
template<>
long long fromStringOrDefault< long long > (const StringView &s)
 
template<>
unsigned long fromStringOrDefault< unsigned long > (const StringView &s)
 
template<>
float fromStringOrDefault< float > (const StringView &s)
 
template<>
double fromStringOrDefault< double > (const StringView &s)
 
template<typename T >
void toUpper (T &s)
 
template<typename T , typename Allocator >
void mergeString (BasicString< T, Allocator > &dst, const BasicString< T, Allocator > &src, const T &keepDst, const T &ignoreSrc)
 Merges the source string 'src' into the destination string 'dst', keeps the destination characters specified by 'keepDst', and ignores the source characters specified by 'ignoreSrc'.
 
template<typename T >
String toHexString (const T &i, const String &prefix="0x")
 
template<typename T >
int numDigits (T n)
 
template<typename T >
SPtr< TexchangeWithNull (SPtr< T > &ptr)
 
template<Endian E, typename T >
requires (std::is_trivially_copyable_v<T>)
T byteswap (T u)
 Swaps the byte to/from the native byte-order to the target E byte-order.
 
constexpr Flags< GraphSocketFlag, std::underlying_type_t< GraphSocketFlag > > operator| (GraphSocketFlag a, GraphSocketFlag b) noexcept
 
constexpr Flags< GraphSocketFlag, std::underlying_type_t< GraphSocketFlag > > operator& (GraphSocketFlag a, GraphSocketFlag b) noexcept
 
constexpr Flags< GraphSocketFlag, std::underlying_type_t< GraphSocketFlag > > operator~ (GraphSocketFlag a) noexcept
 
template<std::size_t I>
decltype(autoget (BezierPath::Element &element) noexcept
 Decomposes a bezier path element.
 
template<std::size_t I>
decltype(autoget (const BezierPath::Element &element) noexcept
 Decomposes a bezier path element.
 
bool operator& (const ButtonSet &set, const Button button) noexcept
 Checks if the button is present in the button set
 
bool operator& (const ButtonSet &a, const ButtonSet &b) noexcept
 Checks if all buttons in the set b are present in set a.
 
ButtonSet operator+ (const Button a, const Button b)
 Creates a new button set from a and b.
 
ButtonSetoperator+= (ButtonSet &set, const Button button)
 Adds a button to a set.
 
ButtonSet operator+ (const ButtonSet &set, const Button button)
 Adds a button to a set.
 
ButtonSetoperator+= (ButtonSet &set, const ButtonSet &buttons)
 Adds a set of buttons to a set.
 
ButtonSet operator+ (const ButtonSet &set, const ButtonSet &buttons)
 Adds a set of buttons to a set.
 
ButtonSet operator| (const ButtonSet &set, const Button button)
 Adds a button to a set.
 
ButtonSetoperator-= (ButtonSet &set, const Button button)
 Removes a button from a set.
 
ButtonSet operator- (const ButtonSet &set, const Button button)
 Removes a button from a set.
 
ButtonSetoperator-= (ButtonSet &set, const ButtonSet &buttons)
 Removes a set of buttons from a set.
 
ButtonSet operator- (const ButtonSet &set, const ButtonSet &buttons)
 Removes a set of buttons from a set.
 
constexpr bool operator& (ModifierButton a, ModifierButton b) noexcept
 Checks if the a contains the modifier b.
 
constexpr ModifierButton operator| (ModifierButton a, ModifierButton b) noexcept
 Merge two modifiers.
 
constexpr ModifierButton operator+ (ModifierButton a, ModifierButton b) noexcept
 Add two modifiers into a modifier mask.
 
constexpr ModifierButton operator+= (ModifierButton &a, const ModifierButton b) noexcept
 Appends a modifier b to the modifier mask a.
 
constexpr ModifierButton operator- (ModifierButton a, ModifierButton b) noexcept
 Removes a modifier from a modifier mask.
 
constexpr ModifierButton operator-= (ModifierButton &a, const ModifierButton b) noexcept
 Removes a modifier b from the modifier mask a.
 
StringView toString (Button button) noexcept
 Returns a string representation for the given button
 
Button button (const StringView &str) noexcept
 Returns the Button constant that is represented by str.
 
String toString (ModifierButton modifier) noexcept
 Returns a string representation for the given modifier
 
StringView toString (Axis axis) noexcept
 Returns a string representation for the given axis
 
Axis axis (const StringView &str) noexcept
 Returns the Axis constant that is represented by str.
 
template<typename ValueType >
constexpr bool operator== (const MaterialPropertySwizzle< ValueType > &lhs, const MaterialPropertySwizzle< ValueType > &rhs) noexcept
 Compares two MaterialPropertySwizzle for equality.
 
template<typename ValueType >
constexpr bool operator!= (const MaterialPropertySwizzle< ValueType > &lhs, const MaterialPropertySwizzle< ValueType > &rhs) noexcept
 Compares two MaterialPropertySwizzle for inequality.
 
template<typename ValueType , typename TextureType >
constexpr bool operator== (const MaterialProperty< ValueType, TextureType > &lhs, const MaterialProperty< ValueType, TextureType > &rhs) noexcept
 Compares two MaterialProperty for equality.
 
template<typename ValueType , typename TextureType >
constexpr bool operator!= (const MaterialProperty< ValueType, TextureType > &lhs, const MaterialProperty< ValueType, TextureType > &rhs) noexcept
 Compares two MaterialProperty for inequality.
 
constexpr bool operator== (const PBRMaterialModel &lhs, const PBRMaterialModel &rhs) noexcept
 Compares two PBRMaterialModel for equality.
 
constexpr bool operator!= (const PBRMaterialModel &lhs, const PBRMaterialModel &rhs) noexcept
 Compares two PBRMaterialModel for inequality.
 
constexpr Flags< ShaderStage, std::underlying_type_t< ShaderStage > > operator| (ShaderStage a, ShaderStage b) noexcept
 
constexpr Flags< ShaderStage, std::underlying_type_t< ShaderStage > > operator& (ShaderStage a, ShaderStage b) noexcept
 
constexpr Flags< ShaderStage, std::underlying_type_t< ShaderStage > > operator~ (ShaderStage a) noexcept
 
template<typename T >
long findHighestBit (T value) noexcept
 
template<typename CharT , typename B , unsigned int F>
std::basic_ostream< CharT > & operator<< (std::basic_ostream< CharT > &os, FixedPoint< B, F > x) noexcept
 
template<typename CharT , class Traits , typename B , unsigned int F>
std::basic_istream< CharT, Traits > & operator>> (std::basic_istream< CharT, Traits > &is, FixedPoint< B, F > &x)
 
 CE_RCPTR_TRAIT_DECL (LinuxFileSystem)
 
void swap (Box &lhs, Box &rhs) noexcept
 
template<typename T >
Box box (T &value)
 Creates a new Box object by wraping the value as a reference type.
 
template<typename T >
Box box (const T &value)
 Creates a new Box object by wraping the value as a const-reference type.
 
template<typename T >
Box box (T &&value)
 Creates a new Box object by wraping the value as a value type.
 
Box dereference (Box &&value)
 
Box dereference (const Box &value)
 
template<typename T >
Box dereference (Box &&value)
 
template<typename T >
Box dereference (const Box &value)
 
template<typename DerivedType , typename BaseType >
void constmetacast_to_base (void const *value)
 
template<typename T >
const ClassgetClass ()
 Gets a pointer to the Class object that contains reflection metadata for the given class type T.
 
template<typename T >
const TypeInfogetTypeInfo ()
 
template<typename T >
constexpr TypeID getTypeID ()
 
template<>
CE_FLATTEN_INLINE TypeID getTypeID< void > ()
 
template<typename T >
CE_FLATTEN_INLINE Type getType ()
 
template<typename T >
CE_FLATTEN_INLINE Type getType (T &&)
 
std::ostream & operator<< (std::ostream &stream, Type type)
 Writes a string representation of the type type to the given stream.
 
template<typename T >
CE_FLATTEN_INLINE constexpr TypeID getTypeID ()
 
template<typename T >
consteval TypeIdentityHash getIdentityHash () noexcept
 Gets the a static constexpr hash of the type.
 
template<typename T >
constexpr StringView getTypeName ()
 
template<typename F >
function_type< Fmake_function (F &&f)
 
constexpr Flags< GPUBufferUsageFlag, std::underlying_type_t< GPUBufferUsageFlag > > operator| (GPUBufferUsageFlag a, GPUBufferUsageFlag b) noexcept
 
constexpr Flags< GPUBufferUsageFlag, std::underlying_type_t< GPUBufferUsageFlag > > operator& (GPUBufferUsageFlag a, GPUBufferUsageFlag b) noexcept
 
constexpr Flags< GPUBufferUsageFlag, std::underlying_type_t< GPUBufferUsageFlag > > operator~ (GPUBufferUsageFlag a) noexcept
 
bool validateRenderingCapabilities (const GPURenderingCapabilities &presentCaps, const GPURenderingCapabilities &requiredCaps, const ValidateRenderingCapabilitiesFunc &callback=nullptr) noexcept
 Validates the presence of the specified required rendering capabilities.
 
std::ostream & operator<< (std::ostream &os, const GPUDeviceInfo &info)
 Prints a string representation of the device info.
 
std::ostream & operator<< (std::ostream &os, Origin origin)
 Prints a string representation of the origin.
 
std::ostream & operator<< (std::ostream &os, ClippingRange clippingRange)
 Prints a string representation of the clippingRange.
 
std::ostream & operator<< (std::ostream &os, const GPURenderingFeatures &features)
 Prints a string representation of the device features.
 
std::ostream & operator<< (std::ostream &os, const GPURenderingLimits &limits)
 Prints a string representation of the device limits.
 
std::ostream & operator<< (std::ostream &os, const GPURenderingCapabilities &capabilities)
 Prints a string representation of the device capabilities.
 
UInt32 formatBitSize (Format format) noexcept
 Returns the bit size of the specified hardware format.
 
Tuple< DataType, UInt32splitFormat (Format format) noexcept
 Splits the specified hardware format into a data type and the number of components.
 
bool isCompressedFormat (Format format) noexcept
 Returns true if the specified hardware format is a compressed format, i.e.
 
bool isDepthStencilFormat (Format format) noexcept
 Returns true if the specified hardware format is a depth or depth-stencil format, i.e.
 
bool isDepthFormat (Format format) noexcept
 Returns true if the specified hardware format is a depth format, i.e.
 
bool isStencilFormat (Format format) noexcept
 Returns true if the specified hardware format is a stencil format, i.e.
 
bool isNormalizedFormat (Format format) noexcept
 Returns true if the specified hardware format is a normalized format (like Format::RGBA8UNorm, Format::R8SNorm etc.).
 
bool isIntegralFormat (Format format) noexcept
 Returns true if the specified hardware format is an integral format (like Format::RGBA8UInt, Format::R8SInt etc.).
 
bool isFloatFormat (Format format) noexcept
 Returns true if the specified hardware format is a floating-point format (like Format::RGBA32Float, Format::R32Float etc.).
 
UInt32 dataTypeSize (DataType dataType) noexcept
 Returns the size (in bytes) of the specified data type.
 
bool isIntDataType (DataType dataType) noexcept
 Determines if the argument refers to a signed integer data type.
 
bool isUIntDataType (DataType dataType) noexcept
 Determines if the argument refers to an unsigned integer data type.
 
bool isFloatDataType (DataType dataType) noexcept
 Determines if the argument refers to a floating-pointer data type.
 
std::ostream & operator<< (std::ostream &os, const GPUCompareOp &value)
 Creates a string representation of the CompareOp.
 
std::ostream & operator<< (std::ostream &os, const GPUStencilOp &value)
 Creates a string representation of the StencilOp.
 
std::ostream & operator<< (std::ostream &os, const GPUBlendOp &value)
 Creates a string representation of the StencilOp.
 
std::ostream & operator<< (std::ostream &os, const GPUBlendArithmetic &value)
 Creates a string representation of the StencilOp.
 
std::ostream & operator<< (std::ostream &os, const GPUPolygonMode &value)
 Creates a string representation of the StencilOp.
 
std::ostream & operator<< (std::ostream &os, const GPUCullMode &value)
 Creates a string representation of the StencilOp.
 
std::ostream & operator<< (std::ostream &os, const GPULogicOp &value)
 Creates a string representation of the StencilOp.
 
constexpr Flags< GPUImageUsageFlags, std::underlying_type_t< GPUImageUsageFlags > > operator| (GPUImageUsageFlags a, GPUImageUsageFlags b) noexcept
 
constexpr Flags< GPUImageUsageFlags, std::underlying_type_t< GPUImageUsageFlags > > operator& (GPUImageUsageFlags a, GPUImageUsageFlags b) noexcept
 
constexpr Flags< GPUImageUsageFlags, std::underlying_type_t< GPUImageUsageFlags > > operator~ (GPUImageUsageFlags a) noexcept
 
StringView toString (GPUImageType type)
 Creates a string representation of the image type constant.
 
std::ostream & operator<< (std::ostream &os, GPUImageType type)
 Prints a string representation of the image type constant to a stream.
 
StringView toString (GPUImageLayout layout)
 Creates a string representation of the image layout constant.
 
std::ostream & operator<< (std::ostream &os, GPUImageLayout layout)
 Prints a string representation of the image layout constant to a stream.
 
String toString (const GPUImageDescriptor &descriptor)
 Creates a string representation of the image descriptor.
 
std::ostream & operator<< (std::ostream &os, const GPUImageDescriptor &descriptor)
 Prints a string representation of the image descriptor to a stream.
 
constexpr Flags< GPUMemoryProperty, std::underlying_type_t< GPUMemoryProperty > > operator| (GPUMemoryProperty a, GPUMemoryProperty b) noexcept
 
constexpr Flags< GPUMemoryProperty, std::underlying_type_t< GPUMemoryProperty > > operator& (GPUMemoryProperty a, GPUMemoryProperty b) noexcept
 
constexpr Flags< GPUMemoryProperty, std::underlying_type_t< GPUMemoryProperty > > operator~ (GPUMemoryProperty a) noexcept
 
std::ostream & operator<< (std::ostream &os, const GPUSamplerAddressMode &mode)
 Creates a string representation of the SamplerAddressMode.
 
std::ostream & operator<< (std::ostream &os, const GPUSamplerFilter &filter)
 Creates a string representation of the SamplerFilter.
 
constexpr Flags< GPUPipelineStage, std::underlying_type_t< GPUPipelineStage > > operator| (GPUPipelineStage a, GPUPipelineStage b) noexcept
 
constexpr Flags< GPUPipelineStage, std::underlying_type_t< GPUPipelineStage > > operator& (GPUPipelineStage a, GPUPipelineStage b) noexcept
 
constexpr Flags< GPUPipelineStage, std::underlying_type_t< GPUPipelineStage > > operator~ (GPUPipelineStage a) noexcept
 
void MTNotImplemented ()
 
void MKNotImplemented ()
 
template<typename T , typename... Ts>
 GLGlobalState (void(*const &)(T, Ts...)) -> GLGlobalState< void(*)(T, Ts...)>
 
void GLThrowIfFailed (const char *info)
 
void GLNotImplemented ()
 
bool GLHasExtension (GLuint extension)
 
GLenum GLMap (ShaderType shaderType)
 
GLenum GLMap (Format format)
 
GLenum GLMapOrZero (Format format)
 
GLenum GLMap (DataType dataType)
 
GLenum GLMap (VertexElementComponentType componentType)
 
GLenum GLMap (GPUImageType ImageType)
 
GLenum GLMap (GPUBufferType bufferType)
 
GLenum GLMap (PrimitiveTopology primitiveTopology)
 
GLenum GLMap (GPUPolygonMode polygonMode)
 
GLenum GLMap (GPUCullMode cullMode)
 
GLenum GLMap (GPUCompareOp compareOp)
 
GLenum GLMap (GPUStencilOp stencilOp)
 
GLenum GLMap (GPULogicOp logicOp)
 
GLenum GLMap (GPUBlendOp blendOp)
 
GLenum GLMap (GPUBlendArithmetic blendArithmetic)
 
GLenum GLMap (GPUSamplerAddressMode addressMode)
 
GLenum GLMap (GPUSamplerFilter imageFilter)
 
GLenum GLMap (GPUSamplerFilter imageMinFilter, GPUSamplerFilter imageMipMapFilter)
 
GLenum GLMap (IndexType indexType)
 
GLenum GLMapInternalFormat (Format format)
 
GLenum toImageCubeMap (UInt32 arrayLayer) noexcept
 Returns an enum in [GL_TEXTURE_CUBE_MAP_POSITIVE_X, ..., GL_TEXTURE_CUBE_MAP_NEGATIVE_Z] for (arrayLayer % 6).
 
GLenum toColorAttachment (UInt32 attachmentIndex) noexcept
 Returns an enum in [GL_COLOR_ATTACHMENT0, ..., GL_COLOR_ATTACHMENT7].
 
constexpr GLboolean GLBoolean (const bool value) noexcept
 
VKAllocatorgVKAllocator ()
 
VkShaderStageFlagBits VKMap (ShaderType shaderType)
 
VkFormat VKMap (Format format)
 
VkImageViewType VKMap (GPUImageType imageType)
 
VkPrimitiveTopology VKMap (PrimitiveTopology primitiveTopology)
 
VkPolygonMode VKMap (GPUPolygonMode polygonMode)
 
VkCullModeFlags VKMap (GPUCullMode cullMode)
 
VkCompareOp VKMap (GPUCompareOp compareOp)
 
VkStencilOp VKMap (GPUStencilOp stencilOp)
 
VkLogicOp VKMap (GPULogicOp logicOp)
 
VkBlendFactor VKMap (GPUBlendOp blendOp)
 
VkBlendOp VKMap (GPUBlendArithmetic blendArithmetic)
 
VkSamplerAddressMode VKMap (GPUSamplerAddressMode addressMode)
 
VkDescriptorType VKMap (GPUDescriptorType resourceViewType)
 
VkAttachmentLoadOp VKMap (GPUAttachmentLoadOp loadOp)
 
VkAttachmentStoreOp VKMap (GPUAttachmentStoreOp storeOp)
 
VkImageLayout VKMap (GPUImageLayout layout)
 
VkIndexType VKMap (IndexType type)
 
VkMemoryPropertyFlags VKMap (const GPUMemoryProperties &memoryProperty)
 
VkComponentSwizzle VKMap (GPUImageSwizzle imageSwizzle)
 
VkVertexInputRate VKMap (GPUVertexInputRate vertexInputRate)
 
VkImageAspectFlags toVkImageAspectFlags (Format format)
 
void convert (VkRect2D &dst, const Viewport &src) noexcept
 
void convert (VkViewport &dst, const Viewport &src) noexcept
 
VkViewport convert (const Viewport &src) noexcept
 
void convert (VkRect2D &dst, const Scissor &src) noexcept
 
VkRect2D convert (const Scissor &src) noexcept
 
void convert (VkOffset3D &dst, const TOffset3< UInt32 > &src) noexcept
 
VkOffset3D convert (const TOffset3< UInt32 > &src) noexcept
 
void convert (VkExtent3D &dst, const TExtent3< UInt32 > &src) noexcept
 
VkExtent3D convert (const TExtent3< UInt32 > &src) noexcept
 
StringView VKObjectTypeString (VkObjectType objectType) noexcept
 
constexpr VkBool32 VKBoolean (const bool value) noexcept
 
void VKThrowIfFailed (VkResult result, const char *info)
 
VKSurfaceSupportDetails VKQuerySurfaceSupport (VkPhysicalDevice device, VkSurfaceKHR surface)
 Queries the device for surface support details.
 
Vector< VkLayerPropertiesVKQueryInstanceLayerProperties ()
 Queries the supported instance layers.
 
Vector< VkExtensionPropertiesVKQueryInstanceExtensionProperties (const char *layerName=nullptr)
 Queries the supported instance extensions.
 
Vector< VkPhysicalDeviceVKQueryPhysicalDevices (VkInstance instance)
 Queries the available physical devices.
 
Vector< VkExtensionPropertiesVKQueryDeviceExtensionProperties (VkPhysicalDevice device)
 Queries the device for supported extensions.
 
Vector< VkQueueFamilyPropertiesVKQueryQueueFamilyProperties (VkPhysicalDevice device)
 Query the device for queue getFamilyIndex properties.
 
template<typename T >
VkResult VKSetObjectName (const VkDevice device, T object, StringView name)
 
void VKLoadVulkan (const DynamicLibrary &dynamicLibrary) noexcept
 Loads instance creation function pointers from the Vulkan shared library.
 
void VKLoadVulkan (VkInstance instance) noexcept
 Loads remaining Vulkan functions from the Vulkan driver.
 
void WGNotImplemented ()
 
WGLResourceOptions WGResourceOptions (const GPUMemoryProperties &memoryProperty)
 
WGLViewport WGViewport (const Viewport &viewport)
 
WGLScissorRect WGScissorRect (const Scissor &scissor)
 
constexpr Flags< RendererCameraFlag, std::underlying_type_t< RendererCameraFlag > > operator| (RendererCameraFlag a, RendererCameraFlag b) noexcept
 
constexpr Flags< RendererCameraFlag, std::underlying_type_t< RendererCameraFlag > > operator& (RendererCameraFlag a, RendererCameraFlag b) noexcept
 
constexpr Flags< RendererCameraFlag, std::underlying_type_t< RendererCameraFlag > > operator~ (RendererCameraFlag a) noexcept
 
constexpr Flags< RendererCameraDirtyFlag, std::underlying_type_t< RendererCameraDirtyFlag > > operator| (RendererCameraDirtyFlag a, RendererCameraDirtyFlag b) noexcept
 
constexpr Flags< RendererCameraDirtyFlag, std::underlying_type_t< RendererCameraDirtyFlag > > operator& (RendererCameraDirtyFlag a, RendererCameraDirtyFlag b) noexcept
 
constexpr Flags< RendererCameraDirtyFlag, std::underlying_type_t< RendererCameraDirtyFlag > > operator~ (RendererCameraDirtyFlag a) noexcept
 
constexpr Flags< RendererEnvironmentDirtyFlag, std::underlying_type_t< RendererEnvironmentDirtyFlag > > operator| (RendererEnvironmentDirtyFlag a, RendererEnvironmentDirtyFlag b) noexcept
 
constexpr Flags< RendererEnvironmentDirtyFlag, std::underlying_type_t< RendererEnvironmentDirtyFlag > > operator& (RendererEnvironmentDirtyFlag a, RendererEnvironmentDirtyFlag b) noexcept
 
constexpr Flags< RendererEnvironmentDirtyFlag, std::underlying_type_t< RendererEnvironmentDirtyFlag > > operator~ (RendererEnvironmentDirtyFlag a) noexcept
 
constexpr Flags< RendererLightFlag, std::underlying_type_t< RendererLightFlag > > operator| (RendererLightFlag a, RendererLightFlag b) noexcept
 
constexpr Flags< RendererLightFlag, std::underlying_type_t< RendererLightFlag > > operator& (RendererLightFlag a, RendererLightFlag b) noexcept
 
constexpr Flags< RendererLightFlag, std::underlying_type_t< RendererLightFlag > > operator~ (RendererLightFlag a) noexcept
 
constexpr Flags< RendererLightDirtyFlag, std::underlying_type_t< RendererLightDirtyFlag > > operator| (RendererLightDirtyFlag a, RendererLightDirtyFlag b) noexcept
 
constexpr Flags< RendererLightDirtyFlag, std::underlying_type_t< RendererLightDirtyFlag > > operator& (RendererLightDirtyFlag a, RendererLightDirtyFlag b) noexcept
 
constexpr Flags< RendererLightDirtyFlag, std::underlying_type_t< RendererLightDirtyFlag > > operator~ (RendererLightDirtyFlag a) noexcept
 
constexpr Flags< RendererRenderableFlag, std::underlying_type_t< RendererRenderableFlag > > operator| (RendererRenderableFlag a, RendererRenderableFlag b) noexcept
 
constexpr Flags< RendererRenderableFlag, std::underlying_type_t< RendererRenderableFlag > > operator& (RendererRenderableFlag a, RendererRenderableFlag b) noexcept
 
constexpr Flags< RendererRenderableFlag, std::underlying_type_t< RendererRenderableFlag > > operator~ (RendererRenderableFlag a) noexcept
 
constexpr Flags< RendererRenderableDirtyFlag, std::underlying_type_t< RendererRenderableDirtyFlag > > operator| (RendererRenderableDirtyFlag a, RendererRenderableDirtyFlag b) noexcept
 
constexpr Flags< RendererRenderableDirtyFlag, std::underlying_type_t< RendererRenderableDirtyFlag > > operator& (RendererRenderableDirtyFlag a, RendererRenderableDirtyFlag b) noexcept
 
constexpr Flags< RendererRenderableDirtyFlag, std::underlying_type_t< RendererRenderableDirtyFlag > > operator~ (RendererRenderableDirtyFlag a) noexcept
 
constexpr Flags< RendererTerrainFlag, std::underlying_type_t< RendererTerrainFlag > > operator| (RendererTerrainFlag a, RendererTerrainFlag b) noexcept
 
constexpr Flags< RendererTerrainFlag, std::underlying_type_t< RendererTerrainFlag > > operator& (RendererTerrainFlag a, RendererTerrainFlag b) noexcept
 
constexpr Flags< RendererTerrainFlag, std::underlying_type_t< RendererTerrainFlag > > operator~ (RendererTerrainFlag a) noexcept
 
constexpr Flags< RendererTerrainDirtyFlag, std::underlying_type_t< RendererTerrainDirtyFlag > > operator| (RendererTerrainDirtyFlag a, RendererTerrainDirtyFlag b) noexcept
 
constexpr Flags< RendererTerrainDirtyFlag, std::underlying_type_t< RendererTerrainDirtyFlag > > operator& (RendererTerrainDirtyFlag a, RendererTerrainDirtyFlag b) noexcept
 
constexpr Flags< RendererTerrainDirtyFlag, std::underlying_type_t< RendererTerrainDirtyFlag > > operator~ (RendererTerrainDirtyFlag a) noexcept
 
constexpr Flags< RendererComputePipelineFlag, std::underlying_type_t< RendererComputePipelineFlag > > operator| (RendererComputePipelineFlag a, RendererComputePipelineFlag b) noexcept
 
constexpr Flags< RendererComputePipelineFlag, std::underlying_type_t< RendererComputePipelineFlag > > operator& (RendererComputePipelineFlag a, RendererComputePipelineFlag b) noexcept
 
constexpr Flags< RendererComputePipelineFlag, std::underlying_type_t< RendererComputePipelineFlag > > operator~ (RendererComputePipelineFlag a) noexcept
 
constexpr Flags< RendererGraphicsPipelineFlag, std::underlying_type_t< RendererGraphicsPipelineFlag > > operator| (RendererGraphicsPipelineFlag a, RendererGraphicsPipelineFlag b) noexcept
 
constexpr Flags< RendererGraphicsPipelineFlag, std::underlying_type_t< RendererGraphicsPipelineFlag > > operator& (RendererGraphicsPipelineFlag a, RendererGraphicsPipelineFlag b) noexcept
 
constexpr Flags< RendererGraphicsPipelineFlag, std::underlying_type_t< RendererGraphicsPipelineFlag > > operator~ (RendererGraphicsPipelineFlag a) noexcept
 
constexpr Flags< RendererMeshFlag, std::underlying_type_t< RendererMeshFlag > > operator| (RendererMeshFlag a, RendererMeshFlag b) noexcept
 
constexpr Flags< RendererMeshFlag, std::underlying_type_t< RendererMeshFlag > > operator& (RendererMeshFlag a, RendererMeshFlag b) noexcept
 
constexpr Flags< RendererMeshFlag, std::underlying_type_t< RendererMeshFlag > > operator~ (RendererMeshFlag a) noexcept
 
constexpr Flags< RendererMeshDrawFlag, std::underlying_type_t< RendererMeshDrawFlag > > operator| (RendererMeshDrawFlag a, RendererMeshDrawFlag b) noexcept
 
constexpr Flags< RendererMeshDrawFlag, std::underlying_type_t< RendererMeshDrawFlag > > operator& (RendererMeshDrawFlag a, RendererMeshDrawFlag b) noexcept
 
constexpr Flags< RendererMeshDrawFlag, std::underlying_type_t< RendererMeshDrawFlag > > operator~ (RendererMeshDrawFlag a) noexcept
 
constexpr Flags< RendererShaderFlag, std::underlying_type_t< RendererShaderFlag > > operator| (RendererShaderFlag a, RendererShaderFlag b) noexcept
 
constexpr Flags< RendererShaderFlag, std::underlying_type_t< RendererShaderFlag > > operator& (RendererShaderFlag a, RendererShaderFlag b) noexcept
 
constexpr Flags< RendererShaderFlag, std::underlying_type_t< RendererShaderFlag > > operator~ (RendererShaderFlag a) noexcept
 
constexpr Flags< RendererTextureFlag, std::underlying_type_t< RendererTextureFlag > > operator| (RendererTextureFlag a, RendererTextureFlag b) noexcept
 
constexpr Flags< RendererTextureFlag, std::underlying_type_t< RendererTextureFlag > > operator& (RendererTextureFlag a, RendererTextureFlag b) noexcept
 
constexpr Flags< RendererTextureFlag, std::underlying_type_t< RendererTextureFlag > > operator~ (RendererTextureFlag a) noexcept
 
constexpr Flags< RendererTextureInternalFlag, std::underlying_type_t< RendererTextureInternalFlag > > operator| (RendererTextureInternalFlag a, RendererTextureInternalFlag b) noexcept
 
constexpr Flags< RendererTextureInternalFlag, std::underlying_type_t< RendererTextureInternalFlag > > operator& (RendererTextureInternalFlag a, RendererTextureInternalFlag b) noexcept
 
constexpr Flags< RendererTextureInternalFlag, std::underlying_type_t< RendererTextureInternalFlag > > operator~ (RendererTextureInternalFlag a) noexcept
 
template<typename T , typename... Args>
SPtr< TconstructResource (ResourceData &resourceData, Args &&... args)
 Constructs a new resource instance.
 
template<typename U1 , typename U2 >
bool operator== (const ResourceHandle< U1 > &lhs, const ResourceHandle< U2 > &rhs) noexcept
 
template<typename U1 , typename U2 >
bool operator!= (const ResourceHandle< U1 > &lhs, const ResourceHandle< U2 > &rhs) noexcept
 
template<typename U >
bool operator== (const ResourceHandle< U > &lhs, std::nullptr_t) noexcept
 
template<typename U >
bool operator== (std::nullptr_t, const ResourceHandle< U > &rhs) noexcept
 
template<typename U >
bool operator!= (const ResourceHandle< U > &lhs, std::nullptr_t) noexcept
 
template<typename U >
bool operator!= (std::nullptr_t, const ResourceHandle< U > &rhs) noexcept
 
template<typename U , typename V >
ResourceHandle< Ustatic_resource_cast (const ResourceHandle< V > &handle)
 
template<typename U , typename V >
ResourceHandle< Ustatic_resource_cast (ResourceHandle< V > &&handle)
 
template<typename U , typename V >
WeakResourceHandle< Ustatic_resource_cast (const WeakResourceHandle< V > &handle)
 
template<typename U , typename V >
WeakResourceHandle< Ustatic_resource_cast (WeakResourceHandle< V > &&handle)
 
constexpr Flags< ResourceStreamFlag, std::underlying_type_t< ResourceStreamFlag > > operator| (ResourceStreamFlag a, ResourceStreamFlag b) noexcept
 
constexpr Flags< ResourceStreamFlag, std::underlying_type_t< ResourceStreamFlag > > operator& (ResourceStreamFlag a, ResourceStreamFlag b) noexcept
 
constexpr Flags< ResourceStreamFlag, std::underlying_type_t< ResourceStreamFlag > > operator~ (ResourceStreamFlag a) noexcept
 
constexpr Flags< ResourceStreamReadFlag, std::underlying_type_t< ResourceStreamReadFlag > > operator| (ResourceStreamReadFlag a, ResourceStreamReadFlag b) noexcept
 
constexpr Flags< ResourceStreamReadFlag, std::underlying_type_t< ResourceStreamReadFlag > > operator& (ResourceStreamReadFlag a, ResourceStreamReadFlag b) noexcept
 
constexpr Flags< ResourceStreamReadFlag, std::underlying_type_t< ResourceStreamReadFlag > > operator~ (ResourceStreamReadFlag a) noexcept
 
constexpr Flags< ResourceStreamWriteFlag, std::underlying_type_t< ResourceStreamWriteFlag > > operator| (ResourceStreamWriteFlag a, ResourceStreamWriteFlag b) noexcept
 
constexpr Flags< ResourceStreamWriteFlag, std::underlying_type_t< ResourceStreamWriteFlag > > operator& (ResourceStreamWriteFlag a, ResourceStreamWriteFlag b) noexcept
 
constexpr Flags< ResourceStreamWriteFlag, std::underlying_type_t< ResourceStreamWriteFlag > > operator~ (ResourceStreamWriteFlag a) noexcept
 
auto move (Vector3 position)
 Moves a entity to the given position.
 
auto scale (Vector3 scale)
 Applies a scale to the entity.
 
auto rotate (Vector3 rotation)
 Rotates the entity.
 
auto parent (const Entity &parent)
 Sets the entity parent.
 
template<Equatable A, Equatable B>
bool operator!= (const A &lhs, const B &rhs)
 
constexpr Flags< TextLayoutManagerState, std::underlying_type_t< TextLayoutManagerState > > operator| (TextLayoutManagerState a, TextLayoutManagerState b) noexcept
 
constexpr Flags< TextLayoutManagerState, std::underlying_type_t< TextLayoutManagerState > > operator& (TextLayoutManagerState a, TextLayoutManagerState b) noexcept
 
constexpr Flags< TextLayoutManagerState, std::underlying_type_t< TextLayoutManagerState > > operator~ (TextLayoutManagerState a) noexcept
 
StringView toString (Format format)
 
constexpr Flags< UICheckboxState, std::underlying_type_t< UICheckboxState > > operator| (UICheckboxState a, UICheckboxState b) noexcept
 
constexpr Flags< UICheckboxState, std::underlying_type_t< UICheckboxState > > operator& (UICheckboxState a, UICheckboxState b) noexcept
 
constexpr Flags< UICheckboxState, std::underlying_type_t< UICheckboxState > > operator~ (UICheckboxState a) noexcept
 
std::ostream & operator<< (std::ostream &os, const UIControl::State &state)
 
constexpr Flags< UIModifierKey, std::underlying_type_t< UIModifierKey > > operator| (UIModifierKey a, UIModifierKey b) noexcept
 
constexpr Flags< UIModifierKey, std::underlying_type_t< UIModifierKey > > operator& (UIModifierKey a, UIModifierKey b) noexcept
 
constexpr Flags< UIModifierKey, std::underlying_type_t< UIModifierKey > > operator~ (UIModifierKey a) noexcept
 
std::ostream & operator<< (std::ostream &os, UIStackView::Orientation value)
 
std::ostream & operator<< (std::ostream &os, UIStackView::Alignment value)
 
std::ostream & operator<< (std::ostream &os, UIStackView::Distribution value)
 
template<typename MemberPtr , typename T , typename... Args>
void broadcast (MemberPtr &&member, const Vector< T > &list, Args &&... args)
 Helper function that calls MemberPtr on all elements in list.
 
template<typename MemberPtr , typename T , typename... Args>
auto broadcastIf (MemberPtr &&member, const Vector< T > &list, Args &&... args)
 Helper function that calls MemberPtr on all elements in list.
 
constexpr Flags< UIViewState, std::underlying_type_t< UIViewState > > operator| (UIViewState a, UIViewState b) noexcept
 
constexpr Flags< UIViewState, std::underlying_type_t< UIViewState > > operator& (UIViewState a, UIViewState b) noexcept
 
constexpr Flags< UIViewState, std::underlying_type_t< UIViewState > > operator~ (UIViewState a) noexcept
 
constexpr Flags< UIViewAutoResizing, std::underlying_type_t< UIViewAutoResizing > > operator| (UIViewAutoResizing a, UIViewAutoResizing b) noexcept
 
constexpr Flags< UIViewAutoResizing, std::underlying_type_t< UIViewAutoResizing > > operator& (UIViewAutoResizing a, UIViewAutoResizing b) noexcept
 
constexpr Flags< UIViewAutoResizing, std::underlying_type_t< UIViewAutoResizing > > operator~ (UIViewAutoResizing a) noexcept
 
constexpr Flags< UIWindowState, std::underlying_type_t< UIWindowState > > operator| (UIWindowState a, UIWindowState b) noexcept
 
constexpr Flags< UIWindowState, std::underlying_type_t< UIWindowState > > operator& (UIWindowState a, UIWindowState b) noexcept
 
constexpr Flags< UIWindowState, std::underlying_type_t< UIWindowState > > operator~ (UIWindowState a) noexcept
 

Variables

LPALCCREATECONTEXT alcCreateContext
 
LPALCMAKECONTEXTCURRENT alcMakeContextCurrent
 
LPALCPROCESSCONTEXT alcProcessContext
 
LPALCSUSPENDCONTEXT alcSuspendContext
 
LPALCDESTROYCONTEXT alcDestroyContext
 
LPALCGETCURRENTCONTEXT alcGetCurrentContext
 
LPALCGETCONTEXTSDEVICE alcGetContextsDevice
 
LPALCOPENDEVICE alcOpenDevice
 
LPALCCLOSEDEVICE alcCloseDevice
 
LPALCGETERROR alcGetError
 
LPALCISEXTENSIONPRESENT alcIsExtensionPresent
 
LPALCGETPROCADDRESS alcGetProcAddress
 
LPALCGETENUMVALUE alcGetEnumValue
 
LPALCGETSTRING alcGetString
 
LPALCGETINTEGERV alcGetIntegerv
 
LPALCCAPTUREOPENDEVICE alcCaptureOpenDevice
 
LPALCCAPTURECLOSEDEVICE alcCaptureCloseDevice
 
LPALCCAPTURESTART alcCaptureStart
 
LPALCCAPTURESTOP alcCaptureStop
 
LPALCCAPTURESAMPLES alcCaptureSamples
 
LPALENABLE alEnable
 
LPALDISABLE alDisable
 
LPALISENABLED alIsEnabled
 
LPALGETSTRING alGetString
 
LPALGETBOOLEANV alGetBooleanv
 
LPALGETINTEGERV alGetIntegerv
 
LPALGETFLOATV alGetFloatv
 
LPALGETDOUBLEV alGetDoublev
 
LPALGETBOOLEAN alGetBoolean
 
LPALGETINTEGER alGetInteger
 
LPALGETFLOAT alGetFloat
 
LPALGETDOUBLE alGetDouble
 
LPALGETERROR alGetError
 
LPALISEXTENSIONPRESENT alIsExtensionPresent
 
LPALGETPROCADDRESS alGetProcAddress
 
LPALGETENUMVALUE alGetEnumValue
 
LPALLISTENERF alListenerf
 
LPALLISTENER3F alListener3f
 
LPALLISTENERFV alListenerfv
 
LPALLISTENERI alListeneri
 
LPALLISTENER3I alListener3i
 
LPALLISTENERIV alListeneriv
 
LPALGETLISTENERF alGetListenerf
 
LPALGETLISTENER3F alGetListener3f
 
LPALGETLISTENERFV alGetListenerfv
 
LPALGETLISTENERI alGetListeneri
 
LPALGETLISTENER3I alGetListener3i
 
LPALGETLISTENERIV alGetListeneriv
 
LPALGENSOURCES alGenSources
 
LPALDELETESOURCES alDeleteSources
 
LPALISSOURCE alIsSource
 
LPALSOURCEF alSourcef
 
LPALSOURCE3F alSource3f
 
LPALSOURCEFV alSourcefv
 
LPALSOURCEI alSourcei
 
LPALSOURCE3I alSource3i
 
LPALSOURCEIV alSourceiv
 
LPALGETSOURCEF alGetSourcef
 
LPALGETSOURCE3F alGetSource3f
 
LPALGETSOURCEFV alGetSourcefv
 
LPALGETSOURCEI alGetSourcei
 
LPALGETSOURCE3I alGetSource3i
 
LPALGETSOURCEIV alGetSourceiv
 
LPALSOURCEPLAYV alSourcePlayv
 
LPALSOURCESTOPV alSourceStopv
 
LPALSOURCEREWINDV alSourceRewindv
 
LPALSOURCEPAUSEV alSourcePausev
 
LPALSOURCEPLAY alSourcePlay
 
LPALSOURCESTOP alSourceStop
 
LPALSOURCEREWIND alSourceRewind
 
LPALSOURCEPAUSE alSourcePause
 
LPALSOURCEQUEUEBUFFERS alSourceQueueBuffers
 
LPALSOURCEUNQUEUEBUFFERS alSourceUnqueueBuffers
 
LPALGENBUFFERS alGenBuffers
 
LPALDELETEBUFFERS alDeleteBuffers
 
LPALISBUFFER alIsBuffer
 
LPALBUFFERDATA alBufferData
 
LPALBUFFERF alBufferf
 
LPALBUFFER3F alBuffer3f
 
LPALBUFFERFV alBufferfv
 
LPALBUFFERI alBufferi
 
LPALBUFFER3I alBuffer3i
 
LPALBUFFERIV alBufferiv
 
LPALGETBUFFERF alGetBufferf
 
LPALGETBUFFER3F alGetBuffer3f
 
LPALGETBUFFERFV alGetBufferfv
 
LPALGETBUFFERI alGetBufferi
 
LPALGETBUFFER3I alGetBuffer3i
 
LPALGETBUFFERIV alGetBufferiv
 
LPALDOPPLERFACTOR alDopplerFactor
 
LPALDOPPLERVELOCITY alDopplerVelocity
 
LPALSPEEDOFSOUND alSpeedOfSound
 
LPALDISTANCEMODEL alDistanceModel
 
template<typename A >
constexpr bool isEntityAction = std::is_base_of<AbstractEntityAction, A>::value
 A trait that checks if the type C is a action.
 
template<typename... As>
constexpr bool areEntityActions = (isEntityAction<As> && ...)
 A trait that checks if the types As are all actions.
 
template<typename C >
constexpr bool isComponent = std::is_base_of<AbstractComponent, C>::value
 A trait that checks if the type C is a component.
 
template<typename... Cs>
constexpr bool areComponents = (isComponent<Cs> && ...)
 A trait that checks if the types Cs are all components.
 
template<typename E >
constexpr bool isEntityObject
 A trait that checks if the type E is a entity object.
 
template<typename... Es>
constexpr bool areEntityObjects = (isEntityObject<Es> && ...)
 A trait that checks if the types Es are all entity objects.
 
template<typename E >
constexpr bool isEntityEvent = std::is_base_of<AbstractEntityEvent, E>::value
 A trait that checks if the type E is a event.
 
template<typename... Es>
constexpr bool areEntityEvents = (isEntityEvent<Es> && ...)
 A trait that checks if the types Es are all events.
 
template<typename S >
constexpr bool isSystem = std::is_base_of<AbstractSystem, S>::value
 A trait that checks if the type S is a system.
 
template<typename... Ss>
constexpr bool areSystems = (isSystem<Ss> && ...)
 A trait that checks if the types Ss are all systems.
 
constexpr AllOfAlgorithmFunctor all_of
 Checks if a predicate is true for all the elements in a range.
 
constexpr AnyOfAlgorithmFunctor any_of
 Checks if a predicate is true for any of the elements in a range.
 
constexpr CountAlgorithmFunctor count
 Returns the number of elements matching an element.
 
constexpr CountIfAlgorithmFunctor count_if
 Returns the number of elements satisfying specific criteria.
 
constexpr FindAlgorithmFunctor find
 Finds the first element equal to another element.
 
constexpr FindIfAlgorithmFunctor find_if
 Finds the first element satisfying specific criteria.
 
constexpr FindIfNotAlgorithmFunctor find_if_not
 Finds the first element not satisfying specific criteria.
 
constexpr ForEachAlgorithmFunctor for_each
 Applies a function to a range of elements.
 
constexpr NoneOfAlgorithmFunctor none_of
 Checks if a predicate is true for none of the elements in a range.
 
constexpr ReduceAlgorithmFunctor reduce
 Sums up (or accumulate with a custom function) a range of elements, except out of order.
 
constexpr cti::use_continuable_raw_t useContinuable {}
 Special value for instance of use_continuable_raw_t which doesn't perform remapping of asio error codes and rethrows the raw error code.
 
constexpr std::size_t kStreamPolySize = sizeof(void*) * 8
 The size used by Stream and other polymorphic types for small object optimization.
 
template<class I , class C >
decltype(&*std::declval< I >() found )(const I &it, C &container)
 Returns a pointer to the value if found, otherwise nullptr.
 
template<typename Type , typename... Arguments>
constexpr bool is_explicitly_constructible = impl::is_explicitly_constructible_t<Type, Arguments...>::value
 A type trait type that checks if Type is explicitly constructible from Arguments.
 
template<typename Type , typename... Arguments>
constexpr bool is_implicitly_constructible = impl::is_implicitly_constructible_t<Type, Arguments...>::value
 A type trait type that checks if Type is implicitly constructible from Arguments.
 
template<typename T >
constexpr auto size_of = size_of_t<T>::value
 
template<typename T >
constexpr auto pointer_arity = pointer_arity_t<T>::value
 
template<typename T >
constexpr auto array_length = array_length_t<T>::value
 
template<typename T , typename... Args>
constexpr auto is_converting_constructor = is_converting_constructor_t<T, Args...>::value
 
template<typename T >
constexpr auto is_lvalue_const_reference = std::is_lvalue_reference_v<T>&& std::is_const_v<std::remove_reference_t<T>>
 
template<typename A >
constexpr bool isNetworkAction = std::is_base_of<AbstractNetworkAction, A>::value
 A trait that checks if the type A is a network action.
 
template<typename... As>
constexpr bool areNetworkActions = (isNetworkAction<As> && ...)
 A trait that checks if the types As are all actions.
 
template<typename A >
constexpr bool isNetworkEvent = std::is_base_of<AbstractNetworkEvent, A>::value
 A trait that checks if the type A is a network event.
 
template<typename... As>
constexpr bool areNetworkEvents = (isNetworkEvent<As> && ...)
 A trait that checks if the types As are all events.
 
constexpr auto ConstructorSignature = "constructor"
 
constexpr auto DefaultConstructorSignature = "defaultConstructor"
 
constexpr auto CopyConstructorSignature = "copyConstructor"
 
constexpr auto MoveConstructorSignature = "moveConstructor"
 
struct CeresEngine::GLState state
 
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr
 
PFN_vkCreateInstance vkCreateInstance
 
PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties
 
PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties
 
const BC< 1 > bc1
 Compresses the texture using DXT1.
 
const BC< 1 > dxt1
 
const BC< 3 > bc3
 Compresses the texture using DXT5.
 
const BC< 3 > dxt5
 
const BC< 4 > bc4
 Compresses the texture using BC4.
 
const BC< 5 > bc5
 Compresses the texture using BC5.
 
const UIRect UIRectZero
 A zero UI rectangle.
 
const UISize UILayoutFittingCompressedSize
 The option to use the smallest possible size.
 
const UISize UILayoutFittingExpandedSize
 The option to use the largest possible size.
 

Typedef Documentation

◆ AlignedAllocator

template<class RawAllocator >
using CeresEngine::AlignedAllocator = typedef foonathan::memory::aligned_allocator<RawAllocator>

◆ AllocatorAdapter

template<class RawAllocator >
using CeresEngine::AllocatorAdapter = typedef foonathan::memory::allocator_adapter<RawAllocator>

◆ AllocatorDeallocator

using CeresEngine::AllocatorDeallocator = typedef foonathan::memory::allocator_deallocator<Type, RawAllocator>

◆ AllocatorDeleter

using CeresEngine::AllocatorDeleter = typedef foonathan::memory::allocator_deleter<Type, RawAllocator>

◆ AllocatorInfo

using CeresEngine::AllocatorInfo = typedef foonathan::memory::allocator_info

◆ AllocatorPolymorphicDeallocator

using CeresEngine::AllocatorPolymorphicDeallocator = typedef foonathan::memory::allocator_polymorphic_deallocator<BaseType, RawAllocator>

◆ AllocatorPolymorphicDeleter

using CeresEngine::AllocatorPolymorphicDeleter = typedef foonathan::memory::allocator_polymorphic_deleter<BaseType, RawAllocator>

◆ AllocatorReference

template<class RawAllocator >
using CeresEngine::AllocatorReference = typedef foonathan::memory::allocator_reference<RawAllocator>

◆ AllocatorStorage

using CeresEngine::AllocatorStorage = typedef foonathan::memory::allocator_storage<StoragePolicy, Mutex>

◆ AllocatorTraits

template<typename Allocator >
using CeresEngine::AllocatorTraits = typedef foonathan::memory::allocator_traits<Allocator>

◆ AnyAllocator

using CeresEngine::AnyAllocator = typedef foonathan::memory::any_allocator

◆ AnyAllocatorReference

using CeresEngine::AnyAllocatorReference = typedef foonathan::memory::any_allocator_reference

◆ AnyExecutor

◆ AnyExecutorBase

template<typename... Properties>
using CeresEngine::AnyExecutorBase = typedef asio::execution::any_executor< Properties..., ExecutorPreferOnly<ExecutorPriority>, ExecutorPreferOnly<ExecutorBlocking::possibly_t>, ExecutorPreferOnly<ExecutorBlocking::never_t>, ExecutorPreferOnly<ExecutorOutstandingWork::tracked_t>, ExecutorPreferOnly<ExecutorOutstandingWork::untracked_t>, ExecutorPreferOnly<ExecutorRelationship::fork_t>, ExecutorPreferOnly<ExecutorRelationship::continuation_t>, ExecutorPreferOnly<ExecutorBulkGuarantee::parallel_t>, ExecutorPreferOnly<ExecutorBulkGuarantee::sequenced_t>, ExecutorPreferOnly<ExecutorBulkGuarantee::unsequenced_t> >

◆ AnyIOExecutor

using CeresEngine::AnyIOExecutor = typedef TAnyExecutor<ExecutorExecutionContextAs<asio::execution_context&>, ExecutorBlocking::never_t>

◆ AnyStdAllocator

template<typename T >
using CeresEngine::AnyStdAllocator = typedef foonathan::memory::any_std_allocator<T>

◆ Array

template<typename T , std::size_t N>
using CeresEngine::Array = typedef std::array<T, N>

Array is a container that encapsulates fixed size arrays.

◆ ArrayPool

using CeresEngine::ArrayPool = typedef foonathan::memory::array_pool

◆ Async

template<typename... Args>
using CeresEngine::Async = typedef cti::continuable<Args...>

Defines a non-copyable continuation type which uses the function2 backend for type erasure.

Usable like: Async<int, float>

◆ AsyncMutex

A mutex that can be locked asynchronously using 'co_await'.

Ownership of the mutex is not tied to any particular thread. This allows the coroutine owning the lock to transition from one thread to another while holding a lock.

Implementation is lock-free, using only std::atomic values for synchronisation. Awaiting coroutines are suspended without blocking the current thread if the lock could not be acquired synchronously.

◆ AsyncResult

template<typename... Args>
using CeresEngine::AsyncResult = typedef cti::result<Args...>

The result class can carry the three kinds of results an asynchronous operation possibly can return, it's implemented in a variant like data structure which is also specialized to hold arbitrary arguments.

The result can be in the following three states:

  • no result: If the operation didn't finish
  • a value: If the operation finished successfully
  • an exception: If the operation finished with an exception or was cancelled.

The interface of the result object is similar to the one proposed in the std::expected proposal:

result result = make_result("Hello World!");
result.is_value();
result.is_exception();
*result; // Same as result.get_value() result.get_value();
result.get_exception();
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25

◆ AsyncSharedMutex

◆ Atomic

template<typename T >
using CeresEngine::Atomic = typedef std::atomic<T>

The Atomic template defines an atomic type.

If one thread writes to an atomic object while another thread reads from it, the behavior is well- defined.

◆ AtomicFlag

AtomicFlag is an atomic boolean type.

Unlike all specializations of Atomic, it is guaranteed to be lock-free. Unlike Atomic<bool>, AtomicFlag does not provide load or store operations.

◆ AudioAPIBufferPtr

◆ AudioAPIDevicePtr

◆ AudioAPIListenerPtr

◆ AudioAPIPtr

◆ AudioAPISourcePtr

◆ AudioListener

Represents a listener that hears audio sources.

For spatial audio the volume and pitch of played audio is determined by the distance, orientation and velocity differences between the source and the listener.

◆ AudioSource

Represents a source for emitting audio.

Audio can be played spatially (gun shot), or normally (music). Each audio source must have an AudioClip to play-back, and it can also have a position in the case of spatial (3D) audio.

Whether or not an audio source is spatial is controlled by the assigned AudioClip. The volume and the pitch of a spatial audio source is controlled by its position and the AudioListener's position/direction/velocity.

◆ BadAlignmentError

using CeresEngine::BadAlignmentError = typedef foonathan::memory::bad_alignment

◆ BadAllocationSizeError

using CeresEngine::BadAllocationSizeError = typedef foonathan::memory::bad_allocation_size

◆ BadArraySizeError

using CeresEngine::BadArraySizeError = typedef foonathan::memory::bad_array_size

◆ BadFunctionCall

using CeresEngine::BadFunctionCall = typedef fu2::bad_function_call

Exception type that is thrown when invoking empty function objects and exception support isn't disabled.

Exception support is enabled if the template parameter 'Throwing' is set to true (default).

◆ BadNodeSizeError

using CeresEngine::BadNodeSizeError = typedef foonathan::memory::bad_node_size

◆ BasicInputStringStream

template<typename T , typename RawAllocator = DefaultAllocator>
using CeresEngine::BasicInputStringStream = typedef std::basic_istringstream<T, std::char_traits<T>, StdAllocator<T, RawAllocator> >

Basic output string stream that uses framework's memory allocators.

◆ BasicJSON

template<typename RawAllocator = DefaultAllocator>
using CeresEngine::BasicJSON = typedef nlohmann::json

◆ BasicOutputStringStream

template<typename T , typename RawAllocator = DefaultAllocator>
using CeresEngine::BasicOutputStringStream = typedef std::basic_ostringstream<T, std::char_traits<T>, StdAllocator<T, RawAllocator> >

Basic output string stream that uses framework's memory allocators.

◆ BasicStringStream

template<typename T , typename RawAllocator = DefaultAllocator>
using CeresEngine::BasicStringStream = typedef std::basic_stringstream<T, std::char_traits<T>, StdAllocator<T, RawAllocator> >

Basic string stream that uses framework's memory allocators.

◆ BinarySegregator

◆ BitmapData

A type that represents a bitmap data.

◆ BitmapExtent

A type that represents the extents of a bitmap.

◆ BitmapResource

◆ BitSet

template<size_t N>
using CeresEngine::BitSet = typedef std::bitset<N>

BitSet represents a fixed-size sequence of N bits.

Bitsets can be manipulated by standard logic operators and converted to and from strings and integers.

Template Parameters
NThe number of bits to allocate storage for.

◆ BlockingConcurrentQueue

template<typename T , typename Traits = moodycamel::ConcurrentQueueDefaultTraits>
using CeresEngine::BlockingConcurrentQueue = typedef moodycamel::BlockingConcurrentQueue<T, Traits>

◆ Bool

◆ BucketAllocator

template<class PoolType = NodePool, class BlockOrRawAllocator = DefaultAllocator>
using CeresEngine::BucketAllocator = typedef foonathan::memory::bucket_allocator<PoolType, BlockOrRawAllocator>

◆ BufferInput

An input slot that represents a buffer.

An alias to an input that references a buffer.

◆ BufferOutput

An output slot that represents a buffer.

An alias to an output that references a buffer.

◆ BufferRenderResourceRef

◆ ButtonSet

A type that represents a set of buttons.

◆ ByteBuffer

◆ ByteMemoryView

A memory view that views elements as raw-bytes.

◆ ByteStridedMemoryView

A strided memory view that views elements as raw-bytes.

◆ CESLShaderPtr

◆ CharRange

◆ CiBasicString

Basic case-insensitive string that uses framework's memory allocators.

◆ CiBasicStringView

Basic case-insensitive string view.

◆ CiString

Narrow case-insensitive string used for handling narrow encoded text (either locale specific ANSI or UTF-8).

◆ CiStringView

Narrow case-insensitive string view used for handling narrow encoded text (either locale specific ANSI or UTF-8).

◆ CiU16String

Wide case-insensitive string used UTF-16 encoded strings.

◆ CiU16StringView

Wide case-insensitive string view used UTF-16 encoded strings.

◆ CiU32String

Wide case-insensitive string used UTF-32 encoded strings.

◆ CiU32StringView

Wide case-insensitive string view used UTF-32 encoded strings.

◆ CiWString

Wide case-insensitive string used primarily for handling Unicode text (UTF-32 on Linux, UTF-16 on Windows, generally).

◆ CiWStringView

Wide case-insensitive string view used primarily for handling Unicode text (UTF-32 on Linux, UTF-16 on Windows, generally).

◆ ColorMaterialProperty

A material property with an associated Color value and texture.

◆ ColorMaterialPropertySwizzle

A material property swizzle for a Color property.

◆ CommandLineArguments

◆ CommandLineInterface

◆ CommandLineOption

◆ CompactVector

template<typename T , typename RawAllocator = DefaultAllocator>
using CeresEngine::CompactVector = typedef sfl::compact_vector<T, StdAllocator<T, RawAllocator> >

CompactVector is a sequence container similar to Vector.

The main difference is that CompactVector always has capacity() equal to size(). This container reallocates storage every time an element is inserted or removed such that capacity becomes equal to the size. This behavior cannot be changed, capacity() is always equal to size(). That means insertion and removal are very inefficient. Every insertion or removal requires storage reallocation.

◆ ComponentDirtyFlags

◆ ComponentID

A numeric type that represents a component.

Used as index when accessing the ComponentMask.

◆ ComponentMask

A bitset that represents a components mask (i.e. a set of components)

◆ ComposableAllocatorTraits

template<typename Allocator >
using CeresEngine::ComposableAllocatorTraits = typedef foonathan::memory::composable_allocator_traits<Allocator>

◆ ConcurrentQueue

template<typename T , typename Traits = moodycamel::ConcurrentQueueDefaultTraits>
using CeresEngine::ConcurrentQueue = typedef moodycamel::ConcurrentQueue<T, Traits>

◆ ConditionVariable

using CeresEngine::ConditionVariable = typedef std::condition_variable

The condition_variable class is a synchronization primitive that can be used to block a thread, or multiple threads at the same time, until another thread both modifies a shared variable (the condition), and notifies the condition_variable.

The thread that intends to modify the variable has to:

  • acquire a Mutex (typically via Lock);
  • perform the modification while the lock is held;
  • execute notify_one or notify_all on the ConditionVariable (the lock does not need to be held for notification)

Even if the shared variable is atomic, it must be modified under the mutex in order to correctly publish the modification to the waiting thread.

Any thread that intends to wait on ConditionVariable has to:

  • acquire a Lock<Mutex>, on the same mutex as used to protect the shared variable

Then either

  • check the condition, in case it was already updated and notified
  • execute wait, wait_for, or wait_until. The wait operations atomically release the mutex and suspend the execution of the thread.
  • When the condition variable is notified, a timeout expires, or a spurious wakeup occurs, the thread is awakened, and the mutex is atomically reacquired. The thread should then check the condition and resume waiting if the wake up was spurious.

or

  • use the predicated overload of wait, wait_for, and wait_until, which takes care of the three steps above

Condition variables permit concurrent invocation of the wait, wait_for, wait_until, notify_one and notify_all member functions.

The class ConditionVariable is a StandardLayoutType. It is not CopyConstructible, MoveConstructible, CopyAssignable, or MoveAssignable.

◆ ConnectionPtr

◆ ConstIndexBufferView

◆ ConstIndexData

◆ ConstPixelData

◆ ConstRawIndexBufferView

◆ ConstRawVertexBufferView

◆ ConstVertexBufferView

◆ ConstVertexData

◆ ConsumerToken

using CeresEngine::ConsumerToken = typedef moodycamel::ConsumerToken

◆ CoroutineHandle

template<typename T = void>
using CeresEngine::CoroutineHandle = typedef std::coroutine_handle<T>

A type alias to the C++ standard library coroutine handle.

◆ CoroutineTraits

template<typename T >
using CeresEngine::CoroutineTraits = typedef std::coroutine_traits<T>

A type alias to the C++ standard library coroutine traits.

◆ CoW

A copy-on-write pointer type that shares a single instance of an object when copied but allows.

Template Parameters
T

◆ CustomDeserializer

A type alias to a function signature that implements a custom deserializer.

The deserializer must be compatible with the corresponding serializer.

◆ CustomSerializer

A type alias to a function signature that implements a custom serializer.

The serializer must be compatible with the corresponding deserializer.

◆ Date

Represents a point in time.

It is implemented as if it stores a value of type Duration indicating the time interval from the start of the Clock's epoch.

◆ Days

using CeresEngine::Days = typedef TTimeInterval<TimeInterval::rep, std::ratio<86400> >

A time duration with days.

◆ DebugMessageCallback

Callback interface function that is used whenever the renderer receives a debug message.

Remarks
The contents and usage of this callback is renderer defined.
Parameters
typeThe debug message type
messageThe debug message contents
Returns
true to terminate app execution, false to continue if possible.

◆ DeeplyTrackedBlockAllocator

using CeresEngine::DeeplyTrackedBlockAllocator = typedef foonathan::memory::deeply_tracked_block_allocator<Tracker, BlockOrRawAllocator>

◆ DefaultExecutor

The default executor to be used when no other executor is provided.

◆ DefaultPartitioner

Default partitioner used by parallel algorithms.

Its type and parameters might change

◆ DefaultStringDatabase

The default database where the strings are stored.

Note
Its exact type is one of the previous listed databases.

◆ Deque

Deque (double-ended queue) is an indexed sequence container that allows fast insertion and deletion at both its beginning and its end.

In addition, insertion and deletion at either end of a deque never invalidates pointers or references to the rest of the elements.

◆ DeserializerConstructor

◆ DeserializerPropertyMigrator

Represents the signature of the function that performs migration of an abandoned serialized property.

◆ DevicePickerFunc

Callback interface for the createDevice method.

Returns
true to select the device, false to reject it and try the next
See also
Device::createDevice

◆ DirectStorage

template<class RawAllocator >
using CeresEngine::DirectStorage = typedef foonathan::memory::direct_storage<RawAllocator>

◆ Double

◆ DoubleFrameAllocator

template<class BlockOrRawAllocator = DefaultAllocator>
using CeresEngine::DoubleFrameAllocator = typedef foonathan::memory::double_frame_allocator<BlockOrRawAllocator>

◆ DoubleMaterialProperty

A material property with an associated float value and texture.

◆ DoubleMaterialPropertySwizzle

A material property swizzle for a double property.

◆ EntityActionID

A numeric type that represents a action.

◆ EntityDirtyFlags

◆ EntityEventID

A numeric type that represents a event.

Used internally to uniquely identify events by their type.

◆ EntityIndex

◆ EntityVersion

◆ Event

Event type that is safe to use in multithreaded environments, where the event and slots exists in different threads.

The multithreaded policy provides mutexes and locks to synchronize access to the events internals.

This is the recommended event type, even for single threaded environments.

◆ ExecutorAllocator

template<typename T >
using CeresEngine::ExecutorAllocator = typedef asio::execution::allocator_t<T>

◆ ExecutorBlocking

using CeresEngine::ExecutorBlocking = typedef asio::execution::blocking_t

◆ ExecutorBulkGuarantee

using CeresEngine::ExecutorBulkGuarantee = typedef asio::execution::bulk_guarantee_t

◆ ExecutorExecutionContext

using CeresEngine::ExecutorExecutionContext = typedef asio::execution::context_t

◆ ExecutorExecutionContextAs

template<typename T >
using CeresEngine::ExecutorExecutionContextAs = typedef asio::execution::context_as_t<T>

◆ ExecutorMapping

using CeresEngine::ExecutorMapping = typedef asio::execution::mapping_t

◆ ExecutorOccupancy

using CeresEngine::ExecutorOccupancy = typedef asio::execution::occupancy_t

◆ ExecutorOutstandingWork

using CeresEngine::ExecutorOutstandingWork = typedef asio::execution::outstanding_work_t

◆ ExecutorPreferOnly

template<typename Property >
using CeresEngine::ExecutorPreferOnly = typedef asio::execution::prefer_only<Property>

◆ ExecutorRelationship

using CeresEngine::ExecutorRelationship = typedef asio::execution::relationship_t

◆ ExecutorWorkGuard

◆ FallbackAllocator

template<class Default , class Fallback >
using CeresEngine::FallbackAllocator = typedef foonathan::memory::fallback_allocator<Default, Fallback>

◆ FileEvents

Type of event on the file system.

◆ FileURLRequest

◆ FileURLResponse

◆ FixedBlockAllocator

template<class RawAllocator = DefaultAllocator>
using CeresEngine::FixedBlockAllocator = typedef foonathan::memory::fixed_block_allocator<RawAllocator>

◆ Float

◆ FloatMaterialProperty

A material property with an associated float value and texture.

◆ FloatMaterialPropertySwizzle

A material property swizzle for a float property.

◆ FontPtr

◆ FontSize

◆ ForwardList

ForwardList is a container that supports fast insertion and removal of elements from anywhere in the container.

Fast random access is not supported. It is implemented as a singly-linked list and essentially does not have any overhead compared to its implementation in C. Compared to List this container provides more space efficient storage when bidirectional iteration is not needed.

◆ full_decay

◆ Function

template<typename... Signatures>
using CeresEngine::Function = typedef FunctionBase<true, true, fu2::capacity_default, true, false, Signatures...>

An owning copyable function wrapper for arbitrary callable types.

◆ function_type

template<typename F >
using CeresEngine::function_type = typedef std::function<typename function_traits<F>::base_signature>

◆ FunctionBase

template<bool IsOwning, bool IsCopyable, typename Capacity , bool IsThrowing, bool HasStrongExceptGuarantee, typename... Signatures>
using CeresEngine::FunctionBase = typedef fu2::function_base<IsOwning, IsCopyable, Capacity, IsThrowing, HasStrongExceptGuarantee, Signatures...>

An adaptable function wrapper base for arbitrary functional types.

Template Parameters
IsOwningIs true when the type erasure shall be owning the object.
IsCopyableDefines whether the function is copyable or not
CapacityDefines the internal capacity of the function for small functor optimization. The size of the whole function object will be the capacity plus the size of two pointers. If the capacity is zero, the size will increase through one additional pointer so the whole object has the size of 3 * sizeof(void*). The type which is passed to the Capacity template parameter shall provide a capacity and alignment member which looks like the following example:
struct MyCapacity {
static constexpr std::size_t capacity = sizeof(my_type);
static constexpr std::size_t alignment = alignof(my_type);
};
IsThrowingDefines whether the function throws an exception on empty function call, std::abort is called otherwise.
HasStrongExceptGuaranteeDefines whether all objects satisfy the strong exception guarantees, which means the function type will satisfy the strong exception guarantees too.
SignaturesDefines the signature of the callable wrapper

◆ FunctionView

template<typename... Signatures>
using CeresEngine::FunctionView = typedef FunctionBase<false, true, fu2::capacity_default, true, false, Signatures...>

A non owning copyable function wrapper for arbitrary callable types.

◆ GLBufferPtr

◆ GLCommandBufferPtr

◆ GLCommandQueuePtr

◆ GLComputePipelinePtr

◆ GLDevicePtr

◆ GLFencePtr

◆ GLGraphicsPipelinePtr

◆ GLImagePtr

◆ GLImageViewPtr

◆ GLLoaderFunc

◆ GLOcclusionQueryPtr

◆ GLPipelineLayoutPtr

◆ GLRenderPassPtr

◆ GLRenderTargetPtr

◆ GLResourceSetPtr

◆ GLSamplerPtr

◆ GLShaderProgramPtr

◆ GLShaderPtr

◆ GLSLShaderPtr

◆ GLSwapchainPtr

◆ GLTimerQueryPtr

◆ Glyph

◆ GPUBindlessBufferPool

A dynamic bindless buffer pool.

Allows allocation of variable size bindless objects. All allocated objects are properly aligned as required by the device.

◆ GPUBufferData

A pointer type that represents the buffer raw data.

◆ GPUBufferPtr

◆ GPUBufferSize

A type that represents a buffer size.

◆ GPUBufferUsage

◆ GPUCommandBufferPtr

◆ GPUCommandQueuePtr

◆ GPUComputePipelinePtr

◆ GPUDescriptorType

◆ GPUDevicePtr

◆ GPUDynamicBindlessBuffer

◆ GPUDynamicBindlessBufferArray

A GPUDynamicBuffer specialization that creates a dynamic GPUBindlessBuffer.

◆ GPUDynamicIndexBuffer

◆ GPUDynamicIndirectBuffer

◆ GPUDynamicIndirectBufferArray

A GPUDynamicBuffer specialization that creates a dynamic GPUIndirectBuffer.

◆ GPUDynamicStorageBuffer

◆ GPUDynamicStorageBufferArray

A GPUDynamicBuffer specialization that creates a dynamic GPUStorageBuffer.

◆ GPUDynamicStridedBindlessBufferArray

◆ GPUDynamicStridedIndexBuffer

◆ GPUDynamicStridedIndirectBufferArray

◆ GPUDynamicStridedStorageBufferArray

◆ GPUDynamicStridedUniformBufferArray

◆ GPUDynamicStridedVertexBuffer

◆ GPUDynamicUniformBuffer

◆ GPUDynamicUniformBufferArray

A GPUDynamicBuffer specialization that creates a dynamic GPUUniformBuffer.

◆ GPUDynamicVertexBuffer

◆ GPUFencePtr

◆ GPUGraphicsPipelinePtr

◆ GPUImagePtr

◆ GPUImageUsage

◆ GPUImageViewPtr

◆ GPUIndirectBufferPool

Generates a hash for the provided type.

Type must have a std::hash specialization.

Template Parameters
Tthe type to be hashed
Parameters
vThe value to be hashed
Returns
The hashed value

◆ GPUMemoryData

A pointer type that represents the memory raw data.

◆ GPUMemoryProperties

Flag specifying properties for a memory type.

◆ GPUMemorySize

A type that represents a memory size.

◆ GPUMeshPtr

◆ GPUOcclusionQueryPtr

◆ GPUPipelineLayoutPtr

◆ GPUPipelineStages

◆ GPURenderingBlock

A block executed by the render pass implementation when the renderer is ready to receive draw commands.

◆ GPURenderPassPtr

◆ GPURenderTargetPtr

◆ GPUResourcePtr

◆ GPUResourceSetBindingSlot

◆ GPUResourceSetConstBindingSlot

◆ GPUResourceSetPtr

◆ GPUSamplerPtr

◆ GPUShaderProgramPtr

◆ GPUShaderPtr

◆ GPUStorageBufferPool

A dynamic storage buffer pool.

Allows allocation of variable size storage objects. All allocated objects are properly aligned as required by the device.

◆ GPUSwapchainPtr

◆ GPUTexturePtr

◆ GPUTimerQueryPtr

◆ GPUTimerQueryResult

The type returned by a TimerQuery.

◆ GPUUniformBufferPool

A dynamic uniform buffer pool.

Allows allocation of variable size uniform objects. All allocated objects are properly aligned as required by the device.

◆ GraphConnectionPtr

◆ GraphInstancePtr

◆ GraphNodePtr

◆ GraphPtr

◆ GraphSocketFlags

A set of user-defined flags that customize behavior of a socket.

◆ GraphSocketPtr

◆ GrowingBlockAllocator

template<class RawAllocator = DefaultAllocator, unsigned Num = 2, unsigned Den = 1>
using CeresEngine::GrowingBlockAllocator = typedef foonathan::memory::growing_block_allocator<RawAllocator, Num, Den>

◆ HashMap

template<typename Key , typename T , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<>, typename RawAllocator = DefaultAllocator>
using CeresEngine::HashMap = typedef std::unordered_map<Key, T, Hash, KeyEqual, ScopedAllocatorAdaptor<StdAllocator<Pair<const Key, T>, RawAllocator> >>

HashMap is an associative container that contains key-value pairs with unique keys.

Search, insertion, and removal of elements have average constant-time complexity.

◆ HashMultiMap

template<typename Key , typename T , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<>, typename RawAllocator = DefaultAllocator>
using CeresEngine::HashMultiMap = typedef std::unordered_multimap<Key, T, Hash, KeyEqual, ScopedAllocatorAdaptor<StdAllocator<Pair<const Key, T>, RawAllocator> >>

◆ HashSet

template<typename Key , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<>, typename RawAllocator = DefaultAllocator>
using CeresEngine::HashSet = typedef std::unordered_set<Key, Hash, KeyEqual, ScopedAllocatorAdaptor<StdAllocator<Key, RawAllocator> >>

HashSet is an associative container that contains a set of unique objects of type Key.

Search, insertion, and removal have average constant-time complexity.

◆ HBitmap

◆ HCESLShader

◆ HeapAllocator

using CeresEngine::HeapAllocator = typedef foonathan::memory::heap_allocator

◆ HeightTerrainPtr

◆ HFont

◆ HGLSLShader

◆ HGPUMesh

◆ HGPUTexture

◆ HHeightTerrain

◆ HHLSLShader

◆ HighResolutionClock

using CeresEngine::HighResolutionClock = typedef std::chrono::high_resolution_clock

◆ HighResolutionTimer

using CeresEngine::HighResolutionTimer = typedef TTimer<std::chrono::high_resolution_clock>

◆ HLSLShaderPtr

◆ HMaterial

◆ HMemoryMesh

◆ HMesh

◆ Hours

using CeresEngine::Hours = typedef TTimeInterval<TimeInterval::rep, std::ratio<3600> >

A time duration with hours.

◆ HPBRMaterial

◆ HResource

◆ HResourceObject

An alias to a resource handle for a given ResourceObject of type T.

◆ HScene

◆ HShader

◆ HShaderMaterial

◆ HSPIRVShader

◆ HStreamingMesh

◆ HStreamingTexture

◆ HTerrain

typedef::CeresEngine::ResourceHandle< Terrain > CeresEngine::HTerrain

◆ HText

◆ HTexture

◆ HVolumetricTerrain

◆ ifComponent

template<typename T , typename C >
using CeresEngine::ifComponent = typedef typename std::enable_if<isComponent<C>, T>::type

If the type C is a component (as defined by isComponent<C>), this type is aliased to T.

If not, the type is undefined and causes a compilation error.

Template Parameters
Tthe return type
Cthe type to be checked

◆ ifComponents

template<typename T , typename... Cs>
using CeresEngine::ifComponents = typedef typename std::enable_if<areComponents<Cs...>, T>::type

If the types Cs are all components (as defined by areComponents<Cs>), this type is aliased to T.

If not, the type is undefined and causes a compilation error.

Template Parameters
Tthe return type
Csthe types to be checked

◆ ifEntityAction

If the type A is a action (as defined by isAction<A>), this type is aliased to T.

If not, the type is undefined and causes a compilation error.

Template Parameters
Tthe return type
Athe type to be checked

◆ ifEntityActions

template<typename T , typename... As>
using CeresEngine::ifEntityActions = typedef typename std::enable_if<areEntityActions<As...>, T>::type

If the types As are all actions (as defined by areActions<As>), this type is aliased to T.

If not, the type is undefined and causes a compilation error.

Template Parameters
Tthe return type
Asthe types to be checked

◆ ifEntityEvent

If the type E is a event (as defined by isEntityEvent<E>), this type is aliased to T.

If not, the type is undefined and causes a compilation error.

Template Parameters
Tthe return type
Ethe type to be checked

◆ ifEntityObject

template<typename O , typename T = void>
using CeresEngine::ifEntityObject = typedef typename std::enable_if<isEntityObject<O>, T>::type

If the type E is a entity object (as defined by isEntityObject<S>), this type is aliased to T.

If not, the type is undefined and causes a compilation error.

Template Parameters
Othe type to be checked
Tthe return type

◆ ifSystem

template<typename T , typename S >
using CeresEngine::ifSystem = typedef typename std::enable_if<isSystem<S>, T>::type

If the type S is a system (as defined by isSystem<S>), this type is aliased to T.

If not, the type is undefined and causes a compilation error.

Template Parameters
Tthe return type
Sthe type to be checked

◆ ImageInput

An input slot that represents an image.

An alias to an input that references an image.

◆ ImageOutput

An output slot that represents an image.

An alias to an output that references an image.

◆ ImageRenderResourceRef

◆ IndexBufferView

◆ IndexCount

A type that represents the number indices in a mesh.

◆ IndexedMultimap

◆ InitializerList

template<typename T >
using CeresEngine::InitializerList = typedef std::initializer_list<T>

An object of type InitializerList<T> is a lightweight proxy object that provides access to an array of objects of type const T.

A InitializerList object is automatically constructed when:

  • a braced-init-list is used to list-initialize an object, where the corresponding constructor accepts an InitializerList parameter;
  • a braced-init-list is used as the right operand of assignment or as a function call argument, and the corresponding assignment operator/function accepts an InitializerList parameter;
  • a braced-init-list is bound to auto, including in a ranged for loop

Initializer lists may be implemented as a pair of pointers or pointer and length. Copying a InitializerList does not copy the underlying objects. The underlying array is a temporary array of type const T[N], in which each element is copy-initialized (except that narrowing conversions are invalid) from the corresponding element of the original initializer list. The lifetime of the underlying array is the same as any other temporary object, except that initializing an InitializerList object from the array extends the lifetime of the array exactly like binding a reference to a temporary (with the same exceptions, such as for initializing a non-static class member). The underlying array may be allocated in read-only memory.

The program is ill-formed if an explicit or partial specialization of InitializerList is declared.

◆ Int

◆ Int16

◆ Int32

◆ Int64

◆ Int8

◆ IsNotReference

template<typename T >
using CeresEngine::IsNotReference = typedef typename std::enable_if<!std::is_reference<T>::value, void>::type

◆ IterationAllocator

template<std::size_t N, class BlockOrRawAllocator = DefaultAllocator>
using CeresEngine::IterationAllocator = typedef foonathan::memory::iteration_allocator<N, BlockOrRawAllocator>

◆ JointAllocator

template<typename T , class RawAllocator >
using CeresEngine::JointAllocator = typedef foonathan::memory::joint_allocator

◆ JointArray

template<typename T >
using CeresEngine::JointArray = typedef foonathan::memory::joint_array<T>

◆ JointPtr

template<typename T , class RawAllocator >
using CeresEngine::JointPtr = typedef foonathan::memory::joint_ptr<T, RawAllocator>

◆ JSON

◆ List

List is a container that supports constant time insertion and removal of elements from anywhere in the container.

Fast random access is not supported. It is usually implemented as a doubly-linked list. Compared to ForwardList this container provides bidirectional iteration capability while being less space efficient.

◆ MallocAllocator

using CeresEngine::MallocAllocator = typedef foonathan::memory::malloc_allocator

◆ Map

Map is a sorted associative container that contains key-value pairs with unique keys.

Keys are sorted by using the comparison function Compare. Search, removal, and insertion operations have logarithmic complexity.

◆ MaterialGraphFloatAddNode

◆ MaterialGraphFloatDivideNode

◆ MaterialGraphFloatLiteralNode

◆ MaterialGraphFloatMathNode

◆ MaterialGraphFloatMultiplyNode

◆ MaterialGraphFloatSubtractNode

◆ MaterialGraphVector2AddNode

◆ MaterialGraphVector2DivideNode

◆ MaterialGraphVector2LiteralNode

◆ MaterialGraphVector2MathNode

◆ MaterialGraphVector2MultiplyNode

◆ MaterialGraphVector2SubtractNode

◆ MaterialGraphVector3AddNode

◆ MaterialGraphVector3DivideNode

◆ MaterialGraphVector3LiteralNode

◆ MaterialGraphVector3MathNode

◆ MaterialGraphVector3MultiplyNode

◆ MaterialGraphVector3SubtractNode

◆ MaterialGraphVector4AddNode

◆ MaterialGraphVector4DivideNode

◆ MaterialGraphVector4LiteralNode

◆ MaterialGraphVector4MathNode

◆ MaterialGraphVector4MultiplyNode

◆ MaterialGraphVector4SubtractNode

◆ MaterialPtr

◆ MemoryArena

template<class BlockAllocator = DefaultAllocator, bool Cached = true>
using CeresEngine::MemoryArena = typedef foonathan::memory::memory_arena<BlockAllocator, Cached>

◆ MemoryBlock

using CeresEngine::MemoryBlock = typedef foonathan::memory::memory_block

◆ MemoryMeshPtr

◆ MemoryPool

template<typename PoolType = foonathan::memory::node_pool, class BlockOrRawAllocator = DefaultAllocator>
using CeresEngine::MemoryPool = typedef foonathan::memory::memory_pool<PoolType, BlockOrRawAllocator>

◆ MemoryPoolCollection

template<class PoolType , class BucketDistribution , class BlockOrRawAllocator = DefaultAllocator>
using CeresEngine::MemoryPoolCollection = typedef foonathan::memory::memory_pool_collection<PoolType, BucketDistribution, BlockOrRawAllocator>

◆ MemoryResourceAdapter

template<class RawAllocator >
using CeresEngine::MemoryResourceAdapter = typedef foonathan::memory::memory_resource_adapter<RawAllocator>

◆ MemoryResourceAllocator

using CeresEngine::MemoryResourceAllocator = typedef foonathan::memory::memory_resource_allocator

◆ MemoryStack

template<class BlockOrRawAllocator = DefaultAllocator>
using CeresEngine::MemoryStack = typedef foonathan::memory::memory_stack<BlockOrRawAllocator>

◆ MemoryStackScope

template<class Stack = MemoryStack<>>
using CeresEngine::MemoryStackScope = typedef foonathan::memory::memory_stack_raii_unwind<Stack>

◆ MeshPtr

◆ MetaAttributeList

◆ MetaMemberIterationFlags

A set of flags that control the iteration of class members.

◆ MetaValues

◆ Microseconds

using CeresEngine::Microseconds = typedef TTimeInterval<TimeInterval::rep, std::micro>

A time duration with microseconds.

◆ Milliseconds

using CeresEngine::Milliseconds = typedef TTimeInterval<TimeInterval::rep, std::milli>

A time duration with milliseconds.

◆ Minutes

using CeresEngine::Minutes = typedef TTimeInterval<TimeInterval::rep, std::ratio<60> >

A time duration with minutes.

◆ MKBufferPtr

◆ MKCommandBufferPtr

◆ MKCommandQueuePtr

◆ MKComputePipelinePtr

◆ MKDevicePtr

◆ MKFencePtr

◆ MKGraphicsPipelinePtr

◆ MKImagePtr

◆ MKImageViewPtr

◆ MKOcclusionQueryPtr

◆ MKPipelineLayoutPtr

◆ MKRenderPassPtr

◆ MKRenderTargetPtr

◆ MKResourceSetPtr

◆ MKSamplerPtr

◆ MKShaderProgramPtr

◆ MKShaderPtr

◆ MKSwapchainPtr

◆ MKTimerQueryPtr

◆ Months

using CeresEngine::Months = typedef TTimeInterval<TimeInterval::rep, std::ratio<2629746> >

A time duration with months.

◆ MTBufferPtr

◆ MTCommandBufferPtr

◆ MTCommandQueuePtr

◆ MTComputePipelinePtr

◆ MTDevicePtr

◆ MTFencePtr

◆ MTGraphicsPipelinePtr

◆ MTImagePtr

◆ MTImageViewPtr

◆ MTOcclusionQueryPtr

◆ MTPipelineLayoutPtr

◆ MTRenderPassPtr

◆ MTRenderTargetPtr

◆ MTResourceSetPtr

◆ MTSamplerPtr

◆ MTShaderProgramPtr

◆ MTShaderPtr

◆ MTSwapchainPtr

◆ MTTimerQueryPtr

◆ MultiMap

◆ MutableIndexData

◆ MutablePixelData

◆ MutableVertexData

◆ Mutex

The Mutex class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.

Mutex offers exclusive, non-recursive ownership semantics:

  • A calling thread owns a mutex from the time that it successfully calls either lock or tryLock until it calls unlock.
  • When a thread owns a mutex, all other threads will block (for calls to lock) or receive a false return value (for tryLock) if they attempt to claim ownership of the mutex.
  • A calling thread must not own the mutex prior to calling lock or tryLock.

The behavior of a program is undefined if a mutex is destroyed while still owned by any threads, or a thread terminates while owning a mutex. The Mutex class satisfies all requirements of Mutex and StandardLayoutType.

Mutex is neither copyable nor movable.

◆ Nanoseconds

using CeresEngine::Nanoseconds = typedef TTimeInterval<TimeInterval::rep, std::nano>

A time duration with nanoseconds.

◆ NewAllocator

using CeresEngine::NewAllocator = typedef foonathan::memory::new_allocator

◆ NLBufferPtr

◆ NLCommandBufferPtr

◆ NLCommandQueuePtr

◆ NLComputePipelinePtr

◆ NLDevicePtr

◆ NLFencePtr

◆ NLGraphicsPipelinePtr

◆ NLImagePtr

◆ NLImageViewPtr

◆ NLOcclusionQueryPtr

◆ NLPipelineLayoutPtr

◆ NLRenderPassPtr

◆ NLRenderTargetPtr

◆ NLResourceSetPtr

◆ NLSamplerPtr

◆ NLShaderProgramPtr

◆ NLShaderPtr

◆ NLSwapchainPtr

◆ NLTimerQueryPtr

◆ NodePool

using CeresEngine::NodePool = typedef foonathan::memory::node_pool

◆ NullAllocator

using CeresEngine::NullAllocator = typedef foonathan::memory::null_allocator

◆ OutOfFixedMemoryError

using CeresEngine::OutOfFixedMemoryError = typedef foonathan::memory::out_of_fixed_memory

◆ OutOfMemoryError

using CeresEngine::OutOfMemoryError = typedef foonathan::memory::out_of_memory

◆ PackagePtr

A pointer to a package.

◆ PackageURL

◆ Pair

Pair is a struct template that provides a way to store two heterogeneous objects as a single unit.

A pair is a specific case of a Tuple with two elements.

◆ PBRMaterialPtr

◆ PriorityQueue

template<typename T , typename Container = Vector<T>, typename Compare = std::less<>>
using CeresEngine::PriorityQueue = typedef std::priority_queue<T, Container, Compare>

A PriorityQueue is a container adaptor that provides constant time lookup of the largest (by default) element, at the expense of logarithmic insertion and extraction.

A user-provided Compare can be supplied to change the ordering, e.g. using std::greater<T> would cause the smallest element to appear as the top().

◆ ProducerToken

using CeresEngine::ProducerToken = typedef moodycamel::ProducerToken

◆ Promise

template<typename... Args>
using CeresEngine::Promise = typedef cti::promise<Args...>

Defines a non-copyable promise type which is using the function2 backend for type erasure.

Usable like: Promise<int, float>

◆ Queue

template<typename T , typename Container = Deque<T>>
using CeresEngine::Queue = typedef std::queue<T, Container>

The Queue class is a container adapter that gives the programmer the functionality of a queue - specifically, a FIFO (first-in, first-out) data structure.

◆ RawIndexBufferView

◆ RawVertexBufferView

◆ RC

RC is a smart pointer that retains shared ownership of an object through a pointer.

Several RC objects may own the same object. The object is destroyed and its memory deallocated when the last remaining RC owning the object calls T::release().

◆ RecursiveMutex

using CeresEngine::RecursiveMutex = typedef std::recursive_mutex

The RecursiveMutex class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.

RecursiveMutex offers exclusive, recursive ownership semantics:

  • A calling thread owns a recursive_mutex for a period of time that starts when it successfully calls either lock or tryLock. During this period, the thread may make additional calls to lock or tryLock. The period of ownership ends when the thread makes a matching number of calls to unlock.
  • When a thread owns a RecursiveMutex, all other threads will block (for calls to lock) or receive a false return value (for tryLock) if they attempt to claim ownership of the RecursiveMutex.
  • The maximum number of times that a RecursiveMutex may be locked is unspecified, but after that number is reached, calls to lock will throw std::system_error and calls to tryLock will return false.

The behavior of a program is undefined if a RecursiveMutex is destroyed while still owned by some thread. The RecursiveMutex class satisfies all requirements of Mutex and StandardLayoutType.

◆ RecursiveTimedMutex

using CeresEngine::RecursiveTimedMutex = typedef std::recursive_timed_mutex

The RecursiveTimedMutex class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.

In a manner similar to RecursiveMutex, RecursiveTimedMutex provides exclusive, recursive ownership semantics. In addition, RecursiveTimedMutex provides the ability to attempt to claim ownership of a RecursiveTimedMutex with a timeout via the try_lock_for and try_lock_until methods.

The RecursiveTimedMutex class satisfies all requirements of TimedMutex and StandardLayoutType.

◆ ReferenceIterator

Iterates by incrementing a pointer value. Returns the dereferenced pointer.

◆ ReferenceStorage

template<class RawAllocator >
using CeresEngine::ReferenceStorage = typedef foonathan::memory::reference_storage<RawAllocator>

◆ remove_all_cv

◆ RenderableMaterialVector

◆ RendererCameraDirtyFlags

Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.

◆ RendererCameraFlags

Flags that can be either set by the renderer or by the user to customize the behavior of the camera.

◆ RendererComputePipelineFlags

Flags that can be either set by the renderer or by the user to customize the behavior of the compute pipeline.

◆ RendererComputePipelinePtr

◆ RendererEnvironmentDirtyFlags

Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.

◆ RendererGraphicsPipelineFlags

Flags that can be either set by the renderer or by the user to customize the behavior of the graphics pipeline.

◆ RendererGraphicsPipelinePtr

◆ RendererLightDirtyFlags

Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.

◆ RendererLightFlags

Flags that can be either set by the renderer or by the user to customize the behavior of the light.

◆ RendererMeshDrawFlags

◆ RendererMeshFlags

Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.

◆ RendererMeshPtr

A type-alias to a pointer type to a RendererMesh.

◆ RendererObjectID

A type-alias for a type that uniquely identifies a RendererObject.

◆ RendererObjectManagerType

The manager type for the T object.

◆ RendererRenderableDirtyFlags

Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.

◆ RendererRenderableFlags

Flags that can be either set by the renderer or by the user to customize the behavior of the renderable.

◆ RendererShaderFlags

Flags that can be either set by the renderer or by the user to customize the behavior of the shader.

◆ RendererShaderPtr

◆ RendererTerrainDirtyFlags

Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.

◆ RendererTerrainFlags

Flags that can be either set by the renderer or by the user to customize the behavior of the terrain.

◆ RendererTextureFlags

Flags that can be either set by the renderer or by the user to customize the behavior of the texture.

◆ RendererTextureID

A type that uniquely identifies a renderer texture in the bindless resource set.

◆ RendererTextureInternalFlags

Internal flags set by the renderer to represent the current state of the texture.

◆ RendererTexturePtr

◆ RenderGraphAllocator

◆ RenderGraphVector

◆ RenderingSystemEntitySet

◆ RenderResourcePtr

◆ RenderTaskPtr

◆ ResourceDataPtr

◆ ResourcePtr

◆ ResourceStreamDataPtr

◆ ResourceStreamFlags

A set of flags that can be given when creating a new resource stream.

Can be used to customize how the stream should be created.

◆ ResourceStreamLockMutex

An async mutex type used to acquire read-only/write locks on the resource stream.

◆ ResourceStreamReadFlags

◆ ResourceStreamWriteFlags

◆ ResourceURL

◆ SceneObject

A alias to a "default" (empty) scene object.

Scene objects are objects that have at least a Transform component.

◆ ScenePtr

◆ ScopedAllocatorAdaptor

template<typename OuterAlloc , typename... InnerAlloc>
using CeresEngine::ScopedAllocatorAdaptor = typedef std::scoped_allocator_adaptor<OuterAlloc, InnerAlloc...>

The ScopedAllocatorAdaptor class template is an allocator which can be used with multilevel containers (vector of sets of lists of tuples of maps, etc).

It is instantiated with one outer allocator type OuterAlloc and zero or more inner allocator types InnerAlloc.... A container constructed directly with a ScopedAllocatorAdaptor uses OuterAlloc to allocate its elements, but if an element is itself a container, it uses the first inner allocator. The elements of that container, if they are themselves containers, use the second inner allocator, etc. If there are more levels to the container than there are inner allocators, the last inner allocator is reused for all further nested containers.

The purpose of this adaptor is to correctly initialize stateful allocators in nested containers, such as when all levels of a nested container must be placed in the same shared memory segment. The adaptor's constructor takes the arguments for all allocators in the list, and each nested container obtains its allocator's state from the adaptor as needed.

For the purpose of ScopedAllocatorAdaptor, if the next inner allocator is A, any class T for which std::uses_allocator<T,A>::value == true participates in the recursion as if it was a container. Additionally, Pair is treated as such a container by specific overloads of ScopedAllocatorAdaptor::construct.

Typical implementation holds an instance of a ScopedAllocatorAdaptor<InnerAllocs...> as a member object.

◆ Seconds

A time duration with seconds.

◆ SegmentedVector

template<typename T , std::size_t N, typename RawAllocator = DefaultAllocator>
using CeresEngine::SegmentedVector = typedef sfl::segmented_vector<T, N, StdAllocator<T, RawAllocator> >

SegmentedVector is a sequence container similar to Vector but with the different storage model.

The storage of SegmentedVector consists of a sequence of individually allocated arrays of size N which are called segments. The size N is specified at the compile time as a template parameter. Elements of SegmentedVector are not stored contiguously in the memory, but they are stored contiguously within a segment. This is very similar to the storage model of std::deque. Unlike std::deque, SegmentedVector allows fast insertion only at its end. SegmentedVector does not have interface compatible with std::deque. Interface of SegmentedVector is compatible with Vector, except the data() member function, which does not exist.

The storage of SegmentedVector is handled automatically, being expanded and contracted as needed. Insertion and removal at the end never invalidates pointers and references to the rest of elements. Iterators to elements are random access iterators and they meet the requirements of LegacyRandomAccessIterator. Indexed access to elements (operator[] and at) must perform two pointer dereferences.

◆ SerializedArrayMetadataFlags

A set of flags that determine how the array is serialized.

◆ SerializedCustomObjectMetadataFlags

A set of flags that determine how the object is serialized.

◆ SerializedMapMetadataFlags

A set of flags that determine how the map is serialized.

◆ SerializedObjectID

◆ SerializedObjectMetadataFlags

A set of flags that determine how the object is serialized.

◆ SerializedPropertyMetadataFlags

A set of flags that determine how the property is serialized.

◆ Set

Set is an associative container that contains a sorted set of unique objects of type Key.

Sorting is done using the key comparison function Compare. Search, removal, and insertion operations have logarithmic complexity.

◆ ShaderMaterialPtr

◆ ShaderPtr

◆ ShaderSpecializationConstants

A map type that represents a map of shader specialization constants.

◆ ShaderStages

◆ ShadowMapResolution

◆ SharedMutex

using CeresEngine::SharedMutex = typedef std::shared_mutex

The SharedMutex class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.

In contrast to other mutex types which facilitate exclusive access, a SharedMutex has two levels of access:

  • shared: several threads can share ownership of the same mutex.
  • exclusive: only one thread can own the mutex.

If one thread has acquired the exclusive lock (through lock, tryLock), no other threads can acquire the lock (including the shared).

If one thread has acquired the shared lock (through lock_shared, try_lock_shared), no other thread can acquire the exclusive lock, but can acquire the shared lock.

Only when the exclusive lock has not been acquired by any thread, the shared lock can be acquired by multiple threads.

Within one thread, only one lock (shared or exclusive) can be acquired at the same time.

Shared mutexes are especially useful when shared data can be safely read by any number of threads simultaneously, but a thread may only write the same data when no other thread is reading or writing at the same time.

The SharedMutex class satisfies all requirements of SharedMutex and StandardLayoutType.

◆ SharedTimedMutex

using CeresEngine::SharedTimedMutex = typedef std::shared_timed_mutex

The SharedTimedMutex class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.

In contrast to other mutex types which facilitate exclusive access, a SharedTimedMutex has two levels of access:

  • shared: several threads can share ownership of the same mutex.
  • exclusive: only one thread can own the mutex.

Shared mutexes are usually used in situations when multiple readers can access the same resource at the same time without causing data races, but only one writer can do so.

In a manner similar to TimedMutex, SharedTimedMutex provides the ability to attempt to claim ownership of a SharedTimedMutex with a timeout via the try_lock_for(), try_lock_until(), try_lock_shared_for(), try_lock_shared_until() methods.

The SharedTimedMutex class satisfies all requirements of SharedTimedMutex and StandardLayoutType.

◆ SInt

◆ SInt16

◆ SInt32

◆ SInt64

◆ SInt8

◆ SmallDynamicBitSet

Similar to a DynamicBitSet, but stores data in a SmallVector.

◆ SmallFlatIndexedMultimap

template<typename Key , typename Value , size_t N, typename Compare = std::less<>, typename RawAllocator = DefaultAllocator>
using CeresEngine::SmallFlatIndexedMultimap = typedef BasicIndexedMultimap<Key, Value, sfl::small_flat_multimap<Key, Value, N, Compare, StdAllocator<Pair<Key, Value>, RawAllocator> >>

///

◆ SmallFlatMap

template<typename Key , typename T , std::size_t N, typename Compare = std::less<>, typename RawAllocator = DefaultAllocator>
using CeresEngine::SmallFlatMap = typedef sfl::small_flat_map<Key, T, N, Compare, StdAllocator<std::pair<Key, T>, RawAllocator> >

SmallFlatMap is a sorted associative container similar to Map.

It contains sorted key-value pairs with unique keys. Sorting is done according to the comparison function Compare, applied to the keys.

Unlike Map, the elements are stored contiguously in the memory. That means that iterators to the elements are random access iterators. The storage is handled automatically, being expanded and contracted as needed. SmallFlatMap holds statically allocated array of size N in the object itself. The container stores elements into this array until number of elements is not greater than N, which avoids dynamic memory allocation and deallocation. The dynamic memory management is used when the number of elements has to be greater than N. The size N is specified at the compile time as a template parameter. In case when N is equal to zero the container does not hold any statically allocated array and uses only dynamic memory management.

◆ SmallFlatMultimap

template<typename Key , typename T , std::size_t N, typename Compare = std::less<>, typename RawAllocator = DefaultAllocator>
using CeresEngine::SmallFlatMultimap = typedef sfl::small_flat_multimap<Key, T, N, Compare, StdAllocator<std::pair<Key, T>, RawAllocator> >

SmallFlatMultimap is a sorted associative container similar to Multimap.

It contains sorted key-value pairs, while permitting multiple entries with the same key. Sorting is done according to the comparison function Compare, applied to the keys.

Unlike Multimap, the elements are stored contiguously in the memory. That means that iterators to the elements are random access iterators. The storage is handled automatically, being expanded and contracted as needed. SmallFlatMultimap holds statically allocated array of size N in the object itself. The container stores elements into this array until number of elements is not greater than N, which avoids dynamic memory allocation and deallocation. The dynamic memory management is used when the number of elements has to be greater than N. The size N is specified at the compile time as a template parameter. In case when N is equal to zero the container does not hold any statically allocated array and uses only dynamic memory management.

◆ SmallNodePool

using CeresEngine::SmallNodePool = typedef foonathan::memory::small_node_pool

◆ SmallUnorderedFlatMap

template<typename Key , typename T , std::size_t N, typename KeyEqual = std::equal_to<>, typename RawAllocator = DefaultAllocator>
using CeresEngine::SmallUnorderedFlatMap = typedef sfl::small_unordered_flat_map<Key, T, N, KeyEqual, StdAllocator<std::pair<Key, T>, RawAllocator> >

SmallUnorderedFlatMap is an unordered associative container similar to HashMap.

It contains key-value pairs with unique keys. Comparison is done according to the comparison function KeyEqual, applied to the keys.

Unlike HashMap, the elements are stored contiguously in the memory. That means that iterators to the elements are random access iterators. The storage is handled automatically, being expanded and contracted as needed. SmallUnorderedFlatMap holds statically allocated array of size N in the object itself. The container stores elements into this array until number of elements is not greater than N, which avoids dynamic memory allocation and deallocation. The dynamic memory management is used when the number of elements has to be greater than N. The size N is specified at the compile time as a template parameter. In case when N is equal to zero the container does not hold any statically allocated array and uses only dynamic memory management.

◆ SmallUnorderedFlatMultimap

template<typename Key , typename T , std::size_t N, typename KeyEqual = std::equal_to<>, typename RawAllocator = DefaultAllocator>
using CeresEngine::SmallUnorderedFlatMultimap = typedef sfl::small_unordered_flat_multimap<Key, T, N, KeyEqual, StdAllocator<std::pair<Key, T>, RawAllocator> >

SmallUnorderedFlatMultimap is an unordered associative container similar to HashMultimap.

It contains key-value pairs, while permitting multiple entries with the same key. Comparison is done according to the comparison function KeyEqual, applied to the keys.

Unlike HashMultimap, the elements are stored contiguously in the memory. That means that iterators to the elements are random access iterators. The storage is handled automatically, being expanded and contracted as needed. SmallUnorderedFlatMultimap holds statically allocated array of size N in the object itself. The container stores elements into this array until number of elements is not greater than N, which avoids dynamic memory allocation and deallocation. The dynamic memory management is used when the number of elements has to be greater than N. The size N is specified at the compile time as a template parameter. In case when N is equal to zero the container does not hold any statically allocated array and uses only dynamic memory management.

◆ SmallVector

template<typename T , std::size_t N, typename RawAllocator = DefaultAllocator>
using CeresEngine::SmallVector = typedef sfl::small_vector<T, N, ScopedAllocatorAdaptor<StdAllocator<T, RawAllocator> >>

SmallVector is a sequence container similar to Vector.

The elements are stored contiguously in the memory. The storage is handled automatically, being expanded and contracted as needed. SmallVector holds statically allocated array of size N in the object itself. The container stores elements into this array until number of elements is not greater than N, which avoids dynamic memory allocation and deallocation. The dynamic memory management is used when the number of elements has to be greater than N. The size N is specified at the compile time as a template parameter. In case when N is equal to zero the container does not hold any statically allocated array and uses only dynamic memory management. In case when N is equal to zero SmallVector behaves just like Vector.

◆ Span

template<typename T , std::size_t Extent = tcb ::dynamic_extent>
using CeresEngine::Span = typedef tcb ::span<T, Extent>

Span describes an object that can refer to a contiguous sequence of objects with the first element of the sequence at position zero.

A span can either have a static extent, in which case the number of elements in the sequence is known and encoded in the type, or a dynamic extent.

A typical implementation holds only two members: a pointer to T and a

◆ SPIRVShaderPtr

◆ SPtr

template<typename T >
using CeresEngine::SPtr = typedef std::shared_ptr<T>

SPtr is a smart pointer that retains shared ownership of an object through a pointer.

Several SPtr objects may own the same object. The object is destroyed and its memory deallocated when either of the following happens:

  • the last remaining SPtr owning the object is destroyed;
  • the last remaining SPtr owning the object is assigned another pointer via operator= or reset().

◆ Stack

template<typename T , typename Container = Deque<T>>
using CeresEngine::Stack = typedef std::stack<T, Container>

The Stack class is a container adapter that gives the programmer the functionality of a stack - specifically, a LIFO (last-in, first-out) data structure.

◆ StaticAllocator

using CeresEngine::StaticAllocator = typedef foonathan::memory::static_allocator

◆ StaticAllocatorStorage

template<std::size_t Size>
using CeresEngine::StaticAllocatorStorage = typedef foonathan::memory::static_allocator_storage<Size>

◆ StaticBlockAllocator

using CeresEngine::StaticBlockAllocator = typedef foonathan::memory::static_block_allocator

◆ StaticFlatMap

Similar to a FlatMap, but stores data in a StaticVector.

◆ StdAllocator

template<typename T , class RawAllocator = DefaultAllocator>
using CeresEngine::StdAllocator = typedef foonathan::memory::std_allocator<T, RawAllocator>

◆ SteadyClock

using CeresEngine::SteadyClock = typedef std::chrono::steady_clock

◆ SteadyClockDate

Represents a point in time.

It is implemented as if it stores a value of type Duration indicating the time interval from the start of the Clock's epoch.

◆ SteadyTimer

using CeresEngine::SteadyTimer = typedef TTimer<std::chrono::steady_clock>

◆ Strand

◆ StreamingMeshPtr

◆ StreamingTexturePtr

◆ String

Narrow string used for handling narrow encoded text in UTF-8.

◆ StringInputStream

Wide string stream used for primarily for constructing narrow strings.

◆ StringOutputStream

Wide string stream used for primarily for constructing narrow strings.

◆ StringStream

Wide string stream used for primarily for constructing narrow strings.

◆ StringView

Narrow string view used for handling narrow encoded text in UTF-8.

◆ SuspendAlways

using CeresEngine::SuspendAlways = typedef std::suspend_always

A type alias to the C++ standard library suspend always tag.

◆ SuspendNever

using CeresEngine::SuspendNever = typedef std::suspend_never

A type alias to the C++ standard library suspend never tag.

◆ SystemClock

using CeresEngine::SystemClock = typedef std::chrono::system_clock

◆ SystemID

A numeric type that represents a system.

Used internally to uniquely identify systems by their type.

◆ SystemOrder

A signed numeric type that represents the order in which a system should be updated by the SystemManager.

Higher values are executed first. The default order value is AbstractSystem::defaultOrder.

◆ TDate

template<typename Clock , typename Duration = typename Clock::duration>
using CeresEngine::TDate = typedef std::chrono::time_point<Clock, Duration>

Represents a point in time.

It is implemented as if it stores a value of type Duration indicating the time interval from the start of the Clock's epoch.

◆ TemporaryAllocator

using CeresEngine::TemporaryAllocator = typedef foonathan::memory::temporary_allocator

◆ TemporaryBasicString

A special BasicString that uses a fast temporary allocator.

◆ TemporaryCiBasicString

A special CiBasicString that uses a fast temporary allocator.

◆ TemporaryCiString

A special CiString that uses a fast temporary allocator.

◆ TemporaryCiU16String

A special CiString that uses a fast temporary allocator.

◆ TemporaryCiU32String

A special CiString that uses a fast temporary allocator.

◆ TemporaryCiWString

A special CiString that uses a fast temporary allocator.

◆ TemporaryDeque

A special Deque that uses a fast temporary allocator.

◆ TemporaryForwardList

A special ForwardList that uses a fast temporary allocator.

◆ TemporaryHashMap

template<typename Key , typename T , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<>>
using CeresEngine::TemporaryHashMap = typedef HashMap<Key, T, Hash, KeyEqual, TemporaryAllocator>

A special HashMap that uses a fast temporary allocator.

◆ TemporaryHashMultiMap

A special HashMultiMap that uses a fast temporary allocator.

◆ TemporaryHashSet

template<typename Key , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<>>
using CeresEngine::TemporaryHashSet = typedef HashSet<Key, Hash, KeyEqual, TemporaryAllocator>

A special HashSet that uses a fast temporary allocator.

◆ TemporaryList

A special List that uses a fast temporary allocator.

◆ TemporaryMap

A special Map that uses a fast temporary allocator.

◆ TemporaryMultiMap

A special MultiMap that uses a fast temporary allocator.

◆ TemporarySet

A special Set that uses a fast temporary allocator.

◆ TemporaryStack

A special Stack that uses a fast temporary allocator.

◆ TemporaryStackInitializer

using CeresEngine::TemporaryStackInitializer = typedef foonathan::memory::temporary_stack_initializer

◆ TemporaryString

A special String that uses a fast temporary allocator.

◆ TemporaryU16String

A special String that uses a fast temporary allocator.

◆ TemporaryU32String

A special String that uses a fast temporary allocator.

◆ TemporaryVector

A special Vector that uses a fast temporary allocator.

◆ TemporaryWString

A special String that uses a fast temporary allocator.

◆ TerrainPtr

◆ TextLayoutManagerStateFlags

◆ TextPtr

◆ TexturePixelStream

An object that allows streaming texture pixels.

◆ TexturePtr

◆ TGPUBindlessBufferPool

A dynamic bindless buffer pool.

Allows allocation of fixed size bindless objects. All allocated objects are properly aligned as required by the device.

◆ TGPUIndirectBufferPool

A dynamic indirect draw buffer pool.

Allows allocation of fixed size indirect draw objects. All allocated objects are properly aligned as required by the device.

◆ TGPUStorageBufferPool

A dynamic storage buffer pool.

Allows allocation of fixed size storage objects. All allocated objects are properly aligned as required by the device.

◆ TGPUUniformBufferPool

A dynamic uniform buffer pool.

Allows allocation of fixed size uniform objects. All allocated objects are properly aligned as required by the device.

◆ Thread

The class thread represents a single thread of execution.

Threads allow multiple functions to execute concurrently.

Threads begin execution immediately upon construction of the associated thread object (pending any OS scheduling delays), starting at the top-level function provided as a constructor argument. The return value of the top-level function is ignored and if it terminates by throwing an exception, std::terminate is called.

Thread objects may also be in the state that does not represent any thread (after default construction, move from, detach, or join), and a thread of execution may be not associated with any thread objects (after detach).

No two Thread objects may represent the same thread of execution; Thread is not CopyConstructible or CopyAssignable, although it is MoveConstructible and MoveAssignable.

◆ ThreadSafeAllocator

template<class RawAllocator , class Mutex = std::mutex>
using CeresEngine::ThreadSafeAllocator = typedef foonathan::memory::thread_safe_allocator<RawAllocator, Mutex>

◆ ThresholdSegregatable

template<class RawAllocator >
using CeresEngine::ThresholdSegregatable = typedef foonathan::memory::threshold_segregatable<RawAllocator>

◆ THResource

◆ TimedMutex

The TimedMutex class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.

In a manner similar to Mutex, TimedMutex offers exclusive, non-recursive ownership semantics. In addition, TimedMutex provides the ability to attempt to claim ownership of a TimedMutex with a timeout via the try_lock_for() and try_lock_until() methods.

The TimedMutex class satisfies all requirements of TimedMutex and StandardLayoutType.

◆ TimeInterval

Represents a time interval.

It consists of a count of ticks of type Representation and a tick period, where the tick period is a compile-time rational fraction representing the time in seconds from one tick to the next.

The only data stored in a duration is a tick count of type Representation. If Representation is floating point, then the duration can represent fractions of ticks. Period is included as part of the duration's type, and is only used when converting between different durations.

◆ Timer

using CeresEngine::Timer = typedef TTimer<std::chrono::system_clock>

◆ TrackedAllocator

using CeresEngine::TrackedAllocator = typedef foonathan::memory::tracked_allocator<Tracker, RawAllocator>

◆ TrackedBlockAllocator

◆ TStrand

template<typename Executor >
using CeresEngine::TStrand = typedef asio::strand<Executor>

◆ TTimeInterval

template<typename Representation , typename Period = std::ratio<1>>
using CeresEngine::TTimeInterval = typedef std::chrono::duration<Representation, Period>

Represents a time interval.

It consists of a count of ticks of type Representation and a tick period, where the tick period is a compile-time rational fraction representing the time in seconds from one tick to the next.

The only data stored in a duration is a tick count of type Representation. If Representation is floating point, then the duration can represent fractions of ticks. Period is included as part of the duration's type, and is only used when converting between different durations.

◆ TTypeInfo

template<typename T , template< typename > class... Traits>
using CeresEngine::TTypeInfo = typedef TTypeInfoBase<T, impl::TConstructibleTypeTrait, impl::TDestructibleTypeTrait, impl::TCopyableTypeTrait, impl::TMovableTypeTrait, impl::THashableTypeTrait, impl::TEqualityComparableTypeTrait, impl::TTotallyOrderedTypeTrait, impl::TPartiallyOrderedTypeInfo, impl::TWeakOrderedTypeInfo, impl::TStrongOrderedTypeInfo, Traits...>

◆ TUISplitViewController

◆ TUIViewportViewController

◆ TypeID

◆ TypeIdentityHash

A type that represents a Type hash value.

◆ U16String

Wide string used UTF-16 encoded strings.

◆ U16StringInputStream

Wide string stream used for primarily for constructing UTF-16 strings.

◆ U16StringOutputStream

Wide string stream used for primarily for constructing UTF-16 strings.

◆ U16StringStream

Wide string stream used for primarily for constructing UTF-16 strings.

◆ U16StringView

Wide string view used UTF-16 encoded strings.

◆ U32String

Wide string used UTF-32 encoded strings.

◆ U32StringInputStream

Wide string stream used for primarily for constructing UTF-32 strings.

◆ U32StringOutputStream

Wide string stream used for primarily for constructing UTF-32 strings.

◆ U32StringStream

Wide string stream used for primarily for constructing UTF-32 strings.

◆ U32StringView

Wide string view used UTF-32 encoded strings.

◆ UIAppearancePtr

◆ UIBackingStorePtr

◆ UICheckboxStateFlags

◆ UIColor

◆ UIColorAppearanceProperty

◆ UIControlPtr

◆ UIDrawCommandBuffer

◆ UIEdgeInsets

The inset distances for views.

Edge inset values are applied to a rectangle to shrink or expand the area represented by that rectangle. Typically, edge insets are used during view layout to modify the view's frame. Positive values cause the frame to be inset (or shrunk) by the specified amount. Negative values cause the frame to be outset (or expanded) by the specified amount.

◆ UIFloatAppearanceProperty

◆ UIFontAppearanceProperty

◆ UIGraphicsContext

◆ UILayerPtr

◆ UILayoutAnchor

An utility class for creating layout constraint objects using a fluent API.

Use these anchors to programmatically define your layout using Auto Layout. Instead of creating UILayoutConstraint objects directly, start with a UIView object you wish to constrain, and select one of that object's anchor properties.

Given a UIView called view, a constraint that makes the view a square (height and width are equal) can be created in C++ code like the example above:

UIView* myView = ...;
myView->addConstraint(myView->width == myView->height);
The infrastructure for drawing and handling events in a UI.
Definition UIView.hpp:153

◆ UILayoutConstraint

The relationship between two user interface objects that must be satisfied by the constraint-based layout system.

Each constraint is a linear equation with the following format:

item1.attribute1 = multiplier * item2.attribute2 + constant

In this equation, attribute1 and attribute2 are the variables that Auto Layout can adjust when solving these constraints. The other values are defined when you create the constraint. For example, If you're defining the relative position of two buttons, you might say "the left edge of the second button should be 8 points after the right edge of the first button." The linear equation for this relationship is shown below:

button2.left == 1.0 * button1.right + 8.0

Auto Layout then modifies the values of the specified leading and trailing edges until both sides of the equation are equal. Note that Auto Layout does not simply assign the value of the right side of this equation to the left side. Instead, the system can modify either attribute or both attributes as needed to solve for this constraint.

The fact that constraints are equations (and not assignment operators) means that you can switch the order of the items in the equation as needed to more clearly express the desired relationship. However, if you switch the order, you must also invert the multiplier and constant. For example, the following two equations produce identical constraints:

// These equations produce identical constraints
button2.left == 1.0 * button1.right + 8.0
button1.right == 1.0 * button2.left - 8.0

A valid layout is defined as a set constraints with one and only one possible solution. Valid layouts are also referred to as a nonambiguous, non-conflicting layouts. Constraints with more than one solution are ambiguous. Constraints with no valid solutions are conflicting.

Additionally, constraints are not limited to equality relationships. They can also use greater than or equal to (>=) or less than or equal to (<=) to describe the relationship between the two attributes.

After solving for the required constraints, Auto Layout tries to solve all the optional constraints in priority order from highest to lowest. If it cannot solve for an optional constraint, it tries to come as close as possible to the desired result, and then moves on to the next constraint.

This combination of inequalities, equalities, and priorities gives you a great amount of flexibility and power. By combining multiple constraints, you can define layouts that dynamically adapt as the size and location of the elements in your user interface change.

◆ UILayoutStrength

The priority of the constraint.

If a constraint's priority level is less than required, then it is optional. Higher priority constraints are satisfied before lower priority constraints; however, optional constraint satisfaction is not all or nothing. If a constraint a == b is optional, the constraint-based layout system will attempt to minimize abs(a-b).

Priorities may not change from non-required to required, or from required to non-required. An exception will be thrown if a priority of required is changed to a lower priority, or if a lower priority is changed to a required priority after the constraints is added to a view. Changing from one optional priority to another optional priority is allowed even after the constraint is installed on a view.

Priorities must be greater than 0 and less than or equal to required.

◆ UIModifierKeys

◆ UInt

◆ UInt16

◆ UInt32

◆ UInt64

◆ UInt8

◆ UIPaintAppearanceProperty

◆ UIPoint

A type that contains a point in a two-dimensional coordinate system.

◆ UIPtr

◆ UIRect

A structure that contains the location and dimensions of a rectangle.

◆ UIRenderer

◆ UISize

A type that contains width and height values.

◆ UIViewAutoresizingMask

◆ UIViewControllerPtr

◆ UIViewPtr

◆ UIViewStateFlags

◆ UIWindowDevicePtr

◆ UIWindowPtr

◆ UIWindowStateFlags

◆ UniqueFunction

template<typename... Signatures>
using CeresEngine::UniqueFunction = typedef FunctionBase<true, false, fu2::capacity_default, true, false, Signatures...>

An owning non copyable function wrapper for arbitrary callable types.

◆ UnsafeEvent

Event type that is unsafe in multithreaded environments.

No synchronizations are provided to the TEvent for accessing the internals.

Only use this event type if you are sure that your environment is single threaded and performance is of importance.

◆ UPtr

template<typename T , typename Deleter = std::default_delete<T>>
using CeresEngine::UPtr = typedef std::unique_ptr<T, Deleter>

UPtr is a smart pointer that owns and manages another object through a pointer and disposes of that object when the unique_ptr goes out of scope.

◆ URL

A Uniform Resource Identifier (URI) is a unique sequence of characters that identifies a logical or physical resource used by web technologies.

URIs may be used to identify anything, including real-world objects, such as people and places, concepts, or information resources such as web pages and books. Some URIs provide a means of locating and retrieving information resources on a network (either on the Internet or on another private network, such as a computer filesystem or an Intranet); these are Uniform Resource Locators (URLs). A URL provides the location of the resource. A URI identifies the resource by name at the specified location or URL. Other URIs provide only a unique name, without a means of locating or retrieving the resource or information about it, these are Uniform Resource Names (URNs). The web technologies that use URIs are not limited to web browsers. URIs are used to identify anything described using the Resource Description Framework (RDF), for example, concepts that are part of an ontology defined using the Web Ontology Language (OWL), and people who are described using the Friend of a Friend vocabulary would each have an individual URI.

Each URI begins with a scheme name that refers to a specification for assigning identifiers within that scheme. As such, the URI syntax is a federated and extensible naming system wherein each scheme's specification may further restrict the syntax and semantics of identifiers using that scheme.

The URI generic syntax consists of a hierarchical sequence of five components:

URI = scheme:[//authority]path[?query][#fragment]
A Uniform Resource Identifier (URI) is a unique sequence of characters that identifies a logical or p...
Definition URI.hpp:54

where the authority component divides into three subcomponents:

◆ URLDataStream

A stream that provides write-only stream functionality.

◆ URLInputStream

A stream that provides read-only stream functionality.

◆ URLOutputStream

A stream that provides write-only stream functionality.

◆ URLProtocolPtr

◆ URLRequestModeFlags

Determines the mode the request should be performed.

◆ ValidateRenderingCapabilitiesFunc

Callback interface for the validateRenderingCapabilities function.

Parameters
infoSpecifies a description why an attribute did not fulfill the requirement.
attribName of the attribute which did not fulfill the requirement.
Returns
true to continue the validation process, or false to break the validation process.
See also
validateRenderingCapabilities

◆ Vector

Vector is a sequence container that encapsulates dynamic size arrays.

◆ Vector2MaterialProperty

A material property with an associated Vector2 value and texture.

◆ Vector2MaterialPropertySwizzle

A material property swizzle for a Vector2 property.

◆ Vector3MaterialProperty

A material property with an associated Vector3 value and texture.

◆ Vector3MaterialPropertySwizzle

A material property swizzle for a Vector3 property.

◆ Vector4MaterialProperty

A material property with an associated Vector4 value and texture.

◆ Vector4MaterialPropertySwizzle

A material property swizzle for a Vector4 property.

◆ VertexBufferView

◆ VertexCount

A type that represents the number vertices in a mesh.

◆ VertexIndex

A type that represents a vertex index.

◆ VertexIndexSet

A type that represents a set of vertex indexes.

The vertex index indicates the order in which the renderer should fetch and render primitives.

◆ VirtualBlockAllocator

using CeresEngine::VirtualBlockAllocator = typedef foonathan::memory::virtual_block_allocator

◆ VirtualMemoryAllocator

using CeresEngine::VirtualMemoryAllocator = typedef foonathan::memory::virtual_memory_allocator

◆ VKAllocator

◆ VKBufferPtr

◆ VKCommandBufferPtr

◆ VKCommandQueuePtr

◆ VKComputePipelinePtr

◆ VKDeviceObjectCache

A object that caches existing Vulkan objects.

Stateless objects can be shared across the engine.

Template Parameters
ObjectTypeThe type of object managed by the cache object.
OwnerTypeThe type of the object owner.

◆ VKDevicePtr

◆ VKFencePtr

◆ VKGraphicsPipelinePtr

◆ VKImagePtr

◆ VKImageViewCache

A object that caches existing Vulkan objects.

Stateless objects can be shared across the engine.

Template Parameters
ObjectTypeThe type of object managed by the cache object.
OwnerTypeThe type of the object owner.

◆ VKImageViewPtr

◆ VKObjectAllocator

A pool allocator to be used for individual object pools.

◆ VKOcclusionQueryPtr

◆ VKPipelineLayoutPtr

◆ VKRenderPassPtr

◆ VKRenderTargetPtr

◆ VKResourceSetPtr

◆ VKSamplerPtr

◆ VKShaderProgramPtr

◆ VKShaderPtr

◆ VKSwapchainPtr

◆ VKSymbol

A symbol loaded from the Vulkan driver.

◆ VKTimerQueryPtr

◆ VKVector

◆ VolumetricTerrainPtr

◆ VPtr

template<typename T , size_t SmallSize = sizeof(int*) * 3>
using CeresEngine::VPtr = typedef ValuePtr<T, SmallSize>

A pointer type that has value semantics.

When creating a new VPtr, an object of type T or that has T as a base is created. When copying VPtr objects, the object is copied by calling its copy constructor.

When a VPtr is destroyed any object that might be contained in it is also destroyed.

Template Parameters
Tthe object type
SmallSizeif the concrete object is up to this size, it will be allocated on internal storage and no heap allocation will take place. By default, limits to the size of 3 pointers.

◆ Weeks

using CeresEngine::Weeks = typedef TTimeInterval<TimeInterval::rep, std::ratio<604800> >

A time duration with weeks.

◆ WGBufferPtr

◆ WGCommandBufferPtr

◆ WGCommandQueuePtr

◆ WGComputePipelinePtr

◆ WGDevicePtr

◆ WGFencePtr

◆ WGGraphicsPipelinePtr

◆ WGImagePtr

◆ WGImageViewPtr

◆ WGOcclusionQueryPtr

◆ WGPipelineLayoutPtr

◆ WGRenderPassPtr

◆ WGRenderTargetPtr

◆ WGResourceSetPtr

◆ WGSamplerPtr

◆ WGShaderProgramPtr

◆ WGShaderPtr

◆ WGSwapchainPtr

◆ WGTimerQueryPtr

◆ WPtr

template<typename T >
using CeresEngine::WPtr = typedef std::weak_ptr<T>

WPtr is a smart pointer that holds a non-owning ("weak") reference to an object that is managed by SPtr.

It must be converted to SPtr in order to access the referenced object.

◆ WString

Wide string used primarily for handling Unicode text (UTF-32 on Linux, UTF-16 on Windows, generally).

◆ WStringInputStream

Wide string stream used for primarily for constructing wide strings.

◆ WStringOutputStream

Wide string stream used for primarily for constructing wide strings.

◆ WStringStream

Wide string stream used for primarily for constructing wide strings.

◆ WStringView

Wide string view used primarily for handling Unicode text (UTF-32 on Linux, UTF-16 on Windows, generally).

◆ Years

using CeresEngine::Years = typedef TTimeInterval<TimeInterval::rep, std::ratio<31556952> >

A time duration with years.

Enumeration Type Documentation

◆ AudioResourceType

Enumerator
Clip 

A audio clip is a small piece of audio that is entirely loaded into memory.

Stream 

A audio stream is a larger piece of audio that will be streammed for the device (instead of feeding all audio samples all at once).

◆ Axis

A enumeration of known axes.

Input providers can map custom axis not included in the list.

Enumerator
MouseVertical 

A axis that represents the mouse cursor vertical position.

MouseHorizontal 

A axis that represents the mouse cursor horizontal position.

MouseScrollVertical 

A axis that represents the mouse scroll wheel vertical position.

MouseScrollHorizontal 

A axis that represents the mouse scroll wheel horizontal position.

Unknown 

A special axis value that represents a axis that is unknown.

◆ Button

A enumeration of known buttons.

Input providers can map custom buttons not included in the list.

Enumerator
None 
Space 
Apostrophe 
Comma 
Minus 
Period 
Slash 
Semicolon 
Equal 
Number0 
Number1 
Number2 
Number3 
Number4 
Number5 
Number6 
Number7 
Number8 
Number9 
LeftBracket 
RightBracket 
Backslash 
GraveAccent 
World1 
World2 
Escape 
Enter 
Tab 
Backspace 
Insert 
Delete 
Right 
Left 
Down 
Up 
PageUp 
PageDown 
Home 
End 
CapsLock 
ScrollLock 
NumLock 
PrintScreen 
Pause 
F1 
F2 
F3 
F4 
F5 
F6 
F7 
F8 
F9 
F10 
F11 
F12 
F13 
F14 
F15 
F16 
F17 
F18 
F19 
F20 
F21 
F22 
F23 
F24 
F25 
Keypad0 
Keypad1 
Keypad2 
Keypad3 
Keypad4 
Keypad5 
Keypad6 
Keypad7 
Keypad8 
Keypad9 
KeypadDecimal 
KeypadDivide 
KeypadMultiply 
KeypadSubtract 
KeypadAdd 
KeypadEnter 
KeypadEqual 
LeftShift 
LeftControl 
LeftAlt 
LeftSuper 
RightShift 
RightControl 
RightAlt 
RightSuper 
Menu 
MouseLeft 
MouseMiddle 
MouseRight 
Mouse0 
Mouse1 
Mouse2 
Mouse3 
Mouse4 
Mouse5 
Mouse6 
Mouse7 
Unknown 

◆ Byte

◆ CameraProjection

The camera lens options control the way 3D objects are represented in a 2D image.

Enumerator
Perspective 

This matches how you view things in the real world.

Objects in the distance will appear smaller than objects in the foreground, and parallel lines (such as the rails on a railroad) will appear to converge as they get farther away.

Orthographic 

With Orthographic perspective objects always appear at their actual size, regardless of distance.

This means that parallel lines appear parallel, and do not converge like they do with Perspective.

◆ ClippingRange

Clipping depth range enumeration.

Enumerator
MinusOneToOne 

Specifies the clipping depth range [-1, 1].

Note
Native clipping depth range in: OpenGL.
ZeroToOne 

Specifies the clipping depth range [0, 1].

Native clipping depth range in: Direct3D 11, Direct3D 12, Vulkan.

◆ ComponentDirtyBit

Enumerator
Added 
Updated 
Removed 

◆ CursorMode

A enumeration of supported cursor modes.

Enumerator
Normal 

Displays the cursor normally as per the user operating system preferences.

Hidden 

Hides the cursor, but does not capture it.

Captured 

Captures the cursor.

◆ DataType

Renderer data types enumeration.

Enumerator
Int8 

8-bit signed integer (char).

UInt8 

8-bit unsigned integer (unsigned char).

Int16 

16-bit signed integer (short).

UInt16 

16-bit unsigned integer (unsigned short).

Int32 

32-bit signed integer (int).

UInt32 

32-bit unsigned integer (unsiged int).

Float16 

16-bit floating-point (half).

Float32 

32-bit floating-point (float).

Float64 

64-bit real type (double).

◆ DispatchQueueType

Specifies the type of the queue.

Enumerator
Serial 

A dispatch queue that executes blocks serially in FIFO order.

Concurrent 

A dispatch queue that executes blocks concurrently.

◆ Endian

A enumeration for possible endinesses.

Enumerator
Big 
Little 
Native 

◆ EntityDirtyBit

Enumerator
Name 
Parent 
Children 
Component 

◆ FileEvent

Type of event on the file system.

Enumerator
Created 

A file or directory has been created.

Removed 

A file or directory has been removed.

Modified 

A file or directory has been modified.

AttributeChanged 

Attributes on a file or directory have been modified.

Default 

◆ FontRenderingMode

Enumerator
DefaultRenderingMode 

Determines the actual mode based on the user preference settings.

AntialiasedRenderingMode 

Specifies antialiased, floating-point advancements rendering mode.

IntegerAdvancementsRenderingMode 

Specifies integer advancements rendering mode.

AntialiasedIntegerAdvancementsRenderingMode 

Specifies antialiased, integer advancements rendering mode.

◆ Format

Enumerator
Undefined 

Undefined format.

R8UNorm 

Color format: red 8-bit normalized unsigned integer.

component.

R8SNorm 

Color format: red 8-bit normalized signed integer.

component.

R8UInt 

Color format: red 8-bit unsigned integer component.

R8SInt 

Color format: red 8-bit signed integer component.

R16UNorm 

Color format: red 16-bit normalized unsigned interger.

component.

R16SNorm 

Color format: red 16-bit normalized signed interger.

component.

R16UInt 

Color format: red 16-bit unsigned interger component.

R16SInt 

Color format: red 16-bit signed interger component.

R16Float 

Color format: red 16-bit floating point component.

R32UInt 

Color format: red 32-bit unsigned interger component.

R32SInt 

Color format: red 32-bit signed interger component.

R32Float 

Color format: red 32-bit floating point component.

RG8UNorm 

Color format: red, green 8-bit normalized unsigned.

integer components.

RG8SNorm 

Color format: red, green 8-bit normalized signed integer.

components.

RG8UInt 

Color format: red, green 8-bit unsigned integer.

components.

RG8SInt 

Color format: red, green 8-bit signed integer components.

RG16UNorm 

Color format: red, green 16-bit normalized unsigned.

interger components.

RG16SNorm 

Color format: red, green 16-bit normalized signed.

interger components.

RG16UInt 

Color format: red, green 16-bit unsigned interger.

components.

RG16SInt 

Color format: red, green 16-bit signed interger.

components.

RG16Float 

Color format: red, green 16-bit floating point.

components.

RG32UInt 

Color format: red, green 32-bit unsigned interger.

components.

RG32SInt 

Color format: red, green 32-bit signed interger.

components.

RG32Float 

Color format: red, green 32-bit floating point.

components.

RGB8UNorm 

Color format: red, green, blue 8-bit normalized unsigned.

integer components.

Note
Only supported with: OpenGL, Vulkan.
RGB8SNorm 

Color format: red, green, blue 8-bit normalized signed.

integer components.

Note
Only supported with: OpenGL, Vulkan.
RGB8UInt 

Color format: red, green, blue 8-bit unsigned integer.

components.

Note
Only supported with: OpenGL, Vulkan.
RGB8SInt 

Color format: red, green, blue 8-bit signed integer.

components.

Note
Only supported with: OpenGL, Vulkan.
RGB16UNorm 

Color format: red, green, blue 16-bit normalized.

unsigned interger components.

Note
Only supported with: OpenGL, Vulkan.
RGB16SNorm 

Color format: red, green, blue 16-bit normalized signed.

interger components.

Note
Only supported with: OpenGL, Vulkan.
RGB16UInt 

Color format: red, green, blue 16-bit unsigned interger.

components.

Note
Only supported with: OpenGL, Vulkan.
RGB16SInt 

Color format: red, green, blue 16-bit signed interger.

components.

Note
Only supported with: OpenGL, Vulkan.
RGB16Float 

Color format: red, green, blue 16-bit floating point.

components.

Note
Only supported with: OpenGL, Vulkan.
RGB32UInt 

Color format: red, green, blue 32-bit unsigned interger.

components.

RGB32SInt 

Color format: red, green, blue 32-bit signed interger.

components.

RGB32Float 

Color format: red, green, blue 32-bit floating point.

components.

RGBA8UNorm 

Color format: red, green, blue, alpha 8-bit normalized.

unsigned integer components.

RGBA8SNorm 

Color format: red, green, blue, alpha 8-bit normalized.

signed integer components.

RGBA8UInt 

Color format: red, green, blue, alpha 8-bit unsigned.

integer components.

RGBA8SInt 

Color format: red, green, blue, alpha 8-bit signed.

integer components.

RGBA16UNorm 

Color format: red, green, blue, alpha 16-bit.

normalized unsigned interger components.

RGBA16SNorm 

Color format: red, green, blue, alpha 16-bit.

normalized signed interger components.

RGBA16UInt 

Color format: red, green, blue, alpha 16-bit unsigned.

interger components.

RGBA16SInt 

Color format: red, green, blue, alpha 16-bit signed.

interger components.

RGBA16Float 

Color format: red, green, blue, alpha 16-bit floating.

point components.

RGBA32UInt 

Color format: red, green, blue, alpha 32-bit unsigned.

interger components.

RGBA32SInt 

Color format: red, green, blue, alpha 32-bit signed.

interger components.

RGBA32Float 

Color format: red, green, blue, alpha 32-bit floating.

point components.

R64Float 

-> Extended color formats

Color format: red 64-bit floating point component.

Note
Only supported with: OpenGL, Vulkan.
RG64Float 

Color format: red, green 64-bit floating point.

components.

Note
Only supported with: OpenGL, Vulkan.
RGB64Float 

Color format: red, green, blue 64-bit floating point.

components.

Note
Only supported with: OpenGL, Vulkan.
RGBA64Float 

Color format: red, green, blue, alpha 64-bit floating.

point components.

Note
Only supported with: OpenGL, Vulkan.
BGRA8UNorm 

-> Reversed color formats

Color format: blue, green, red, alpha 8-bit normalized unsigned integer components.

BGRA8SNorm 

Color format: blue, green, red, alpha 8-bit normalized.

signed integer components.

Note
Only supported with: Vulkan.
BGRA8UInt 

Color format: blue, green, red, alpha 8-bit unsigned.

integer components.

Note
Only supported with: Vulkan.
BGRA8SInt 

Color format: blue, green, red, alpha 8-bit signed.

integer components.

Note
Only supported with: Vulkan.
BGRA8sRGB 

Color format: blue, green, red, alpha 8-bit normalized.

unsigned integer components in sRGB non-linear color space.

Note
Only supported with: Vulkan, Direct3D 11, Direct3D 12, Metal.
D16UNorm 

-> Depth-stencil formats

Depth-stencil format: depth 16-bit normalized unsigned integer component.

D24UNormS8UInt 

Depth-stencil format: depth 24-bit normalized.

unsigned integer component, and 8-bit unsigned integer stencil component.

D32Float 

Depth-stencil format: depth 32-bit floating point.

component.

D32FloatS8X24UInt 

Depth-stencil format: depth 32-bit floating.

point component, and 8-bit unsigned integer stencil components (where the remaining 24 bits are unused).

BC1RGB 

-> Compressed color formats

Compressed color format: RGB S3TC DXT1 with 8 bytes per 4x4 block.

Note
Only supported with: OpenGL, Vulkan.
BC1RGBA 

Compressed color format: RGBA S3TC DXT1 with 8 bytes per.

4x4 block.

BC2RGBA 

Compressed color format: RGBA S3TC DXT3 with 16 bytes per.

4x4 block.

BC3RGBA 

Compressed color format: RGBA S3TC DXT5 with 16 bytes per.

4x4 block.

◆ GPUAttachmentLoadOp

Enumeration for render pass attachment load operations.

See also
AttachmentFormatDescriptor
Enumerator
Undefined 

We don't care about the previous content of the respective render target attachment.

Load 

Loads the previous content of the respective render target attachment.

Clear 

Clear the previous content of the respective render target attachment.

◆ GPUAttachmentStoreOp

Enumeration for render pass attachment store operations.

See also
AttachmentFormatDescriptor
Enumerator
Undefined 

We don't care about the outcome of the respective render target attachment.

Remarks
Can be used, for example, if we only need the depth buffer for the depth test, but nothing is written to it.
Store 

Stores the outcome in the respective render target attachment.

◆ GPUAttachmentType

Render target attachment type enumeration.

Enumerator
Color 

Attachment is used for color output.

Depth 

Attachment is used for depth component output.

DepthStencil 

Attachment is used for depth component and stencil index output.

Stencil 

Attachment is used for stencil index output.

◆ GPUBlendArithmetic

Blending arithmetic operations enumeration.

Enumerator
Add 

Add source 1 and source 2. This is the default for all renderers.

Subtract 

Subtract source 1 from source 2.

ReverseSubtract 

Subtract source 2 from source 1.

Min 

Find the minimum of source 1 and source 2.

Max 

Find the maximum of source 1 and source 2.

◆ GPUBlendOp

Blending operations enumeration.

Enumerator
Zero 

Data source is the color black (0, 0, 0, 0).

One 

Data source is the color white (1, 1, 1, 1).

SourceColor 

Data source is color data (RGB) from a fragment shader.

InverseSourceColor 

Data source is inverted color data (1 - RGB) from a fragment shader.

SourceAlpha 

Data source is alpha data (A) from a fragment shader.

InverseSourceAlpha 

Data source is inverted alpha data (1 - A) from a fragment shader.

DestinationColor 

Data source is color data (RGB) from a framebuffer.

InverseDestinationColor 

Data source is inverted color data (1 - RGB) from a framebuffer.

DestinationAlpha 

Data source is alpha data (A) from a framebuffer.

InverseDestinationAlpha 

Data source is inverted alpha data (1 - A) from a framebuffer.

SourceAlphaSaturate 

Data source is alpha data (A) from a fragment shader which is clamped to 1 or less.

BlendFactor 

Data source is the blend factor (RGBA) from the blend state.

InverseBlendFactor 

Data source is the inverted blend factor (1 - RGBA) from the blend state.

Source1Color 

Data sources are both color data (RGB) from a fragment shader with dual-source color blending.

InverseSource1Color 

Data sources are both inverted color data (1 - RGB) from a fragment shader with dual-source color blending.

Source1Alpha 

Data sources are both alpha data (A) from a fragment shader with dual-source color blending.

InverseSource1Alpha 

Data sources are both inverted alpha data (1 - A) from a fragment shader with dual-source color blending.

◆ GPUBufferType

Hardware buffer type enumeration.

Enumerator
Generic 

Generic buffer type. Can be used for multiple purposes.

Vertex 

Vertex buffer type.

Index 

Index buffer type.

Uniform 

Uniform buffer type (also called "Constant Buffer Object").

Storage 

Storage buffer type (also called "Shader Storage Buffer Object" or "Read/Write Buffer").

Indirect 

Indirect draw buffer type.

◆ GPUBufferUsageFlag

Enumerator
Automatic 

Automatically defines the buffer usage based on type.

Source 

Specifies that the buffer can be used as the source of a transfer command.

Destination 

Specifies that the buffer can be used as the destination of a transfer command.

Uniform 

Specifies that the buffer can be used in a descriptor buffer suitable for occupying a descriptor slot.

Index 

Specifies that the buffer is suitable for passing as the buffer parameter to index buffer.

Vertex 

Specifies that the buffer is suitable for passing as an element of the vertex buffer.

Storage 
Indirect 

Specifies the buffer is suitable for passing to a indirect draw call.

◆ GPUCompareOp

Compare operations enumeration.

Remarks
This operation is used for depth tests, stencil tests, and image sample comparisons.
Enumerator
NeverPass 

Comparison never passes.

Less 

Comparison passes if the source data is less than the destination data.

Equal 

Comparison passes if the source data is euqal to the right-hand-side.

LessEqual 

Comparison passes if the source data is less than or equal to the right-hand-side.

Greater 

Comparison passes if the source data is greater than the right-hand-side.

NotEqual 

Comparison passes if the source data is not equal to the right-hand-side.

GreaterEqual 

Comparison passes if the source data is greater than or equal to the right-hand-side.

AlwaysPass 

Comparison always passes.

◆ GPUConservativeRasterizationMode

Specify the conservative rasterization mode.

Enumerator
Overestimate 

Specifies that conservative rasterization is enabled in overestimation mode.

Underestimate 

Specifies that conservative rasterization is enabled in underestimation mode.

◆ GPUCullMode

Polygon culling modes enumeration.

Enumerator
Disabled 

No culling.

Front 

Front face culling.

Back 

Back face culling.

◆ GPUImageLayout

Enumerator
DontCare 
Attachment 
DepthAttachment 
ShaderAccess 
Present 

◆ GPUImageSwizzle

Image component swizzle enumeration.

Remarks
Can be used to change the order of texel components independently of a shader.
Enumerator
Zero 

The component is replaced by the constant zero.

One 

The component is replaced by the constant one.

Red 

The component is replaced by red component.

Green 

The component is replaced by green component.

Blue 

The component is replaced by blue component.

Alpha 

The component is replaced by alpha component.

◆ GPUImageType

Enumerator
Image1D 

1-Dimensional image.

Image2D 

2-Dimensional image.

Image3D 

3-Dimensional image.

ImageCube 

Cube image.

Image1DArray 

1-Dimensional array image.

Image2DArray 

2-Dimensional array image.

ImageCubeArray 

Cube array image.

Image2DMS 

2-Dimensional multi-sample image.

Image2DMSArray 

2-Dimensional multi-sample array image.

None 

◆ GPUImageUsageFlags

Enumerator
Attachment 

Image can be used as render target attachment.

Sample 

Image can be used for sampling (e.g.

"sampler2D" in GLSL, or "Image2D" in HLSL).

Storage 

Image can be used as storage image (e.g.

"image2D" in GLSL, or "RWImage2D" in HLSL).

◆ GPULogicOp

Logical pixel operation enumeration.

These logical pixel operations are bitwise operations. In the following documentation, 'src' denotes the source color and 'dst' denotes the destination color.

Enumerator
Disabled 

No logical pixel operation.

Clear 

Resulting operation: 0.

Set 

Resulting operation: 1.

Copy 

Resulting operation: src.

CopyInverted 

Resulting operation: ~src.

NoOp 

Resulting operation: dst.

Invert 

Resulting operation: ~dst.

AND 

Resulting operation: src & dst.

ANDReverse 

Resulting operation: src & ~dst.

ANDInverted 

Resulting operation: ~src & dst.

NAND 

Resulting operation: ~(src & dst).

OR 

Resulting operation: src | dst.

ORReverse 

Resulting operation: src | ~dst.

ORInverted 

Resulting operation: ~src | dst.

NOR 

Resulting operation: ~(src | dst).

XOR 

Resulting operation: src ^ dst.

Equivalent 

Resulting operation: ~(src ^ dst).

◆ GPUMemoryProperty

Flag specifying properties for a memory type.

Enumerator
DeviceLocal 

Specifies that memory allocated with this type is the most efficient for device access.

HostVisible 

Specifies that memory allocated with this type can be mapped for host access.

HostCoherent 

Specifies that the host cache management commands such as flush and invalidate are not needed to flush host writes to the device or make device writes visible to the host, respectively.

HostCached 

Specifies that memory allocated with this type is cached on the host.

Host memory accesses to uncached memory are slower than to cached memory, however uncached memory is always host coherent.

LazilyAllocated 

Specifies that the memory type only allows device access to the memory.

Memory types must not have both LazilyAllocated and HostVisible set. Additionally, the object's backing memory may be provided by the implementation lazily.

ProtectedMemory 

Specifies that the memory type only allows device access to the memory, and allows protected queue operations to access the memory.

Memory types must not have ProtectedMemory set and any of HostVisible, HostCoherent or HostCached set.

◆ GPUPipelineStage

Shader stage flags enumeration.

Remarks
Specifies which shader stages are affected by a state change, e.g. to which shader stages a constant buffer is set. For the render systems, which do not support these flags, always all shader stages are affected.
Enumerator
Vertex 

Specifies the vertex shader stage.

TesselationControl 

Specifies the tessellation-control shader stage (also "Hull Shader").

TesselationEvaluation 

Specifies the tessellation-evaluation shader stage (also "Domain Shader").

Geometry 

Specifies the geometry shader stage.

Fragment 

Specifies the fragment shader stage (also "Pixel Shader").

Compute 

Specifies the compute shader stage.

Task 

Specifies the task shader stage.

Mesh 

Specifies the mesh shader stage.

RayTracingRayGeneration 

Specifies the ray-tracing ray generation shader stage.

RayTracingAnyHit 

Specifies the ray-tracing ray hit shader stage.

RayTracingClosestHit 

Specifies the ray-tracing closest ray hit shader stage.

RayTracingMiss 

Specifies the ray-tracing ray miss shader stage.

RayTracingIntersection 

Specifies the ray-tracing ray intersection shader stage.

RayTracingCallable 

Specifies the ray-tracing callable shader stage.

ReadOnlyResource 

Specifies whether a resource is bound to the shader stages for reading only.

Remarks
This can be used to set the shader-resource-view (SRV) of a storage buffer to the shader stages instead of the unordered-access-view (UAV), which is the default, if the storage buffer has such a UAV.
Tesselation 

Specifies all tessellation stages, i.e.

tessellation-control-, tessellation-evaluation shader stages.

Graphics 

Specifies all graphics pipeline shader stages, i.e.

vertex-, tessellation-, geometry-, and fragment shader stages.

All 

Specifies all shader stages.

◆ GPUPolygonMode

Polygon filling modes enumeration.

Enumerator
Fill 

Draw filled polygon.

Wireframe 

Draw triangle edges only.

Points 

Draw vertex points only.

◆ GPUResourceBindingType

An enumeration of supported resource binding types.

Enumerator
Undefined 

Undefined resource binding type.

UniformBuffer 

Uniform buffer (or constant buffer) binding resource.

DynamicUniformBuffer 

Dynamic uniform buffer (or constant buffer) binding resource.

StorageBuffer 

Storage buffer binding resource.

Image 

Image resource.

Sampler 

Sampler state binding resource.

CombinedSampler 

Combined sampler with a associated binding image.

StorageImage 

Storage image resource type.

◆ GPUResourceType

An enumeration of supported resource types.

Enumerator
Undefined 

Undefined resource type.

UniformBuffer 

Uniform buffer (or constant buffer) resource.

DynamicUniformBuffer 

Dynamic uniform buffer (or constant buffer) resource.

StorageBuffer 

Storage buffer resource.

Image 

Image resource.

Sampler 

Sampler state resource.

CombinedSampler 

Combined sampler with a associated image.

StorageImage 

Storage image resource type.

◆ GPUSamplerAddressMode

Technique for resolving image coordinates that are outside of the range [0, 1].

Enumerator
Repeat 

Repeat image coordinates within the interval [0, 1).

Mirror 

Flip image coordinates at each integer junction.

Clamp 

Clamp image coordinates to the interval [0, 1].

Border 

Sample border color for image coordinates that are outside the interval [0, 1].

MirrorOnce 

Takes the absolute value of the image coordinates and then clamps it to the interval [0, 1], i.e.

mirror around 0.

◆ GPUSamplerFilter

Sampling filter enumeration.

Enumerator
Nearest 

Take the nearest image sample.

Linear 

Interpolate between multiple image samples.

Cubic 

Interpolate between multiple image samples using cubic interpolation.

◆ GPUStencilOp

Stencil operations enumeration.

Enumerator
Keep 

Keep the existing stencil data.

Zero 

Set stencil data to 0.

Replace 

Set the stencil data to the reference value.

See also
StencilFaceDescriptor::reference
IncrementAndClamp 

Increment the stencil value by 1, and clamp the result.

DecrementAndClamp 

Decrement the stencil value by 1, and clamp the result.

Invert 

Invert the stencil data.

IncrementAndWrap 

Increment the stencil value by 1, and wrap the result if necessary.

DecrementAndWrap 

Decrement the stencil value by 1, and wrap the result if necessary.

◆ GraphSocketDirection

Enumeration that determines the direction of a socket.

Enumerator
Input 

Determines that the socket takes a value as input.

Output 

Determines that the socket takes a value as output.

◆ GraphSocketFlag

A set of user-defined flags that customize behavior of a socket.

Enumerator
Exsocketed 

If set to true, this socket will be considered connected and, if let unconneted, will be available as an input/output socket on a GraphInstacen the parent graph is added to.

◆ GraphValueType

Enumerator
Float 
Double 

◆ InputEventType

A structure that describes the type of an event.

Enumerator
Key 

The event is of type KeyEvent.

Mouse 

The event is of type MouseEvent.

Text 

The event is of type TextEvent.

◆ KeyEventType

A enumeration that defines the type of key events.

Enumerator
Down 

The key event represents a pressed key.

Up 

The key event represents a released key.

◆ LightType

Enumerator
Point 

The point light is an omni-directional point of light, that is, a point radiating the same amount of light in all directions.

It's visualized by a plain, circled dot. Being a point light source, the direction of the light hitting an object's surface is determined by the line joining the light and the point on the surface of the object itself. It can be used as simple model of e.g. a light bulb.

Light intensity/energy decays based on (among other variables) distance from the point light to the object. In other words, surfaces that are further away will be rendered darker.

Directional 

A sun light provides light of constant intensity emitted in a single direction from infinitely far away.

It can be very handy for a uniform clear daylight open-space illumination.

Spot 

A spot light emits a cone-shaped beam of light from the tip of the cone, in a given direction.

Area 

The area light simulates light originating from a surface (or surface-like) emitter.

For example, a TV screen, office neon lights, a window, or a cloudy sky are just a few types of area light. The area light produces shadows with soft borders by sampling a light along a grid the size of which is defined by the user. This is in direct contrast to point-like artificial lights which produce sharp borders.

◆ LineBreakMode

Constants that specify what happens when a line is too long for its container.

Enumerator
ByWordWrapping 

Wrapping occurs at word boundaries, unless the word itself doesn't fit on a single line.

ByCharWrapping 

Wrapping occurs before the first character that doesn't fit.

ByClipping 

Lines are simply not drawn past the edge of the text container.

ByTruncatingHead 

The line is displayed so that the end fits in the container and the missing text at the beginning of the line is indicated by an ellipsis glyph.

Although this mode works for multiline text, it is more often used for single line text.

ByTruncatingTail 

The line is displayed so that the beginning fits in the container and the missing text at the end of the line is indicated by an ellipsis glyph.

Although this mode works for multiline text, it is more often used for single line text.

ByTruncatingMiddle 

The line is displayed so that the beginning and end fit in the container and the missing text in the middle is indicated by an ellipsis glyph.

This mode is used for single-line layout; using it with multiline text truncates the text into a single line.

◆ MaterialGraphMathOperation

Enumerator
Add 
Subtract 
Multiply 
Divide 
Max 
Min 

◆ MaterialGraphSocketType

Specifies the type of a value connected in a material graph node.

Enumerator
Float 
Vector2 
Vector3 
Vector4 

◆ MaterialNormalMapSpace

Specifies the kind of normal map used by a material.

Enumerator
Tangent 

Specifies that the normal map is in tangent space.

Object 

Specifies that the normal map is in object space.

World 

Specifies that the normal map is in world space.

◆ MetaCategory

The category of a MetaItem.

Enumerator
Class 

Indicates that the item is a class.

Property 

Indicates that the item is a property.

Method 

Indicates that the item is a method.

Constructor 

Indicates that the item is a constructor.

Enum 

Indicates that the item is an enum.

EnumValue 

Indicates that the item is an enum value.

◆ MetaMemberIterationFlag

A set of flags that control the iteration of class members.

Enumerator
None 

The default no-flag value.

IncludeFromBase 

If set, will include members from base classes.

Default 

The default value for member iteration properties.

◆ ModifierButton

A enumeration of possible modifier buttons.

Enumerator
Shift 

A constant for the shift modifier key.

Control 

A constant for the control modifier key.

Alt 

A constant for the alt modifier key.

Super 

A constant for the super modifier key, called the "windows key" on Windows PCs and "command" on Macintosh.

CapsLock 

A constant for the capsLock modifier key.

NumLock 

A constant for the numLock modifier key.

ScrollLock 

A constant for the scrollLock modifier key.

None 

A special modifier button constant that only returns true if no modifier key is pressed.

◆ MouseEventType

A enumeration that defines the type of mouse events.

Enumerator
Down 

The mouse event represents a pressed button.

Up 

The mouse event represents a released button.

Move 

The mouse event represents a mouse movement.

Drag 

The mouse event represents a mouse drag.

Scroll 

The mouse event represents a mouse scroll wheel.

◆ Origin

Screen coordinate system origin enumeration.

Enumerator
LowerLeft 

Specifies a screen origin in the lower-left.

Native screen origin in: OpenGL.

UpperLeft 

Specifies a screen origin in the upper-left.

Native screen origin in: Direct3D 11, Direct3D 12, Vulkan.

◆ Precision

Enumerator
Uint8 

A image that represents each channel using 8 bits.

Float16 

A image that represents each channel using 16 bit floats.

Float32 

A image that represents each channel using 32 bit floats.

◆ RendererCameraDirtyFlag

Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.

Enumerator
None 

Special value that represents a clean (i.e. non-dirty) object.

Transform 

Indicates that the object transform is dirty.

Component 

Indicates that the object component data has changed.

UniformBuffer 

Indicates that only the uniform buffer is dirty.

Flags 

Indicates that only the object flags are dirty.

All 

Special value that represents a dirty object with all parts dirty.

◆ RendererCameraFlag

Flags that can be either set by the renderer or by the user to customize the behavior of the camera.

◆ RendererComputePipelineFlag

Flags that can be either set by the renderer or by the user to customize the behavior of the compute pipeline.

◆ RendererEnvironmentDirtyFlag

Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.

Enumerator
None 

Special value that represents a clean (i.e. non-dirty) object.

Component 

Indicates that the object component data has changed.

UniformBuffer 

Indicates that only the uniform buffer is dirty.

Flags 

Indicates that only the object flags are dirty.

All 

Special value that represents a dirty object with all parts dirty.

◆ RendererEnvironmentType

Enumeration that determines the type of renderer environment.

Enumerator
Skybox 

Indicates that the environment is a simple skybox.

Baked 

Indicates that the environment a baked environment map.

Probe 

Indicates that the environment is captured dynamically on the scene using a probe.

◆ RendererGraphicsPipelineFlag

Flags that can be either set by the renderer or by the user to customize the behavior of the graphics pipeline.

◆ RendererLightDirtyFlag

Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.

Enumerator
None 

Special value that represents a clean (i.e. non-dirty) object.

Transform 

Indicates that the object transform is dirty.

Component 

Indicates that the object component data has changed.

UniformBuffer 

Indicates that only the uniform buffer is dirty.

Flags 

Indicates that only the object flags are dirty.

All 

Special value that represents a dirty object with all parts dirty.

◆ RendererLightFlag

Flags that can be either set by the renderer or by the user to customize the behavior of the light.

◆ RendererMeshDrawFlag

Enumerator
NoCoalescing 

If set, the renderer is allowed to coalesce and merge sequential sub-meshes into a single larger draw call.

AssumeVertexBufferIsAlreadyBound 

If set, the vertex buffer will be considered as already bound and will not be rebound.

AssumeIndexBufferIsAlreadyBound 

If set, the index buffer will be considered as already bound and will not be rebound.

AssumeBuffersAreAlreadyBound 

Same as AssumeVertexBufferIsAlreadyBound and AssumeIndexBufferIsAlreadyBound.

Default 

The default value for draw calls.

◆ RendererMeshFlag

Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.

Enumerator
Optimized 

If defined, the mesh was optimized before being uploaded to the GPU.

◆ RendererMeshState

An enumeration that contains possible states for a renderer mesh.

Enumerator
Pending 

The mesh is not uploaded to the GPU and the upload process hasn't started yet.

Uploading 

The mesh is in the process of being uploaded to the GPU, but the asynchronous upload operation hasn't finished yet.

Relocating 

The mesh is uploaded to the GPU but is in the process of being relocated to another vertex and index buffers.

The current buffers are still valid, but will be replaced soon as soon as the GPU finishes coping the data.

Uploaded 

The mesh is uploaded to the GPU and is ready to be used by the renderer.

◆ RendererRenderableDirtyFlag

Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.

Enumerator
None 

Special value that represents a clean (i.e. non-dirty) object.

Transform 

Indicates that the object transform is dirty.

Component 

Indicates that the object component data has changed.

UniformBuffer 

Indicates that only the uniform buffer is dirty.

Flags 

Indicates that only the object flags are dirty.

All 

Special value that represents a dirty object with all parts dirty.

◆ RendererRenderableFlag

Flags that can be either set by the renderer or by the user to customize the behavior of the renderable.

◆ RendererShaderFlag

Flags that can be either set by the renderer or by the user to customize the behavior of the shader.

◆ RendererTerrainDirtyFlag

Flags that can be either set by the renderer or by the user to customize the behavior of the mesh.

Enumerator
None 

Special value that represents a clean (i.e. non-dirty) object.

Transform 

Indicates that the object transform is dirty.

Component 

Indicates that the object component data has changed.

UniformBuffer 

Indicates that only the uniform buffer is dirty.

Flags 

Indicates that only the object flags are dirty.

All 

Special value that represents a dirty object with all parts dirty.

◆ RendererTerrainFlag

Flags that can be either set by the renderer or by the user to customize the behavior of the terrain.

◆ RendererTextureFlag

Flags that can be either set by the renderer or by the user to customize the behavior of the texture.

Enumerator
Compressed 

If set, the texture is compressed on the GPU.

Converted 

If set, the texture required format conversion before being uploaded to the GPU.

◆ RendererTextureInternalFlag

Internal flags set by the renderer to represent the current state of the texture.

Enumerator
HasMipMaps 

◆ RendererTextureState

An enumeration that contains possible states for a renderer texture.

Enumerator
Pending 

The texture is not uploaded to the GPU and the upload process hasn't started yet.

Uploading 

The texture is in the process of being uploaded to the GPU, but the asynchronous upload operation hasn't finished yet.

Relocating 

The texture is uploaded to the GPU but is in the process of being relocated to another image.

The current image is still valid, but will be replaced soon as soon as the GPU finishes coping the data.

Uploaded 

The texture is uploaded to the GPU and is ready to be used by the renderer.

◆ RendererTextureType

An enumeration that contains possible types for a renderer texture.

Enumerator
Texture1D 

The texture represents a 1D texture.

Texture2D 

The texture represents a regular 2D texture.

Texture3D 

The texture represents a 3D texture.

CubeMap 

The texture represents a cube map texture with 6 faces.

◆ RenderResourceType

Enumerator
Buffer 
Image 

◆ RenderTaskStatus

Enumerator
ForceRender 
DontRender 
RenderIfTargetDirty 

◆ ResourceStreamFlag

A set of flags that can be given when creating a new resource stream.

Can be used to customize how the stream should be created.

Enumerator
Seekable 

If defined, indicates that returned stream must be seekable.

This can severely limit what the implementations can do. For instance, it may disable compression on the data.

Compressible 

If defined, will indicate that the stream can be compressed.

Default 

The default flags for new resource streams.

◆ ResourceStreamReadFlag

Enumerator
Buffered 

◆ ResourceStreamWriteFlag

Enumerator
Buffered 
Truncate 

Truncates the data on the stream.

◆ SerializedArrayMetadataFlag

A set of flags that determine how the array is serialized.

Enumerator
None 

Specifies an empty flag set.

◆ SerializedCustomObjectMetadataFlag

A set of flags that determine how the object is serialized.

Enumerator
None 

◆ SerializedMapMetadataFlag

A set of flags that determine how the map is serialized.

Enumerator
None 

Specifies an empty flag set.

◆ SerializedObjectMetadataFlag

A set of flags that determine how the object is serialized.

Enumerator
None 
Polymorphic 

If set, indicates that the type is polymorphic and the serializer implementation must include the type name, in order to allow the deserializer the create the right instance.

If not defined, the serializer is free to serialize the object without type information, such as that type information can be deduced based on the target property.

Custom 

If set, indicates that the type used a custom serializer/deserializer implementation.

The content inside the object will not be interpretable by the standard reflection-based serializer/deserializer and requires custom code to be readable/writable.

If defined, the deserializer must ensure that the custom deserializer has fully consumed the serialized data.

◆ SerializedPropertyMetadataFlag

A set of flags that determine how the property is serialized.

Enumerator
None 

Specifies an empty flag set.

◆ ShaderSourceType

Shader source type enumeration.

Enumerator
Source 

Refers to a high-level source code.

Binary 

Refers to pre-compiled shader binary.

◆ ShaderStage

Shader stage flags enumeration.

Remarks
Specifies which shader stages are affected by a state change, e.g. to which shader stages a constant buffer is set. For the render systems, which do not support these flags, always all shader stages are affected.
Enumerator
Vertex 

Specifies the vertex shader stage.

TesselationControl 

Specifies the tessellation-control shader stage (also "Hull Shader").

TesselationEvaluation 

Specifies the tessellation-evaluation shader stage (also "Domain Shader").

Geometry 

Specifies the geometry shader stage.

Fragment 

Specifies the fragment shader stage (also "Pixel Shader").

Compute 

Specifies the compute shader stage.

Task 
Mesh 
RayTracingRayGeneration 
RayTracingAnyHit 
RayTracingClosestHit 
RayTracingMiss 
RayTracingIntersection 
RayTracingCallable 

◆ ShadingLanguage

Enumeration that indicates the supported shading languages.

Enumerator
CESL 

Specifies that the shader is using the CeresEngine Shading Language, an extension to HLSL with CeresEngine-specific extensions.

HLSL 

Specifies that the shader is using the HLSL Shading Language.

GLSL 

Specifies that the shader is using the GLSL Shading Language.

SPIRV 

Specifies that the shader compiled with SPIR-V.

◆ ShadowMapTechnique

Enumerator
Fixed 

Renders the shadow map from a fixed point.

Perspective 

Projects the shadow map to all objects visible in the camera's view frustum.

Cascaded 

Renders multiple shadow maps, cascading them in the entire view frustum.

For each level a greater area is covered with diminishing quality.

◆ SoftShadowTechnique

Enumerator
PercentageCloseFiltering 

Uses percentage close filtering (PCF) when rendering the shadows.

Variance 

Uses variance shadow mapping when rendering the shadows.

    \remarks This technique requires a special shadow map containing
    shadow map statistics. Most dynamic shadow mapping techniques
    natively support this. 

◆ TextLayoutManagerState

A set of flags that represent the layout manager state.

Enumerator
ShowsInvisibleCharacters 
ShowsControlCharacters 
UsesFontLeading 
UsesDefaultHyphenation 
NeedsLayout 

◆ TextureType

Enumerator
Texture1D 

1-Dimensional texture.

Texture2D 

2-Dimensional texture.

Texture3D 

3-Dimensional texture.

TextureCube 

Cube texture.

◆ TypeAttribute

Enumerator
NONE 
LREF 
RREF 
LREF_CONST 

◆ UIButtonType

Button types that can be used with UIButton

Enumerator
Regular 

A regular button type.

◆ UICheckboxState

Enumerator
Active 
Hover 
Clicked 

◆ UIEventType

The types of events handled by responder objects.

Enumerator
LeftMouseDown 

The user pressed the left mouse button.

LeftMouseUp 

The user released the left mouse button.

RightMouseDown 

The user pressed the right mouse button.

RightMouseUp 

The user released the right mouse button.

MouseMoved 

The user moved the mouse in a way that caused the cursor to move onscreen.

LeftMouseDragged 

The user moved the mouse while holding down the left mouse button.

RightMouseDragged 

The user moved the mouse while holding down the right mouse button.

MouseEntered 

The cursor entered a well-defined area, such as a view.

MouseExited 

The cursor exited a well-defined area, such as a view.

OtherMouseDown 

The user pressed a tertiary mouse button.

OtherMouseUp 

The user released a tertiary mouse button.

OtherMouseDragged 

The user moved the mouse while holding down a tertiary mouse button.

KeyDown 

The user pressed a key on the keyboard.

KeyUp 

The user released a key on the keyboard.

ScrollWheel 

The scroll wheel position changed.

FlagsChanged 

The event flags changed.

◆ UIModifierKey

Flags that represent key states in an event object.

Enumerator
CapsLock 

The Caps Lock key has been pressed.

Shift 

The Shift key has been pressed.

Control 

The Control key has been pressed.

Option 

The Option or Alt key has been pressed.

Command 

The Command key has been pressed.

NumericPad 

A key in the numeric keypad or an arrow key has been pressed.

Help 

The Help key has been pressed.

Function 

A function key has been pressed.

◆ UITextAlignment

These constants specify text alignment.

Enumerator
Left 

Text is visually left aligned.

Right 

Text is visually right aligned.

Center 

Text is visually center aligned.

Justified 

Text is justified.

◆ UITexturePosition

Constants for specifying the position of a view texture relative to its title.

Enumerator
NoTexture 

The view doesn't display an texture.

TextureOnly 

The cell displays an texture, but not a title.

TextureLeft 

The texture is to the left of the title.

TextureRight 

The texture is to the right of the title.

TextureBelow 

The texture is below the title.

TextureAbove 

The texture is above the title.

TextureOverlaps 

The texture overlaps the title.

◆ UITextureScaling

Constants that specify a view's texture scaling behavior.

Enumerator
None 

Do not scale the texture.

ProportionallyDown 

If it is too large for the destination, scale the texture down while preserving the aspect ratio.

AxesIndependently 

Scale each dimension to exactly fit destination.

ProportionallyUpOrDown 

Scale the texture to its maximum possible dimensions while both staying within the destination area and preserving its aspect ratio.

◆ UIViewAutoResizing

Enumerator
None 

The view cannot be resized.

FlexibleLeft 

The left margin between the view and its superview is flexible.

Width 

The view's width is flexible.

FlexibleRight 

The right margin between the view and its superview is flexible.

FlexibleBottom 

The bottom margin between the view and its superview is flexible.

Height 

The view's height is flexible.

FlexibleTop 

The top margin between the view and its superview is flexible.

Size 

The view's width & height are flexible.

Position 

The view corners are flexible.

That is, it's moved to keep the size constant.

All 

◆ UIViewState

Enumerator
NeedsTransformsUpdate 
NeedsDisplay 
NeedsLayout 
NeedsConstraintUpdate 
NeedsIntrinsicContentSizeUpdate 
Visible 
Active 
AutoResize 

◆ UIWindowState

Enumerator
NeedsDisplay 

◆ URLRequestMode

Determines the mode the request should be performed.

Enumerator
Read 

Requests reading support from the protocol.

Write 

Requests writing support from the protocool.

Create 

Creates the file if it doesn't exist.

Truncate 

Truncate the file if it exists.

ReadWrite 

Requests read and write support from the protocol.

Default 

A special value that lets the protocol use it's default behavior.

◆ Win32UserMessages

Enumerator
WM_USER_CALLBACK 
WM_USER_STOP 

Function Documentation

◆ ALLoad()

void CeresEngine::ALLoad ( const DynamicLibrary library)
noexcept

Loads the OpenAL functions from the given library.

Parameters
libraryThe OpenAL dynamic library

◆ ASIO_INITFN_AUTO_RESULT_TYPE()

template<typename ExecutionContext , ASIO_COMPLETION_TOKEN_FOR(void()) CompletionToken>
CeresEngine::ASIO_INITFN_AUTO_RESULT_TYPE ( CompletionToken  ,
void()   
) &
inline

◆ ASIO_MOVE_ARG()

CeresEngine::ASIO_MOVE_ARG ( CompletionToken  )

◆ async()

template<typename... Args, typename Continuation >
constexpr auto CeresEngine::async ( Continuation &&  continuation)
constexpr

Creates an Async from a promise/callback taking function.

Template Parameters
ArgsThe types (signature hint) the given promise is normalize with.
  • Some arguments indicate the types the promise will be invoked with.
    auto ct = cti::make_continuable<int, std::string>([](auto&& promise) {
    promise.set_value(200, "<html>...</html>");
    });
  • void as argument indicates that the promise will be invoked with no arguments:
    auto ct = cti::make_continuable<void>([](auto&& promise) {
    promise.set_value();
    });
Parameters
continuationThe continuation the continuable is created from. The continuation must be a callable type accepting a callback parameter which represents the object invokable with the asynchronous result of this continuable.
auto ct = async<std::string>([](auto&& promise) {
promise.set_value("result");
});
The callback may be stored or moved. In some cases the callback may be copied if supported by the underlying callback chain, in order to invoke the call chain multiple times. It's recommended to accept any callback instead of erasing it.
// Good practice:
auto ct = async<std::string>([](auto&& promise) {
promise.set_value("result");
});
// Good practice using a callable object:
struct Continuation {
template<typename T>
void operator() (T&& continuation) && {
// ...
}
}
auto ct = cti::make_continuable<std::string>(Continuation{});
// Bad practice (because of unnecessary type erasure):
auto ct = cti::make_continuable<std::string>(
[](cti::promise<std::string> promise) {
promise.set_value("result");
});
Returns
A continuable_base with unspecified template parameters which wraps the given continuation. In order to convert the continuable_base to a known type you need to apply type erasure through the continuable or promise facilities.
Note
You should always turn the callback/promise into a r-value if possible (std::move or std::forward) for qualifier correct invokation. Additionally it's important to know that all continuable promises are callbacks and just expose their call operator nicely through set_value and set_exception .
Since
1.0.0

◆ async_except()

template<typename... Args, typename Exception >
constexpr auto CeresEngine::async_except ( Exception &&  exception)
constexpr

Returns a continuable_base with the parameterized result which instantly resolves the promise with the given error type.

See an example below:

std::logic_error exception("Some issue!");
auto ptr = std::make_exception_ptr(exception);
auto ct = cti::make_exceptional_continuable<int>(ptr);
Template Parameters
ArgsThe fake signature of the returned continuable.
Since
3.0.0

◆ async_map()

template<typename Mapper , typename... T>
decltype(auto) CeresEngine::async_map ( Mapper &&  mapper,
T &&...  pack 
)
inline

Maps the pack with the given mapper.

This function tries to visit all plain elements which may be wrapped in:

  • homogeneous containers (Vector, List)
  • heterogenous containers (Tuple, Pair, Array) and re-assembles the pack with the result of the mapper. Mapping from one type to a different one is supported.

Elements that aren't accepted by the mapper are routed through and preserved through the hierarchy.

// Maps all integers to floats
async_map([](int value) {
return float(value);
},
decltype(auto) async_map(Mapper &&mapper, T &&... pack)
Maps the pack with the given mapper.
Definition Async.hpp:191
Exceptions
std::exceptionlike objects which are thrown by an invocation to the mapper.
Parameters
mapperA callable object, which accept an arbitrary type and maps it to another type or the same one.
packAn arbitrary variadic pack which may contain any type.
Returns
The mapped element or in case the pack contains multiple elements, the pack is wrapped into a Tuple.

◆ async_ready()

template<typename... Args>
auto CeresEngine::async_ready ( Args &&...  args)

Returns a continuable_base with no result which instantly resolves the promise with no values.

Attention
Usually using this function isn't needed at all since the continuable library is capable of working with plain values in most cases. Try not to use it since it causes unnecessary recursive function calls.
Since
3.0.0

◆ async_spread()

template<typename... T>
constexpr decltype(auto) CeresEngine::async_spread ( T &&...  args)
constexpr

Indicate that the result shall be spread across the parent container if possible.

This can be used to create a mapper function used in async_map that maps one element to an arbitrary count (1:n).

◆ async_traverse()

template<typename Mapper , typename... T>
void CeresEngine::async_traverse ( Mapper &&  mapper,
T &&...  pack 
)

Traverses the pack with the given visitor.

This function works in the same way as async_map, however, the result of the mapper isn't preserved.

See async_map for a detailed description.

◆ asyncBinaryRead() [1/2]

template<typename T , typename... Args>
Async< T > CeresEngine::asyncBinaryRead ( AsyncInputStream stream,
Args &&...  args 
)

◆ asyncBinaryRead() [2/2]

template<typename T , typename S , typename... Args>
Async< T > CeresEngine::asyncBinaryRead ( S stream,
Args &&...  args 
)

◆ asyncBinaryWrite() [1/2]

template<typename T , typename... Args>
Async CeresEngine::asyncBinaryWrite ( AsyncOutputStream stream,
const T value,
Args &&...  args 
)

◆ asyncBinaryWrite() [2/2]

template<typename T , typename S , typename... Args>
Async CeresEngine::asyncBinaryWrite ( S stream,
const T value,
Args &&...  args 
)

◆ axis()

Axis CeresEngine::axis ( const StringView str)
noexcept

Returns the Axis constant that is represented by str.

Parameters
strThe string representation of the axis
Returns
The Axis constant that is represented by str.

◆ binaryRead() [1/2]

template<typename T , typename... Args>
T CeresEngine::binaryRead ( InputStream stream,
Args &&...  args 
)

Reads a binary representation of T from the stream.

Note
The actual decoding of the data is done by BinaryCodec.

◆ binaryRead() [2/2]

template<typename T , typename S , typename... Args>
T CeresEngine::binaryRead ( S stream,
Args &&...  args 
)

◆ binaryWrite() [1/2]

template<typename T , typename... Args>
void CeresEngine::binaryWrite ( OutputStream stream,
const T value,
Args &&...  args 
)

Writes a binary representation of T to the stream.

Note
The actual encoding of the data is done by BinaryCodec.

◆ binaryWrite() [2/2]

template<typename T , typename S , typename... Args>
void CeresEngine::binaryWrite ( S stream,
const T value,
Args &&...  args 
)

◆ box() [1/3]

template<typename T >
Box CeresEngine::box ( const T value)

Creates a new Box object by wraping the value as a const-reference type.

◆ box() [2/3]

template<typename T >
Box CeresEngine::box ( T &&  value)

Creates a new Box object by wraping the value as a value type.

◆ box() [3/3]

template<typename T >
Box CeresEngine::box ( T value)

Creates a new Box object by wraping the value as a reference type.

◆ broadcast()

template<typename MemberPtr , typename T , typename... Args>
void CeresEngine::broadcast ( MemberPtr &&  member,
const Vector< T > &  list,
Args &&...  args 
)

Helper function that calls MemberPtr on all elements in list.

Template Parameters
MemberPtrA pointer to the member function to be called on all elements of the list.
TThe type of elements contained in the list.
ArgsA list of optional argument types to be given to the member function call.
Parameters
memberA pointer to the member function to be called on all elements of the list.
listA vector of objects of type T whose member must be called.
argsA list of optional argument to be given to the member function call.

◆ broadcastIf()

template<typename MemberPtr , typename T , typename... Args>
auto CeresEngine::broadcastIf ( MemberPtr &&  member,
const Vector< T > &  list,
Args &&...  args 
)

Helper function that calls MemberPtr on all elements in list.

If the called member returns a value that evaluates to true, the value is returned to the caller.

Template Parameters
MemberPtrA pointer to the member function to be called on all elements of the list.
TThe type of elements contained in the list.
ArgsA list of optional argument types to be given to the member function call.
Parameters
memberA pointer to the member function to be called on all elements of the list.
listA vector of objects of type T whose member must be called.
argsA list of optional argument to be given to the member function call.

◆ buildComponentMask() [1/3]

template<typename... Ts>
ComponentMask CeresEngine::buildComponentMask ( )
inline

◆ buildComponentMask() [2/3]

template<typename T >
void CeresEngine::buildComponentMask ( ComponentMask mask)
inline

◆ buildComponentMask() [3/3]

template<typename T , typename T1 , typename... Ts>
void CeresEngine::buildComponentMask ( ComponentMask mask)
inline

◆ button()

Button CeresEngine::button ( const StringView str)
noexcept

Returns the Button constant that is represented by str.

Parameters
strThe string representation of the button
Returns
The Button constant that is represented by str.

◆ byteswap()

template<Endian E, typename T >
requires (std::is_trivially_copyable_v<T>)
T CeresEngine::byteswap ( T  u)

Swaps the byte to/from the native byte-order to the target E byte-order.

Template Parameters
EThe target byte order.
TThe value type to be swapped.
Parameters
uThe value to be swapped.

◆ ce_counted_adopt()

template<ReferenceCountable T>
RC< T > CeresEngine::ce_counted_adopt ( T *const  ptr)

◆ ce_counted_new()

template<ReferenceCountable T, typename... Args>
RC< T > CeresEngine::ce_counted_new ( Args &&...  args)

◆ ce_cow_new()

template<typename T , typename U = T, typename... Args>
CopyOnWritePtr< T > CeresEngine::ce_cow_new ( Args &&...  args)

Creates a new copy-on-write pointer by constructing a new object of type U.

Template Parameters
UThe type of object to created a new instance for.
ArgsThe constructor argument types for the type U.
Parameters
argsThe constructor arguments for the type U.
Returns
A newly allocated copy-on-write pointer.

◆ ce_new()

template<typename T , typename... Args>
constexpr T * CeresEngine::ce_new ( Args &&...  args)
inlineconstexpr

◆ CE_RCPTR_TRAIT_DECL()

CeresEngine::CE_RCPTR_TRAIT_DECL ( LinuxFileSystem  )

◆ ce_scope_exit() [1/2]

template<typename Func >
auto CeresEngine::ce_scope_exit ( Func &&  func)
noexcept

◆ ce_scope_exit() [2/2]

template<typename T , typename Func >
auto CeresEngine::ce_scope_exit ( T ptr,
Func  func 
)
noexcept

◆ ce_shared_alloc()

template<typename T , typename Allocator , typename... Args>
constexpr SPtr< T > CeresEngine::ce_shared_alloc ( Allocator &  allocator,
Args &&...  args 
)
inlineconstexpr

◆ ce_shared_new()

template<typename T , typename... Args>
constexpr SPtr< T > CeresEngine::ce_shared_new ( Args &&...  args)
inlineconstexpr

◆ ce_unique_alloc()

template<typename T , typename RawAllocator , typename... Args>
constexpr UPtr< T, AllocatorDeleter< T, RawAllocator > > CeresEngine::ce_unique_alloc ( RawAllocator allocator,
Args &&...  args 
)
inlineconstexpr

◆ ce_unique_new()

template<typename T , typename... Args>
constexpr UPtr< T > CeresEngine::ce_unique_new ( Args &&...  args)
inlineconstexpr

◆ checkAction()

template<CEntityAction A>
constexpr void CeresEngine::checkAction ( )
inlineconstexpr

A trait that checks if the type A is a valid action type.

Template Parameters
Athe type to be checked

◆ checkComponent()

template<CComponent C>
constexpr void CeresEngine::checkComponent ( )
inlineconstexpr

A trait that checks if the type C is a valid component type.

Template Parameters
Cthe type to be checked

◆ checkEntityObject()

template<CEntityObject E>
constexpr void CeresEngine::checkEntityObject ( )
inlineconstexpr

A trait that checks if the type E is a valid entity object type.

Template Parameters
Ethe type to be checked

◆ checkEvent()

template<CEntityEvent E>
constexpr void CeresEngine::checkEvent ( )
inlineconstexpr

A trait that checks if the type E is a valid event type.

Template Parameters
Ethe type to be checked

◆ checkSystem()

template<typename S >
constexpr void CeresEngine::checkSystem ( )
inlineconstexpr

A trait that checks if the type S is a valid system type.

Template Parameters
Sthe type to be checked

◆ combine()

template<typename T >
constexpr void CeresEngine::combine ( std::size_t &  seed,
const T v 
)
constexpr

Generates a new hash for the provided type using the default standard hasher and combines it with a previous hash.

Template Parameters
Tthe type to be hashed
Parameters
seedThe previous hash
vThe value to be hashed

◆ const_pointer_cast()

template<class T1 , class P1 , class O1 , std::size_t A1, class T2 , class P2 , class O2 , std::size_t A2>
OffsetPtr< T1, P1, O1, A1 > CeresEngine::const_pointer_cast ( const OffsetPtr< T2, P2, O2, A2 > &  r)
noexcept

Simulation of const_cast between pointers.

◆ constructResource()

template<typename T , typename... Args>
SPtr< T > CeresEngine::constructResource ( ResourceData resourceData,
Args &&...  args 
)

Constructs a new resource instance.

If a constructor taking ResourceData& exists, uses it. If not, it falls back to calling any other constructor that matches Args.

◆ convert() [1/9]

VkRect2D CeresEngine::convert ( const Scissor src)
noexcept

◆ convert() [2/9]

VkExtent3D CeresEngine::convert ( const TExtent3< UInt32 > &  src)
noexcept

◆ convert() [3/9]

VkOffset3D CeresEngine::convert ( const TOffset3< UInt32 > &  src)
noexcept

◆ convert() [4/9]

VkViewport CeresEngine::convert ( const Viewport src)
noexcept

◆ convert() [5/9]

void CeresEngine::convert ( VkExtent3D dst,
const TExtent3< UInt32 > &  src 
)
noexcept

◆ convert() [6/9]

void CeresEngine::convert ( VkOffset3D dst,
const TOffset3< UInt32 > &  src 
)
noexcept

◆ convert() [7/9]

void CeresEngine::convert ( VkRect2D dst,
const Scissor src 
)
noexcept

◆ convert() [8/9]

void CeresEngine::convert ( VkRect2D dst,
const Viewport src 
)
noexcept

◆ convert() [9/9]

void CeresEngine::convert ( VkViewport dst,
const Viewport src 
)
noexcept

◆ copy()

template<class A , class B , class T = impl::dereference::ByValueReference>
void CeresEngine::copy ( const A a,
B b,
T &&  t = T() 
)

Copies values from one container to another.

Parameters
aThe container with values to be copies.
bThe target container.
tAn optional function to transform values before copying. Behaviour is undefined if a and b do not have the same size.

◆ CountedPtr()

template<typename Pointer >
CeresEngine::CountedPtr ( Pointer  ) -> CountedPtr< Pointer >

◆ createIndexSetFromIndex()

IndexSet CeresEngine::createIndexSetFromIndex ( IndexSet::Index  idx)

◆ createIndexSetFromIndices()

IndexSet CeresEngine::createIndexSetFromIndices ( const Vector< IndexSet::Index > &  input)

◆ dataTypeSize()

UInt32 CeresEngine::dataTypeSize ( DataType  dataType)
noexcept

Returns the size (in bytes) of the specified data type.

◆ defer() [1/3]

template<typename F >
decltype(auto) CeresEngine::defer ( ExecutionContext executionContext,
F &&  func 
)

◆ defer() [2/3]

template<traits::executor Executor, typename F >
decltype(auto) CeresEngine::defer ( Executor  executor,
F &&  func 
)

◆ defer() [3/3]

template<typename F >
decltype(auto) CeresEngine::defer ( F &&  func)

◆ dereference() [1/6]

Box CeresEngine::dereference ( Box &&  value)

◆ dereference() [2/6]

template<typename T >
Box CeresEngine::dereference ( Box &&  value)

◆ dereference() [3/6]

Box CeresEngine::dereference ( const Box value)

◆ dereference() [4/6]

template<typename T >
Box CeresEngine::dereference ( const Box value)

◆ dereference() [5/6]

template<typename Container >
auto CeresEngine::dereference ( Container &&  container)

Returns an iterable object that iterates over the values of Container but also dereferences the pointers.

An assert if triggered for every entry dereferenced.

Parameters
containerThe container to iterate the values over.

◆ dereference() [6/6]

template<typename Container >
auto CeresEngine::dereference ( Container &  container)

Returns an iterable object that iterates over the values of Container but also dereferences the pointers.

An assert if triggered for every entry dereferenced.

Parameters
containerThe container to iterate the values over.

◆ dynamic_pointer_cast()

template<class T1 , class P1 , class O1 , std::size_t A1, class T2 , class P2 , class O2 , std::size_t A2>
OffsetPtr< T1, P1, O1, A1 > CeresEngine::dynamic_pointer_cast ( const OffsetPtr< T2, P2, O2, A2 > &  r)
noexcept

Simulation of dynamic_cast between pointers.

◆ enumerate() [1/2]

template<typename Index = std::size_t, typename Range >
auto CeresEngine::enumerate ( Range &&  range,
Index  startingAt = 0 
)
inline

Return a range object.

range must be a range or some other object which supports iterator semantics. Dereferencing the range's iterators returned by enumerate() returns a pair containing a count (from startingAt which defaults to 0) and the values obtained from iterating over range iterator.

Parameters
rangeThe range to be enumerated.
startingAtThe index to start the enumeration at.

◆ enumerate() [2/2]

template<typename Index = std::size_t, typename Range >
auto CeresEngine::enumerate ( Range &  range,
Index  startingAt = 0 
)
inline

Return a range object.

range must be a range or some other object which supports iterator semantics. Dereferencing the range's iterators returned by enumerate() returns a pair containing a count (from startingAt which defaults to 0) and the values obtained from iterating over range iterator.

Parameters
rangeThe range to be enumerated.
startingAtThe index to start the enumeration at.

◆ eq()

template<typename T >
constexpr auto CeresEngine::eq ( T  value)
inlineconstexprnoexcept

Creates a new predicate that compares the input object with value using == operator.

Template Parameters
Tthe value type
Parameters
valueThe value to compare with
Returns
A newly created predicate

◆ erase()

template<typename Container , typename Value >
void CeresEngine::erase ( Container &  container,
const Value &  value 
)

Erases all items value from the given container.

Template Parameters
Containerthe container type
Valuethe value type
Parameters
containerThe container to remove items from
valueThe value to be removed

◆ eraseAll()

void CeresEngine::eraseAll ( TCollection collection,
const TValue value 
)

◆ eraseAllIf()

template<typename TCollection , typename TPredicate >
void CeresEngine::eraseAllIf ( TCollection collection,
TPredicate  pred 
)

◆ eraseDuplicates()

template<typename Container >
void CeresEngine::eraseDuplicates ( Container &  container)

Removes all duplicates items from the given container.

Template Parameters
Containerthe container type
Parameters
containerThe container to remove items from

◆ eraseIf()

template<typename Container , typename Predicate >
void CeresEngine::eraseIf ( Container &  container,
Predicate &&  predicate 
)

Removes all items that match the given predicate from the given container.

Template Parameters
Containerthe container type
Predicatethe predicate type
Parameters
containerThe container to remove items from
predicateThe predicate to check if the items is to be removed

◆ eraseIfFound()

template<class I , class C >
bool CeresEngine::eraseIfFound ( const I it,
C container 
)

Removes a value from a container with find method.

Usage: eraseIfFound(map.find(key), map);

◆ exchangeWithNull()

template<typename T >
SPtr< T > CeresEngine::exchangeWithNull ( SPtr< T > &  ptr)

◆ fill()

template<class T , class A >
void CeresEngine::fill ( A arr,
const T value 
)

Copy-assigns the given value to every element in a container.

◆ filter() [1/2]

template<typename Container , typename Predicate >
auto CeresEngine::filter ( Container &&  container,
Predicate &&  predicate 
)

◆ filter() [2/2]

template<typename Container , typename Predicate >
auto CeresEngine::filter ( Container &  container,
Predicate &&  predicate 
)

Returns an iterable object that iterates over the values of the container and applies transform to every value in it.

Parameters
containerThe container to iterate the values over.
predicateThe predicate to be applied to every element.

◆ findContainer()

template<typename Container , typename Value >
decltype(std::declval< Container >().begin()) CeresEngine::findContainer ( Container &  container,
const Value &  value 
)

Finds the first item that is equal to value.

Template Parameters
Containerthe container type
Valuethe value type
Parameters
containerThe container to find items from
valueThe value to be found
Returns
An iterator to the found item

◆ findHighestBit()

template<typename T >
long CeresEngine::findHighestBit ( T  value)
inlinenoexcept

◆ findIf()

template<typename Container , typename Predicate >
decltype(std::declval< Container >().begin()) CeresEngine::findIf ( Container &  container,
Predicate &&  predicate 
)

Finds the first item that the given predicate returns true.

Template Parameters
Containerthe container type
Predicatethe predicate type
Parameters
containerThe container to find items from
predicateThe predicate to find items with
Returns
An iterator to the found item

◆ findIfNot()

template<typename Container , typename Predicate >
decltype(std::declval< Container >().begin()) CeresEngine::findIfNot ( Container &  container,
Predicate &&  predicate 
)

Finds the first item that the given predicate returns false.

Template Parameters
Containerthe container type
Predicatethe predicate type
Parameters
containerThe container to find items from
predicateThe predicate to find items with
Returns
An iterator to the found item

◆ firstPartOfString()

StringView CeresEngine::firstPartOfString ( const StringView  string,
const StringView  delimiter 
)
inline

◆ formatBitSize()

UInt32 CeresEngine::formatBitSize ( Format  format)
noexcept

Returns the bit size of the specified hardware format.

Returns
Number of bits for one vector of the specified hardware format.
Remarks
This function does not return the size in bytes because some compressed block formats require less than one byte for a single color vector.
See also
Format

◆ fromStringOrDefault()

template<typename T >
T CeresEngine::fromStringOrDefault ( const StringView s)
inline

◆ fromStringOrDefault< double >()

◆ fromStringOrDefault< float >()

◆ fromStringOrDefault< int >()

template<>
int CeresEngine::fromStringOrDefault< int > ( const StringView s)
inline

◆ fromStringOrDefault< long long >()

◆ fromStringOrDefault< unsigned long >()

◆ gApplication()

Application & CeresEngine::gApplication ( )
noexcept
Returns
The currently running application.

◆ gDefaultAllocator()

DefaultAllocator & CeresEngine::gDefaultAllocator ( )

◆ gEngine()

Engine & CeresEngine::gEngine ( )
noexcept
Returns
The currently running engine instance.

◆ get() [1/2]

template<std::size_t I>
decltype(auto) CeresEngine::get ( BezierPath::Element element)
noexcept

Decomposes a bezier path element.

Template Parameters
IThe parameter index to fetched from the bezier path element.
Parameters
elementThe bezier path element to fetch the I-th parameter from.
Returns
The I-th decomposed element from element.

◆ get() [2/2]

template<std::size_t I>
decltype(auto) CeresEngine::get ( const BezierPath::Element element)
noexcept

Decomposes a bezier path element.

Template Parameters
IThe parameter index to fetched from the bezier path element.
Parameters
elementThe bezier path element to fetch the I-th parameter from.
Returns
The I-th decomposed element from element.

◆ getClass()

template<typename T >
const Class * CeresEngine::getClass ( )

Gets a pointer to the Class object that contains reflection metadata for the given class type T.

Can be nullptr if the type does not contain reflection information.

◆ getIdentityHash()

template<typename T >
consteval TypeIdentityHash CeresEngine::getIdentityHash ( )
noexcept

Gets the a static constexpr hash of the type.

This is guaranteed to be unique across runs of the application, but may not match when compiled with different compilers.

◆ getType() [1/2]

template<typename T >
CE_FLATTEN_INLINE Type CeresEngine::getType ( )
inline

◆ getType() [2/2]

template<typename T >
CE_FLATTEN_INLINE Type CeresEngine::getType ( T &&  )
inline

◆ getTypeID() [1/2]

template<typename T >
constexpr TypeID CeresEngine::getTypeID ( )
constexpr

◆ getTypeID() [2/2]

template<typename T >
CE_FLATTEN_INLINE constexpr TypeID CeresEngine::getTypeID ( )
constexpr

◆ getTypeID< void >()

◆ getTypeInfo()

template<typename T >
const TypeInfo & CeresEngine::getTypeInfo ( )

◆ getTypeName()

template<typename T >
constexpr StringView CeresEngine::getTypeName ( )
constexpr

◆ GLBoolean()

constexpr GLboolean CeresEngine::GLBoolean ( const bool  value)
inlineconstexprnoexcept

◆ GLGlobalState()

template<typename T , typename... Ts>
CeresEngine::GLGlobalState ( void(*&)(T, Ts...) const  ) -> GLGlobalState< void(*)(T, Ts...)>

◆ GLHasExtension()

bool CeresEngine::GLHasExtension ( GLuint  extension)

◆ GLMap() [1/18]

GLenum CeresEngine::GLMap ( DataType  dataType)

◆ GLMap() [2/18]

GLenum CeresEngine::GLMap ( Format  format)

◆ GLMap() [3/18]

GLenum CeresEngine::GLMap ( GPUBlendArithmetic  blendArithmetic)

◆ GLMap() [4/18]

GLenum CeresEngine::GLMap ( GPUBlendOp  blendOp)

◆ GLMap() [5/18]

GLenum CeresEngine::GLMap ( GPUBufferType  bufferType)

◆ GLMap() [6/18]

GLenum CeresEngine::GLMap ( GPUCompareOp  compareOp)

◆ GLMap() [7/18]

GLenum CeresEngine::GLMap ( GPUCullMode  cullMode)

◆ GLMap() [8/18]

GLenum CeresEngine::GLMap ( GPUImageType  ImageType)

◆ GLMap() [9/18]

GLenum CeresEngine::GLMap ( GPULogicOp  logicOp)

◆ GLMap() [10/18]

GLenum CeresEngine::GLMap ( GPUPolygonMode  polygonMode)

◆ GLMap() [11/18]

GLenum CeresEngine::GLMap ( GPUSamplerAddressMode  addressMode)

◆ GLMap() [12/18]

GLenum CeresEngine::GLMap ( GPUSamplerFilter  imageFilter)

◆ GLMap() [13/18]

GLenum CeresEngine::GLMap ( GPUSamplerFilter  imageMinFilter,
GPUSamplerFilter  imageMipMapFilter 
)

◆ GLMap() [14/18]

GLenum CeresEngine::GLMap ( GPUStencilOp  stencilOp)

◆ GLMap() [15/18]

GLenum CeresEngine::GLMap ( IndexType  indexType)

◆ GLMap() [16/18]

GLenum CeresEngine::GLMap ( PrimitiveTopology  primitiveTopology)

◆ GLMap() [17/18]

GLenum CeresEngine::GLMap ( ShaderType  shaderType)

◆ GLMap() [18/18]

GLenum CeresEngine::GLMap ( VertexElementComponentType  componentType)

◆ GLMapInternalFormat()

GLenum CeresEngine::GLMapInternalFormat ( Format  format)

◆ GLMapOrZero()

GLenum CeresEngine::GLMapOrZero ( Format  format)

◆ GLNotImplemented()

void CeresEngine::GLNotImplemented ( )

◆ GLThrowIfFailed()

void CeresEngine::GLThrowIfFailed ( const char info)

◆ gt()

template<typename T >
constexpr auto CeresEngine::gt ( T  value)
inlineconstexprnoexcept

Creates a new predicate that compares the input object with value using > operator.

Template Parameters
Tthe value type
Parameters
valueThe value to compare with
Returns
A newly created predicate

◆ gte()

template<typename T >
constexpr auto CeresEngine::gte ( T  value)
inlineconstexprnoexcept

Creates a new predicate that compares the input object with value using >= operator.

Template Parameters
Tthe value type
Parameters
valueThe value to compare with
Returns
A newly created predicate

◆ gVKAllocator()

VKAllocator & CeresEngine::gVKAllocator ( )

◆ hardware_concurrency()

constexpr std::size_t CeresEngine::hardware_concurrency ( )
constexprnoexcept

A version of hardware_concurrency that always returns at least 1.

This function is a safer version of hardware_concurrency that always returns at least 1 to represent the current context when the value is not computable.

  • It never returns 0, 1 is returned instead.
  • It is guaranteed to remain constant for the duration of the program.

It also improves on hardware_concurrency to provide a default value of 1 when the function is being executed at compile time. This allows partitioners and algorithms to be constexpr.

See also
https://en.cppreference.com/w/cpp/thread/thread/hardware_concurrency
Returns
Number of concurrent threads supported. If the value is not well-defined or not computable, returns 1.

◆ hash() [1/2]

template<typename T >
constexpr size_t CeresEngine::hash ( const T v)
constexpr

Generates a hash for the provided type.

Type must have a std::hash specialization.

Template Parameters
Tthe type to be hashed
Parameters
vThe value to be hashed
Returns
The hashed value

◆ hash() [2/2]

template<typename... Ts>
constexpr size_t CeresEngine::hash ( const Ts &...  values)
constexpr

Generates and combines a hash for all values.

All types in Ts must have a std::hash specialization.

Template Parameters
Tsthe value types
Parameters
valuesThe values to be hashed and combined
Returns
The combined hash of all values

◆ indices() [1/2]

template<typename T = UInt64, typename Container >
auto CeresEngine::indices ( const Container &  container)

Returns an iterator that increases it's value from 0 to container.size() by 1 on each step.

◆ indices() [2/2]

template<typename Container >
auto CeresEngine::indices ( const Container &  container)

Returns an iterator that increases it's value from 0 to container.size() by 1 on each step.

◆ isCompressedFormat()

bool CeresEngine::isCompressedFormat ( Format  format)
noexcept

Returns true if the specified hardware format is a compressed format, i.e.

either Format::BC1RGB, Format::BC1RGBA, Format::BC2RGBA, or Format::BC3RGBA.

See also
Format

◆ isDepthFormat()

bool CeresEngine::isDepthFormat ( Format  format)
noexcept

Returns true if the specified hardware format is a depth format, i.e.

Format::D16UNorm, Format::D24UNormS8UInt, Format::D32Float, or Format::D32FloatS8X24UInt.

See also
Format

◆ isDepthStencilFormat()

bool CeresEngine::isDepthStencilFormat ( Format  format)
noexcept

Returns true if the specified hardware format is a depth or depth-stencil format, i.e.

Format::D16UNorm, Format::D24UNormS8UInt, Format::D32Float, or Format::D32FloatS8X24UInt.

See also
Format

◆ isFloatDataType()

bool CeresEngine::isFloatDataType ( DataType  dataType)
noexcept

Determines if the argument refers to a floating-pointer data type.

Returns
True if the specified data type equals one of the following enumeration entries: DataType::Float32, DataType::Float64.

◆ isFloatFormat()

bool CeresEngine::isFloatFormat ( Format  format)
noexcept

Returns true if the specified hardware format is a floating-point format (like Format::RGBA32Float, Format::R32Float etc.).

Remarks
This does not include depth-stencil formats or compressed formats.
See also
IsDepthStencilFormat
IsCompressedFormat
Format

◆ isHexLiteral()

bool CeresEngine::isHexLiteral ( const StringView s)
inline

◆ isIntDataType()

bool CeresEngine::isIntDataType ( DataType  dataType)
noexcept

Determines if the argument refers to a signed integer data type.

Returns
True if the specified data type equals one of the following enumeration entries: DataType::Int8, DataType::Int16, DataType::Int32.

◆ isIntegralFormat()

bool CeresEngine::isIntegralFormat ( Format  format)
noexcept

Returns true if the specified hardware format is an integral format (like Format::RGBA8UInt, Format::R8SInt etc.).

Remarks
This also includes all normalized formats.
See also
IsNormalizedFormat
Format

◆ isNormalizedFormat()

bool CeresEngine::isNormalizedFormat ( Format  format)
noexcept

Returns true if the specified hardware format is a normalized format (like Format::RGBA8UNorm, Format::R8SNorm etc.).

Remarks
This does not include depth-stencil formats or compressed formats.
See also
IsDepthStencilFormat
IsCompressedFormat
Format

◆ isStencilFormat()

bool CeresEngine::isStencilFormat ( Format  format)
noexcept

Returns true if the specified hardware format is a stencil format, i.e.

Format::D24UNormS8UInt or Format::D32FloatS8X24UInt.

See also
Format

◆ isUIntDataType()

bool CeresEngine::isUIntDataType ( DataType  dataType)
noexcept

Determines if the argument refers to an unsigned integer data type.

Returns
True if the specified data type equals one of the following enumeration entries: DataType::UInt8, DataType::UInt16, DataType::UInt32.

◆ Iterator() [1/4]

template<class T >
CeresEngine::Iterator ( const T ) -> Iterator< T >

◆ Iterator() [2/4]

template<class T , typename F >
CeresEngine::Iterator ( const T ,
const F  
) -> Iterator< T, F >

◆ Iterator() [3/4]

template<class T , typename F , typename D >
CeresEngine::Iterator ( const T ,
const F ,
const D  
) -> Iterator< T, F, D >

◆ Iterator() [4/4]

template<class T , typename F , typename D , typename C >
CeresEngine::Iterator ( const T ,
const F ,
const D ,
const C  
) -> Iterator< T, F, D, C >

◆ IteratorPrototype() [1/3]

◆ IteratorPrototype() [2/3]

◆ IteratorPrototype() [3/3]

template<class T , typename D , typename C >
CeresEngine::IteratorPrototype ( const T ,
const D ,
const C  
) -> IteratorPrototype< T, D, C >

◆ join() [1/4]

JoinIteratorRange< const Range1, const Range2 > CeresEngine::join ( const Range1 range1,
const Range2 range2 
)
inline

◆ join() [2/4]

template<typename Range1 , typename Range2 , std::size_t L>
JoinIteratorRange< Range1, const Array< const Range2 &, L > > CeresEngine::join ( Range1 range1,
const Array< const Range2 &, L > &  range2 
)
inline

◆ join() [3/4]

template<typename Range1 , typename Range2 , std::size_t L>
JoinIteratorRange< Range1, const Array< Range2 &, L > > CeresEngine::join ( Range1 range1,
const Array< Range2 &, L > &  range2 
)
inline

◆ join() [4/4]

JoinIteratorRange< Range1, Range2 > CeresEngine::join ( Range1 range1,
Range2 range2 
)
inline

◆ joinWith()

template<typename Range1 , typename Other >
auto CeresEngine::joinWith ( Range1 range1,
const std::initializer_list< Other range2 
)
inline

◆ keys() [1/2]

template<typename Container >
auto CeresEngine::keys ( Container &&  container)

Returns an iterable object that iterates over the keys of a map-like container.

Parameters
containerThe container to iterate the keys over.

◆ keys() [2/2]

template<typename Container >
auto CeresEngine::keys ( Container &  container)

Returns an iterable object that iterates over the keys of a map-like container.

Parameters
containerThe container to iterate the keys over.

◆ lastPartOfString()

StringView CeresEngine::lastPartOfString ( const StringView  string,
const StringView  delimiter 
)
inline

◆ lock() [1/3]

decltype(auto) CeresEngine::lock ( const LockedObject< T, Mutex > &  object,
Func &&  func 
)

Executes a function Func within a synchronized block.

This is similar to the non-const variant but acquires a shared lock and only calls func with a const value.

Template Parameters
FuncThe function to be called with the synchronized object.
Parameters
funcThe function to be called with the synchronized object.
Returns
The value returned by func, if any.

◆ lock() [2/3]

template<CLockedObject... Ts, typename Func >
decltype(auto) CeresEngine::lock ( Func &&  func,
Ts &...  objects 
)
Parameters
objectsThe objects to be synchronized.
funcThe function to be called with the synchronized objects.
Returns
The value returned by func, if any.

◆ lock() [3/3]

decltype(auto) CeresEngine::lock ( LockedObject< T, Mutex > &  object,
Func &&  func 
)

Executes a function Func within a synchronized block.

Template Parameters
FuncThe function to be called with the synchronized object.
Parameters
funcThe function to be called with the synchronized object.
Returns
The value returned by func, if any.

◆ lt()

template<typename T >
constexpr auto CeresEngine::lt ( T  value)
inlineconstexprnoexcept

Creates a new predicate that compares the input object with value using < operator.

Template Parameters
Tthe value type
Parameters
valueThe value to compare with
Returns
A newly created predicate

◆ lte()

template<typename T >
constexpr auto CeresEngine::lte ( T  value)
inlineconstexprnoexcept

Creates a new predicate that compares the input object with value using <= operator.

Template Parameters
Tthe value type
Parameters
valueThe value to compare with
Returns
A newly created predicate

◆ make_default_executor()

auto CeresEngine::make_default_executor ( )
inline

The default executor to be used when no other executor is provided.

◆ make_default_partitioner() [1/6]

template<traits::executor E>
DefaultPartitioner CeresEngine::make_default_partitioner ( const E executor,
const size_t  n 
)

Create an instance of the default partitioner for the given executor.

The default partitioner type and parameters might change.

◆ make_default_partitioner() [2/6]

template<traits::executor E, traits::input_iterator I, traits::sentinel_for< I > S>
DefaultPartitioner CeresEngine::make_default_partitioner ( const E executor,
I  first,
S  last 
)

Create an instance of the default partitioner with a reasonable grain for the range first, last.

The default partitioner type and parameters might change.

◆ make_default_partitioner() [3/6]

template<traits::executor E, traits::input_range R>
DefaultPartitioner CeresEngine::make_default_partitioner ( const E executor,
R &&  r 
)

Create an instance of the default partitioner with a reasonable grain for the range r.

The default partitioner type and parameters might change.

◆ make_default_partitioner() [4/6]

DefaultPartitioner CeresEngine::make_default_partitioner ( const size_t  n,
const std::size_t  occupancy = hardware_concurrency() 
)
inline

Create an instance of the default partitioner with a reasonable grain size for n elements.

The default partitioner type and parameters might change.

◆ make_default_partitioner() [5/6]

template<traits::input_iterator I, traits::sentinel_for< I > S>
DefaultPartitioner CeresEngine::make_default_partitioner ( I  first,
S  last,
const std::size_t  occupancy = hardware_concurrency() 
)

Create an instance of the default partitioner with a reasonable grain for the range first, last.

The default partitioner type and parameters might change.

◆ make_default_partitioner() [6/6]

template<traits::input_range R>
DefaultPartitioner CeresEngine::make_default_partitioner ( R &&  r,
std::size_t  occupancy = hardware_concurrency() 
)

Create an instance of the default partitioner with a reasonable grain for the range r.

The default partitioner type and parameters might change.

◆ make_function()

template<typename F >
function_type< F > CeresEngine::make_function ( F &&  f)
inline

◆ make_grain_size()

constexpr std::size_t CeresEngine::make_grain_size ( const std::size_t  n,
const std::size_t  occupancy = hardware_concurrency() 
)
constexpr

Determine a reasonable minimum grain size depending on the number of elements in a sequence.

◆ make_inline_executor()

constexpr auto CeresEngine::make_inline_executor ( )
inlineconstexpr

An executor that runs anything inline.

Although simple, it needs to meet the executor requirements:

  • Executor concept
  • The execute function

◆ make_memory_view() [1/5]

template<typename Container >
MemoryView< const typename Container::value_type > CeresEngine::make_memory_view ( const Container &  c,
size_t  offset = 0 
)

Makes a new memory view from an STL-compatible Vector-like container.

Parameters
containerThe container to create a memory view from.
offsetThe number of elements to skip from the start of the container.
Returns
A newly created memory view for container.

◆ make_memory_view() [2/5]

template<typename T >
MemoryView< const T > CeresEngine::make_memory_view ( const T ptr,
size_t  size 
)

Makes a new memory from a raw pointer and length.

Template Parameters
TThe type of element in the memory view.
Parameters
ptrA pointer to create the memory view from.
sizeThe number of elements in the newly created view.
Returns
A newly created memory view for ptr and length.

◆ make_memory_view() [3/5]

template<typename Container >
MemoryView< typename Container::value_type > CeresEngine::make_memory_view ( Container &  container,
size_t  offset = 0 
)

Makes a new memory view from an STL-compatible Vector-like container.

Parameters
containerThe container to create a memory view from.
offsetThe number of elements to skip from the start of the container.
Returns
A newly created memory view for container.

◆ make_memory_view() [4/5]

template<typename T >
MemoryView< T > CeresEngine::make_memory_view ( T ptr,
size_t  size 
)

Makes a new memory from a raw pointer and length.

Template Parameters
TThe type of element in the memory view.
Parameters
ptrA pointer to create the memory view from.
sizeThe number of elements in the newly created view.
Returns
A newly created memory view for ptr and length.

◆ make_memory_view() [5/5]

template<typename T , size_t N>
MemoryView< T > CeresEngine::make_memory_view ( T(&)  array[N])

Makes a new memory view from a C-style array.

Template Parameters
TThe type of element in the memory view.
NThe number of elements in the C-style array.
Parameters
arrayThe C-style array.
Returns
A newly created memory view for array.

◆ make_named()

template<template< typename T > class StrongType, typename T >
constexpr StrongType< T > CeresEngine::make_named ( T const value)
constexpr

◆ make_strided_memory_view() [1/5]

template<typename Container >
StridedMemoryView< const typename Container::value_type > CeresEngine::make_strided_memory_view ( const Container &  container,
size_t  offset = 0 
)

Makes a new memory view from an STL-compatible Vector-like container.

Parameters
containerThe container to create a memory view from.
offsetThe number of elements to skip from the start of the container.
Returns
A newly created memory view for container.

◆ make_strided_memory_view() [2/5]

template<typename T >
StridedMemoryView< const T > CeresEngine::make_strided_memory_view ( const T ptr,
size_t  size,
size_t  stride = StridedMemoryView<T>::defaultStride 
)

Makes a new strided memory from a raw pointer and length.

Template Parameters
TThe type of element in the memory view.
Parameters
ptrA pointer to create the memory view from.
sizeThe number of elements in the newly created view.
strideThe stride, in bytes of the new view.
Returns
A newly created memory view for ptr and length.

◆ make_strided_memory_view() [3/5]

template<typename T , size_t N>
StridedMemoryView< const T > CeresEngine::make_strided_memory_view ( const T(&)  ar[N])

Makes a new strided memory view from a C-style array.

Template Parameters
TThe type of element in the memory view.
NThe number of elements in the C-style array.
Parameters
arrayThe C-style array.
Returns
A newly created memory view for array.

◆ make_strided_memory_view() [4/5]

template<typename Container >
StridedMemoryView< typename Container::value_type > CeresEngine::make_strided_memory_view ( Container &  container,
size_t  offset = 0 
)

Makes a new memory view from an STL-compatible Vector-like container.

Parameters
containerThe container to create a memory view from.
offsetThe number of elements to skip from the start of the container.
Returns
A newly created memory view for container.

◆ make_strided_memory_view() [5/5]

template<typename T >
StridedMemoryView< T > CeresEngine::make_strided_memory_view ( T ptr,
size_t  size,
size_t  stride = StridedMemoryView<T>::defaultStride 
)

Makes a new strided memory from a raw pointer and length.

Template Parameters
TThe type of element in the memory view.
Parameters
ptrA pointer to create the memory view from.
sizeThe number of elements in the newly created view.
strideThe stride, in bytes of the new view.
Returns
A newly created memory view for ptr and length.

◆ make_thread_executor()

auto CeresEngine::make_thread_executor ( )
inline

An executor that runs anything in a new thread, like std::async does.

◆ makeIterator()

template<class T , typename F = impl::increment::ByValue<1>, typename D = impl::dereference::ByValueReference, typename C = impl::compare::ByValue>
Iterator< T, F, D, C > CeresEngine::makeIterator ( T &&  t,
F  f = F(),
D &&  d = D(),
C &&  c = C() 
)

◆ mergeString()

template<typename T , typename Allocator >
void CeresEngine::mergeString ( BasicString< T, Allocator > &  dst,
const BasicString< T, Allocator > &  src,
const T keepDst,
const T ignoreSrc 
)

Merges the source string 'src' into the destination string 'dst', keeps the destination characters specified by 'keepDst', and ignores the source characters specified by 'ignoreSrc'.

Replace characters in the destination string

Append remaining characters to destination string

◆ metacast_to_base()

void const * CeresEngine::metacast_to_base ( void const value)
inline

◆ MKNotImplemented()

void CeresEngine::MKNotImplemented ( )

◆ move()

auto CeresEngine::move ( Vector3  position)
inline

Moves a entity to the given position.

Parameters
positionThe position to move the entity to
Returns
A lambda to be used when piping through a continuable

◆ moveAll()

void CeresEngine::moveAll ( TCollectionSrc src,
TCollectionDest dst 
)

◆ moveAllIf()

void CeresEngine::moveAllIf ( TCollectionSrc src,
TCollectionDest dst,
TPredicate  pred 
)

◆ MTNotImplemented()

void CeresEngine::MTNotImplemented ( )

◆ neq()

template<typename T >
constexpr auto CeresEngine::neq ( T  value)
inlineconstexprnoexcept

Creates a new predicate that compares the input object with value using != operator.

Template Parameters
Tthe value type
Parameters
valueThe value to compare with
Returns
A newly created predicate

◆ numDigits()

template<typename T >
int CeresEngine::numDigits ( T  n)

◆ offset_ptr_offset()

template<class OffsetType >
OffsetType CeresEngine::offset_ptr_offset ( const volatile void ptr,
const volatile void thisPtr 
)

◆ offset_ptr_offset_from_other()

template<class OffsetType >
OffsetType CeresEngine::offset_ptr_offset_from_other ( const volatile void thisPtr,
const volatile void otherPtr,
OffsetType  otherOffset 
)

◆ offset_ptr_raw_pointer()

template<class OffsetType >
void * CeresEngine::offset_ptr_raw_pointer ( const volatile void thisPtr,
OffsetType  offset 
)

◆ operator co_await() [1/2]

template<typename P , template< typename > typename F>
auto CeresEngine::operator co_await ( TEvent< P, void(), F > &  event)
noexcept

Creates a new awaitable object for a event.

The awaitable will return on the first time the event gets triggered.

Template Parameters
PThreading policy for the event.
FThe type of function slot to be used.

The event object to await on.

The active connection to the event.

Creates a new awaiter instance for the given event.

Destroys the awaitable object. If the event hasn't triggered yet, it will be disconnected.

Checks if the awaitable object is ready to be awaited on.

Suspends the awaitable object. Connects to the event and waits for it to be triggered.

Returns the arguments of the event. Called immediately before the awaitable resumes execution.

◆ operator co_await() [2/2]

template<typename P , template< typename > typename F, typename... A>
auto CeresEngine::operator co_await ( TEvent< P, void(A...), F > &  event)
noexcept

Creates a new awaitable object for a event.

The awaitable will return on the first time the event gets triggered.

Template Parameters
PThreading policy for the event.
FThe type of function slot to be used.
AArgument types of the slots connected to the event.

The value returned by the awaitable object.

The event object to await on.

The active connection to the event.

A pointer to the type to be returned by the co_await call.

Creates a new awaiter instance for the given event.

Destroys the awaitable object. If the event hasn't triggered yet, it will be disconnected.

Checks if the awaitable object is ready to be awaited on.

Suspends the awaitable object. Connects to the event and waits for it to be triggered.

Returns the arguments of the event. Called immediately before the awaitable resumes execution.

◆ operator!() [1/2]

template<typename TPredicate >
constexpr auto CeresEngine::operator! ( const Predicate< TPredicate > &  predicate)
inlineconstexprnoexcept

Helper operator to create a new OrPredicate from two predicates.

Template Parameters
TPredicatethe operand predicate type
Parameters
predicateThe operand predicate
Returns
A newly created predicate

◆ operator!() [2/2]

template<typename TPredicate >
constexpr auto CeresEngine::operator! ( Predicate< TPredicate > &&  predicate)
inlineconstexprnoexcept

Helper operator to create a new OrPredicate from two predicates.

Template Parameters
TPredicatethe operand predicate type
Parameters
predicateThe operand predicate
Returns
A newly created predicate

◆ operator!=() [1/30]

template<Equatable A, Equatable B>
bool CeresEngine::operator!= ( const A lhs,
const B rhs 
)

◆ operator!=() [2/30]

template<typename A , typename B >
constexpr bool CeresEngine::operator!= ( const A lhs,
const Optional< B > &  rhs 
)
constexpr

◆ operator!=() [3/30]

template<typename U >
bool CeresEngine::operator!= ( const CountedPtr< U > &  a,
std::nullptr_t   
)
inlinenoexcept
Template Parameters
Uthe object type
Parameters
aThe first operand
Returns
true if a is not nullptr

◆ operator!=() [4/30]

template<typename U1 , typename U2 >
bool CeresEngine::operator!= ( const CountedPtr< U1 > &  a,
const CountedPtr< U2 > &  b 
)
inlinenoexcept
Template Parameters
U1the first object type
U2the second object type
Parameters
aThe first operand
bThe second operand
Returns
true if both a and b do not represent the same object

◆ operator!=() [5/30]

template<typename U1 , typename U2 >
bool CeresEngine::operator!= ( const CountedPtr< U1 > &  a,
const U2 b 
)
inlinenoexcept
Template Parameters
U1the first object type
U2the second object type
Parameters
aThe first operand
bThe second operand
Returns
true if both a and b do not represent the same object

◆ operator!=() [6/30]

template<typename T >
bool CeresEngine::operator!= ( const DynamicLibrary::Symbol< T > &  a,
std::nullptr_t   
)

◆ operator!=() [7/30]

◆ operator!=() [8/30]

template<typename Key , typename T , typename Compare , typename Container >
bool CeresEngine::operator!= ( const FlatMap< Key, T, Compare, Container > &  a,
const FlatMap< Key, T, Compare, Container > &  b 
)

◆ operator!=() [9/30]

template<typename ValueType , typename TextureType >
constexpr bool CeresEngine::operator!= ( const MaterialProperty< ValueType, TextureType > &  lhs,
const MaterialProperty< ValueType, TextureType > &  rhs 
)
inlineconstexprnoexcept

Compares two MaterialProperty for inequality.

Template Parameters
ValueTypeThe property value type.
TextureTypeThe property texture type.
Parameters
lhsThe left-hand side operand.
rhsThe right-hand side operand.
Returns
True if both the properties operators are not equal.

◆ operator!=() [10/30]

template<typename ValueType >
constexpr bool CeresEngine::operator!= ( const MaterialPropertySwizzle< ValueType > &  lhs,
const MaterialPropertySwizzle< ValueType > &  rhs 
)
inlineconstexprnoexcept

Compares two MaterialPropertySwizzle for inequality.

Template Parameters
ValueTypeThe output type of the swizzle.
Parameters
lhsThe left-hand side operand.
rhsThe right-hand side operand.
Returns
True if both the swizzle operators are not equal.

◆ operator!=() [11/30]

template<typename A , typename B >
constexpr bool CeresEngine::operator!= ( const Optional< A > &  lhs,
const B rhs 
)
constexpr

◆ operator!=() [12/30]

template<typename A , typename B >
constexpr bool CeresEngine::operator!= ( const Optional< A > &  lhs,
const Optional< B > &  rhs 
)
constexpr

◆ operator!=() [13/30]

template<typename A >
constexpr bool CeresEngine::operator!= ( const Optional< A > &  lhs,
const std::nullopt_t &   
)
constexpr

◆ operator!=() [14/30]

constexpr bool CeresEngine::operator!= ( const PBRMaterialModel lhs,
const PBRMaterialModel rhs 
)
inlineconstexprnoexcept

Compares two PBRMaterialModel for inequality.

Parameters
lhsThe left-hand side operand.
rhsThe right-hand side operand.
Returns
True if both the models are not equal.

◆ operator!=() [15/30]

template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U , size_t USmallSize, bool UCopyable, typename UBaseType >
bool CeresEngine::operator!= ( const Poly< T, TSmallSize, TCopyable, TBaseType > &  lhs,
const Poly< U, USmallSize, UCopyable, UBaseType > &  rhs 
)
noexcept

Compares if two Poly objects are not equal.

Parameters
lhsThe first argument
rhsThe second argument
Returns
true if both objects are not equal

◆ operator!=() [16/30]

template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U >
bool CeresEngine::operator!= ( const Poly< T, TSmallSize, TCopyable, TBaseType > &  lhs,
const U rhs 
)
noexcept

Compares if two Poly objects are not equal.

Parameters
lhsThe first argument
rhsThe second argument
Returns
true if both objects are not equal

◆ operator!=() [17/30]

template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType >
bool CeresEngine::operator!= ( const Poly< T, TSmallSize, TCopyable, TBaseType > &  lhs,
std::nullptr_t   
)
noexcept

Checks if a Poly is not nullptr.

Parameters
lhsThe Poly to be checked
Returns
true if the Poly is not nullptr.

◆ operator!=() [18/30]

template<typename U >
bool CeresEngine::operator!= ( const ResourceHandle< U > &  lhs,
std::nullptr_t   
)
noexcept
Template Parameters
UThe resource type
Parameters
lhsThe first operand
Returns
true if lhs is not nullptr

◆ operator!=() [19/30]

template<typename U1 , typename U2 >
bool CeresEngine::operator!= ( const ResourceHandle< U1 > &  lhs,
const ResourceHandle< U2 > &  rhs 
)
inlinenoexcept
Template Parameters
U1The first resource type
U2The second resource type
Parameters
lhsThe first operand
rhsThe second operand
Returns
true if both lhs and rhs do not represent the same handle

◆ operator!=() [20/30]

template<class T , std::size_t N, std::size_t A1, class U , std::size_t M, std::size_t A2>
bool CeresEngine::operator!= ( const ShortAllocator< T, N, A1 > &  x,
const ShortAllocator< U, M, A2 > &  y 
)
inlinenoexcept

◆ operator!=() [21/30]

template<typename T , size_t CapacityA, size_t CapacityB>
bool CeresEngine::operator!= ( const StaticVector< T, CapacityA > &  a,
const StaticVector< T, CapacityB > &  b 
)

◆ operator!=() [22/30]

template<class... TTypes, class... UTypes>
constexpr bool CeresEngine::operator!= ( const Tuple< TTypes... > &  lhs,
const Tuple< UTypes... > &  rhs 
)
constexpr

◆ operator!=() [23/30]

template<typename U , typename T , size_t TSmallSize, bool TCopyable, typename TBaseType >
bool CeresEngine::operator!= ( const U lhs,
const Poly< T, TSmallSize, TCopyable, TBaseType > &  rhs 
)
noexcept

Compares if two Poly objects are not equal.

Parameters
lhsThe first argument
rhsThe second argument
Returns
true if both objects are not equal

◆ operator!=() [24/30]

template<typename U , typename T , size_t TSmallSize>
bool CeresEngine::operator!= ( const U lhs,
const ValuePtr< T, TSmallSize > &  rhs 
)
noexcept

Compares if two ValuePtr objects are not equal.

Parameters
lhsThe first argument
rhsThe second argument
Returns
true if both objects are not equal

◆ operator!=() [25/30]

template<typename U1 , typename U2 >
bool CeresEngine::operator!= ( const U1 a,
const CountedPtr< U2 > &  b 
)
inlinenoexcept
Template Parameters
U1the first object type
U2the second object type
Parameters
aThe first operand
bThe second operand
Returns
true if both a and b do not represent the same object

◆ operator!=() [26/30]

bool CeresEngine::operator!= ( const URI lhs,
const URI rhs 
)
inlinenoexcept

Compares two URIs for inequality.

◆ operator!=() [27/30]

template<typename T , size_t TSmallSize, typename U >
bool CeresEngine::operator!= ( const ValuePtr< T, TSmallSize > &  lhs,
const U rhs 
)
noexcept

Compares if two ValuePtr objects are not equal.

Parameters
lhsThe first argument
rhsThe second argument
Returns
true if both objects are not equal

◆ operator!=() [28/30]

template<typename T , size_t TSmallSize, typename U , size_t USmallSize>
bool CeresEngine::operator!= ( const ValuePtr< T, TSmallSize > &  lhs,
const ValuePtr< U, USmallSize > &  rhs 
)
noexcept

Compares if two ValuePtr objects are not equal.

Parameters
lhsThe first argument
rhsThe second argument
Returns
true if both objects are not equal

◆ operator!=() [29/30]

template<typename T , size_t TSmallSize>
bool CeresEngine::operator!= ( const ValuePtr< T, TSmallSize > &  lhs,
std::nullptr_t   
)
noexcept

Checks if a ValuePtr is not nullptr.

Parameters
lhsThe ValuePtr to be checked
Returns
true if the ValuePtr is not nullptr.

◆ operator!=() [30/30]

template<typename U >
bool CeresEngine::operator!= ( std::nullptr_t  ,
const ResourceHandle< U > &  rhs 
)
noexcept
Template Parameters
UThe resource type
Parameters
lhsThe first operand
Returns
true if lhs is not nullptr

◆ operator""_s()

String CeresEngine::operator""_s ( const char str,
const size_t  length 
)
inline

◆ operator&() [1/39]

constexpr Flags< ComponentDirtyBit, std::underlying_type_t< ComponentDirtyBit > > CeresEngine::operator& ( ComponentDirtyBit  a,
ComponentDirtyBit  b 
)
inlineconstexprnoexcept

◆ operator&() [2/39]

bool CeresEngine::operator& ( const ButtonSet a,
const ButtonSet b 
)
inlinenoexcept

Checks if all buttons in the set b are present in set a.

Parameters
aThe set of pressed buttons
bThe set of buttons to check against
Returns
True if all buttons in the set b are present in set a.

◆ operator&() [3/39]

bool CeresEngine::operator& ( const ButtonSet set,
const Button  button 
)
inlinenoexcept

Checks if the button is present in the button set

Parameters
setThe button set to check if button is in
buttonThe button to be checked
Returns
True if button is present in set

◆ operator&() [4/39]

constexpr Byte CeresEngine::operator& ( const Byte  left,
const Byte  right 
)
constexprnoexcept

◆ operator&() [5/39]

constexpr Flags< EntityDirtyBit, std::underlying_type_t< EntityDirtyBit > > CeresEngine::operator& ( EntityDirtyBit  a,
EntityDirtyBit  b 
)
inlineconstexprnoexcept

◆ operator&() [6/39]

◆ operator&() [7/39]

constexpr Flags< GPUBufferUsageFlag, std::underlying_type_t< GPUBufferUsageFlag > > CeresEngine::operator& ( GPUBufferUsageFlag  a,
GPUBufferUsageFlag  b 
)
inlineconstexprnoexcept

◆ operator&() [8/39]

constexpr Flags< GPUImageUsageFlags, std::underlying_type_t< GPUImageUsageFlags > > CeresEngine::operator& ( GPUImageUsageFlags  a,
GPUImageUsageFlags  b 
)
inlineconstexprnoexcept

◆ operator&() [9/39]

constexpr Flags< GPUMemoryProperty, std::underlying_type_t< GPUMemoryProperty > > CeresEngine::operator& ( GPUMemoryProperty  a,
GPUMemoryProperty  b 
)
inlineconstexprnoexcept

◆ operator&() [10/39]

constexpr Flags< GPUPipelineStage, std::underlying_type_t< GPUPipelineStage > > CeresEngine::operator& ( GPUPipelineStage  a,
GPUPipelineStage  b 
)
inlineconstexprnoexcept

◆ operator&() [11/39]

constexpr Flags< GraphSocketFlag, std::underlying_type_t< GraphSocketFlag > > CeresEngine::operator& ( GraphSocketFlag  a,
GraphSocketFlag  b 
)
inlineconstexprnoexcept

◆ operator&() [12/39]

constexpr bool CeresEngine::operator& ( ModifierButton  a,
ModifierButton  b 
)
inlineconstexprnoexcept

Checks if the a contains the modifier b.

Parameters
aThe modifier list to check
bThe modifier to check the presence
Returns
True if a contains the modifier b

◆ operator&() [13/39]

◆ operator&() [14/39]

constexpr Flags< RendererCameraFlag, std::underlying_type_t< RendererCameraFlag > > CeresEngine::operator& ( RendererCameraFlag  a,
RendererCameraFlag  b 
)
inlineconstexprnoexcept

◆ operator&() [15/39]

◆ operator&() [16/39]

◆ operator&() [17/39]

◆ operator&() [18/39]

◆ operator&() [19/39]

constexpr Flags< RendererLightFlag, std::underlying_type_t< RendererLightFlag > > CeresEngine::operator& ( RendererLightFlag  a,
RendererLightFlag  b 
)
inlineconstexprnoexcept

◆ operator&() [20/39]

constexpr Flags< RendererMeshDrawFlag, std::underlying_type_t< RendererMeshDrawFlag > > CeresEngine::operator& ( RendererMeshDrawFlag  a,
RendererMeshDrawFlag  b 
)
inlineconstexprnoexcept

◆ operator&() [21/39]

constexpr Flags< RendererMeshFlag, std::underlying_type_t< RendererMeshFlag > > CeresEngine::operator& ( RendererMeshFlag  a,
RendererMeshFlag  b 
)
inlineconstexprnoexcept

◆ operator&() [22/39]

◆ operator&() [23/39]

◆ operator&() [24/39]

constexpr Flags< RendererShaderFlag, std::underlying_type_t< RendererShaderFlag > > CeresEngine::operator& ( RendererShaderFlag  a,
RendererShaderFlag  b 
)
inlineconstexprnoexcept

◆ operator&() [25/39]

◆ operator&() [26/39]

constexpr Flags< RendererTerrainFlag, std::underlying_type_t< RendererTerrainFlag > > CeresEngine::operator& ( RendererTerrainFlag  a,
RendererTerrainFlag  b 
)
inlineconstexprnoexcept

◆ operator&() [27/39]

constexpr Flags< RendererTextureFlag, std::underlying_type_t< RendererTextureFlag > > CeresEngine::operator& ( RendererTextureFlag  a,
RendererTextureFlag  b 
)
inlineconstexprnoexcept

◆ operator&() [28/39]

◆ operator&() [29/39]

constexpr Flags< ResourceStreamFlag, std::underlying_type_t< ResourceStreamFlag > > CeresEngine::operator& ( ResourceStreamFlag  a,
ResourceStreamFlag  b 
)
inlineconstexprnoexcept

◆ operator&() [30/39]

◆ operator&() [31/39]

◆ operator&() [32/39]

constexpr Flags< ShaderStage, std::underlying_type_t< ShaderStage > > CeresEngine::operator& ( ShaderStage  a,
ShaderStage  b 
)
inlineconstexprnoexcept

◆ operator&() [33/39]

◆ operator&() [34/39]

constexpr Flags< UICheckboxState, std::underlying_type_t< UICheckboxState > > CeresEngine::operator& ( UICheckboxState  a,
UICheckboxState  b 
)
inlineconstexprnoexcept

◆ operator&() [35/39]

constexpr Flags< UIModifierKey, std::underlying_type_t< UIModifierKey > > CeresEngine::operator& ( UIModifierKey  a,
UIModifierKey  b 
)
inlineconstexprnoexcept

◆ operator&() [36/39]

constexpr Flags< UIViewAutoResizing, std::underlying_type_t< UIViewAutoResizing > > CeresEngine::operator& ( UIViewAutoResizing  a,
UIViewAutoResizing  b 
)
inlineconstexprnoexcept

◆ operator&() [37/39]

constexpr Flags< UIViewState, std::underlying_type_t< UIViewState > > CeresEngine::operator& ( UIViewState  a,
UIViewState  b 
)
inlineconstexprnoexcept

◆ operator&() [38/39]

constexpr Flags< UIWindowState, std::underlying_type_t< UIWindowState > > CeresEngine::operator& ( UIWindowState  a,
UIWindowState  b 
)
inlineconstexprnoexcept

◆ operator&() [39/39]

constexpr Flags< URLRequestMode, std::underlying_type_t< URLRequestMode > > CeresEngine::operator& ( URLRequestMode  a,
URLRequestMode  b 
)
inlineconstexprnoexcept

◆ operator&&() [1/2]

constexpr auto CeresEngine::operator&& ( const Predicate< Predicate1 > &  predicate1,
const Predicate< Predicate2 > &  predicate2 
)
inlineconstexprnoexcept

Helper operator to create a new AndPredicate from two predicates.

Template Parameters
Predicate1the left-hand side predicate type
Predicate2the right-hand side predicate type
Parameters
predicate1The left-hand side predicate
predicate2The right-hand side predicate
Returns
A newly created predicate

◆ operator&&() [2/2]

constexpr auto CeresEngine::operator&& ( Predicate< Predicate1 > &&  predicate1,
Predicate< Predicate2 > &&  predicate2 
)
inlineconstexprnoexcept

Helper operator to create a new AndPredicate from two predicates.

Template Parameters
Predicate1the left-hand side predicate type
Predicate2the right-hand side predicate type
Parameters
predicate1The left-hand side predicate
predicate2The right-hand side predicate
Returns
A newly created predicate

◆ operator&=()

constexpr Byte & CeresEngine::operator&= ( Byte left,
const Byte  right 
)
constexprnoexcept

◆ operator+() [1/8]

◆ operator+() [2/8]

◆ operator+() [3/8]

◆ operator+() [4/8]

Creates a new button set from a and b.

Parameters
aThe first button in the set
bThe second button in the set
Returns
A set of {a, b}

◆ operator+() [5/8]

ButtonSet CeresEngine::operator+ ( const ButtonSet set,
const Button  button 
)
inline

Adds a button to a set.

Parameters
setThe set to add a button for
buttonThe button to be added
Returns
A copy of the set with the added button

◆ operator+() [6/8]

ButtonSet CeresEngine::operator+ ( const ButtonSet set,
const ButtonSet buttons 
)
inline

Adds a set of buttons to a set.

Parameters
setThe set to add the buttons to
buttonsThe buttons to be added
Returns
A copy of the set with the added buttons

◆ operator+() [7/8]

◆ operator+() [8/8]

Add two modifiers into a modifier mask.

Parameters
aThe modifier A
bThe modifier B
Returns
A mask containing both modifier A and B

◆ operator+=() [1/3]

ButtonSet & CeresEngine::operator+= ( ButtonSet set,
const Button  button 
)
inline

Adds a button to a set.

Parameters
setThe set to add a button for
buttonThe button to be added
Returns
A reference to set.

◆ operator+=() [2/3]

ButtonSet & CeresEngine::operator+= ( ButtonSet set,
const ButtonSet buttons 
)
inline

Adds a set of buttons to a set.

Parameters
setThe set to add the buttons to
buttonsThe buttons to be added
Returns
A reference to set.

◆ operator+=() [3/3]

Appends a modifier b to the modifier mask a.

Parameters
aThe modifier mask to append to
bThe modifier to be added
Returns
The final value of a

◆ operator-() [1/3]

ButtonSet CeresEngine::operator- ( const ButtonSet set,
const Button  button 
)
inline

Removes a button from a set.

Parameters
setThe set to remove a button from
buttonThe button to be removed
Returns
A copy of the set with the removed button

◆ operator-() [2/3]

ButtonSet CeresEngine::operator- ( const ButtonSet set,
const ButtonSet buttons 
)
inline

Removes a set of buttons from a set.

Parameters
setThe set to remove the buttons from
buttonsThe buttons to be removed
Returns
A copy of the set with the removed buttons

◆ operator-() [3/3]

Removes a modifier from a modifier mask.

Parameters
aThe modifier A
bThe modifier B
Returns
A mask containing removing modifiers b from a

◆ operator-=() [1/3]

ButtonSet & CeresEngine::operator-= ( ButtonSet set,
const Button  button 
)
inline

Removes a button from a set.

Parameters
setThe set to remove a button from
buttonThe button to be removed
Returns
A reference to set.

◆ operator-=() [2/3]

ButtonSet & CeresEngine::operator-= ( ButtonSet set,
const ButtonSet buttons 
)
inline

Removes a set of buttons from a set.

Parameters
setThe set to remove the buttons from
buttonsThe buttons to be removed
Returns
A reference to set.

◆ operator-=() [3/3]

Removes a modifier b from the modifier mask a.

Parameters
aThe modifier mask to remove from
bThe modifier to be removed
Returns
The final value of a

◆ operator<() [1/11]

template<typename A , typename B >
constexpr bool CeresEngine::operator< ( const A lhs,
const Optional< B > &  rhs 
)
constexpr

◆ operator<() [2/11]

template<typename A , typename B >
constexpr bool CeresEngine::operator< ( const Optional< A > &  lhs,
const B rhs 
)
constexpr

◆ operator<() [3/11]

template<typename A , typename B >
constexpr bool CeresEngine::operator< ( const Optional< A > &  lhs,
const Optional< B > &  rhs 
)
constexpr

◆ operator<() [4/11]

template<typename A >
constexpr bool CeresEngine::operator< ( const Optional< A > &  lhs,
const std::nullopt_t &   
)
constexpr

◆ operator<() [5/11]

template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U , size_t USmallSize, bool UCopyable, typename UBaseType >
bool CeresEngine::operator< ( const Poly< T, TSmallSize, TCopyable, TBaseType > &  lhs,
const Poly< U, USmallSize, UCopyable, UBaseType > &  rhs 
)
noexcept

Compares if a Poly object is less than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of < operator

◆ operator<() [6/11]

template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U >
bool CeresEngine::operator< ( const Poly< T, TSmallSize, TCopyable, TBaseType > &  lhs,
const U rhs 
)
noexcept

Compares if a Poly object is less than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of < operator

◆ operator<() [7/11]

template<class... TTypes, class... UTypes>
constexpr bool CeresEngine::operator< ( const Tuple< TTypes... > &  lhs,
const Tuple< UTypes... > &  rhs 
)
constexpr

◆ operator<() [8/11]

template<typename U , typename T , size_t TSmallSize, bool TCopyable, typename TBaseType >
bool CeresEngine::operator< ( const U lhs,
const Poly< T, TSmallSize, TCopyable, TBaseType > &  rhs 
)
noexcept

Compares if a Poly object is less than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of < operator

◆ operator<() [9/11]

template<typename U , typename T , size_t TSmallSize>
bool CeresEngine::operator< ( const U lhs,
const ValuePtr< T, TSmallSize > &  rhs 
)
noexcept

Compares if a ValuePtr object is less than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of < operator

◆ operator<() [10/11]

template<typename T , size_t TSmallSize, typename U >
bool CeresEngine::operator< ( const ValuePtr< T, TSmallSize > &  lhs,
const U rhs 
)
noexcept

Compares if a ValuePtr object is less than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of < operator

◆ operator<() [11/11]

template<typename T , size_t TSmallSize, typename U , size_t USmallSize>
bool CeresEngine::operator< ( const ValuePtr< T, TSmallSize > &  lhs,
const ValuePtr< U, USmallSize > &  rhs 
)
noexcept

Compares if a ValuePtr object is less than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of < operator

◆ operator<<() [1/27]

template<class _IntType , std::enable_if_t< std::is_integral_v< _IntType >, int > = 0>
constexpr Byte CeresEngine::operator<< ( const Byte  arg,
const _IntType  shift 
)
constexprnoexcept

◆ operator<<() [2/27]

template<typename CharT , typename B , unsigned int F>
std::basic_ostream< CharT > & CeresEngine::operator<< ( std::basic_ostream< CharT > &  os,
FixedPoint< B, F x 
)
noexcept

◆ operator<<() [3/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  ,
const IndexSet  
)

◆ operator<<() [4/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
ClippingRange  clippingRange 
)

Prints a string representation of the clippingRange.

Parameters
osThe stream to output the string to
clippingRangeThe value to be represented
Returns
The given os.

◆ operator<<() [5/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
const GPUBlendArithmetic value 
)

Creates a string representation of the StencilOp.

Parameters
osOs stream to output it to
valueThe value to be converted
Returns
The given os

◆ operator<<() [6/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
const GPUBlendOp value 
)

Creates a string representation of the StencilOp.

Parameters
osOs stream to output it to
valueThe value to be converted
Returns
The given os

◆ operator<<() [7/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
const GPUCompareOp value 
)

Creates a string representation of the CompareOp.

Parameters
osOs stream to output it to
valueThe value to be converted
Returns
The given os

◆ operator<<() [8/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
const GPUCullMode value 
)

Creates a string representation of the StencilOp.

Parameters
osOs stream to output it to
valueThe value to be converted
Returns
The given os

◆ operator<<() [9/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
const GPUDeviceInfo info 
)

Prints a string representation of the device info.

Parameters
osThe stream to output the string to
infoThe value to be represented
Returns
The given os.

◆ operator<<() [10/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
const GPUImageDescriptor descriptor 
)

Prints a string representation of the image descriptor to a stream.

◆ operator<<() [11/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
const GPULogicOp value 
)

Creates a string representation of the StencilOp.

Parameters
osOs stream to output it to
valueThe value to be converted
Returns
The given os

◆ operator<<() [12/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
const GPUPolygonMode value 
)

Creates a string representation of the StencilOp.

Parameters
osOs stream to output it to
valueThe value to be converted
Returns
The given os

◆ operator<<() [13/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
const GPURenderingCapabilities capabilities 
)

Prints a string representation of the device capabilities.

Parameters
osThe stream to output the string to
capabilitiesThe value to be represented
Returns
The given os.

◆ operator<<() [14/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
const GPURenderingFeatures features 
)

Prints a string representation of the device features.

Parameters
osThe stream to output the string to
featuresThe value to be represented
Returns
The given os.

◆ operator<<() [15/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
const GPURenderingLimits limits 
)

Prints a string representation of the device limits.

Parameters
osThe stream to output the string to
limitsThe value to be represented
Returns
The given os.

◆ operator<<() [16/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
const GPUSamplerAddressMode mode 
)

Creates a string representation of the SamplerAddressMode.

Parameters
osOs stream to output it to
modeThe mode to be converted
Returns
The given os

◆ operator<<() [17/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
const GPUSamplerFilter filter 
)

Creates a string representation of the SamplerFilter.

Parameters
osOs stream to output it to
filterThe filter to be converted
Returns
The given os

◆ operator<<() [18/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
const GPUStencilOp value 
)

Creates a string representation of the StencilOp.

Parameters
osOs stream to output it to
valueThe value to be converted
Returns
The given os

◆ operator<<() [19/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
const UIControl::State state 
)

◆ operator<<() [20/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
GPUImageLayout  layout 
)

Prints a string representation of the image layout constant to a stream.

◆ operator<<() [21/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
GPUImageType  type 
)

Prints a string representation of the image type constant to a stream.

◆ operator<<() [22/27]

template<typename T , typename Parameter , template< typename > class... Skills>
std::enable_if< NamedType< T, Parameter, Skills... >::is_printable, std::ostream & >::type CeresEngine::operator<< ( std::ostream &  os,
NamedType< T, Parameter, Skills... > const object 
)

◆ operator<<() [23/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
Origin  origin 
)

Prints a string representation of the origin.

Parameters
osThe stream to output the string to
originThe value to be represented
Returns
The given os.

◆ operator<<() [24/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
UIStackView::Alignment  value 
)

◆ operator<<() [25/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
UIStackView::Distribution  value 
)

◆ operator<<() [26/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  os,
UIStackView::Orientation  value 
)

◆ operator<<() [27/27]

std::ostream & CeresEngine::operator<< ( std::ostream &  stream,
Type  type 
)

Writes a string representation of the type type to the given stream.

◆ operator<<=()

template<class _IntType , std::enable_if_t< std::is_integral_v< _IntType >, int > = 0>
constexpr Byte & CeresEngine::operator<<= ( Byte arg,
const _IntType  shift 
)
constexprnoexcept

◆ operator<=() [1/11]

template<typename A , typename B >
constexpr bool CeresEngine::operator<= ( const A lhs,
const Optional< B > &  rhs 
)
constexpr

◆ operator<=() [2/11]

template<typename A , typename B >
constexpr bool CeresEngine::operator<= ( const Optional< A > &  lhs,
const B rhs 
)
constexpr

◆ operator<=() [3/11]

template<typename A , typename B >
constexpr bool CeresEngine::operator<= ( const Optional< A > &  lhs,
const Optional< B > &  rhs 
)
constexpr

◆ operator<=() [4/11]

template<typename A >
constexpr bool CeresEngine::operator<= ( const Optional< A > &  lhs,
const std::nullopt_t &   
)
constexpr

◆ operator<=() [5/11]

template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U , size_t USmallSize, bool UCopyable, typename UBaseType >
bool CeresEngine::operator<= ( const Poly< T, TSmallSize, TCopyable, TBaseType > &  lhs,
const Poly< U, USmallSize, UCopyable, UBaseType > &  rhs 
)
noexcept

Compares if a Poly object is less or equal than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of <= operator

◆ operator<=() [6/11]

template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U >
bool CeresEngine::operator<= ( const Poly< T, TSmallSize, TCopyable, TBaseType > &  lhs,
const U rhs 
)
noexcept

Compares if a Poly object is less or equal than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of <= operator

◆ operator<=() [7/11]

template<class... TTypes, class... UTypes>
constexpr bool CeresEngine::operator<= ( const Tuple< TTypes... > &  lhs,
const Tuple< UTypes... > &  rhs 
)
constexpr

◆ operator<=() [8/11]

template<typename U , typename T , size_t TSmallSize, bool TCopyable, typename TBaseType >
bool CeresEngine::operator<= ( const U lhs,
const Poly< T, TSmallSize, TCopyable, TBaseType > &  rhs 
)
noexcept

Compares if a Poly object is less or equal than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of <= operator

◆ operator<=() [9/11]

template<typename U , typename T , size_t TSmallSize>
bool CeresEngine::operator<= ( const U lhs,
const ValuePtr< T, TSmallSize > &  rhs 
)
noexcept

Compares if a ValuePtr object is less or equal than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of <= operator

◆ operator<=() [10/11]

template<typename T , size_t TSmallSize, typename U >
bool CeresEngine::operator<= ( const ValuePtr< T, TSmallSize > &  lhs,
const U rhs 
)
noexcept

Compares if a ValuePtr object is less or equal than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of <= operator

◆ operator<=() [11/11]

template<typename T , size_t TSmallSize, typename U , size_t USmallSize>
bool CeresEngine::operator<= ( const ValuePtr< T, TSmallSize > &  lhs,
const ValuePtr< U, USmallSize > &  rhs 
)
noexcept

Compares if a ValuePtr object is less or equal than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of <= operator

◆ operator==() [1/29]

template<typename A , typename B >
constexpr bool CeresEngine::operator== ( const A lhs,
const Optional< B > &  rhs 
)
constexpr

◆ operator==() [2/29]

template<typename U >
bool CeresEngine::operator== ( const CountedPtr< U > &  a,
std::nullptr_t   
)
inlinenoexcept
Template Parameters
Uthe object type
Parameters
aThe first operand
Returns
true if a is nullptr

◆ operator==() [3/29]

template<typename U1 , typename U2 >
bool CeresEngine::operator== ( const CountedPtr< U1 > &  a,
const CountedPtr< U2 > &  b 
)
inlinenoexcept
Template Parameters
U1the first object type
U2the second object type
Parameters
aThe first operand
bThe second operand
Returns
true if both a and b represent the same object

◆ operator==() [4/29]

template<typename U1 , typename U2 >
bool CeresEngine::operator== ( const CountedPtr< U1 > &  a,
const U2 b 
)
inlinenoexcept
Template Parameters
U1the first object type
U2the second object type
Parameters
aThe first operand
bThe second operand
Returns
true if both a and b represent the same object

◆ operator==() [5/29]

template<typename T >
bool CeresEngine::operator== ( const DynamicLibrary::Symbol< T > &  a,
std::nullptr_t   
)

◆ operator==() [6/29]

◆ operator==() [7/29]

template<typename Key , typename T , typename Compare , typename Container >
bool CeresEngine::operator== ( const FlatMap< Key, T, Compare, Container > &  a,
const FlatMap< Key, T, Compare, Container > &  b 
)

◆ operator==() [8/29]

template<typename ValueType , typename TextureType >
constexpr bool CeresEngine::operator== ( const MaterialProperty< ValueType, TextureType > &  lhs,
const MaterialProperty< ValueType, TextureType > &  rhs 
)
inlineconstexprnoexcept

Compares two MaterialProperty for equality.

Template Parameters
ValueTypeThe property value type.
TextureTypeThe property texture type.
Parameters
lhsThe left-hand side operand.
rhsThe right-hand side operand.
Returns
True if both the properties operators are equal.

◆ operator==() [9/29]

template<typename ValueType >
constexpr bool CeresEngine::operator== ( const MaterialPropertySwizzle< ValueType > &  lhs,
const MaterialPropertySwizzle< ValueType > &  rhs 
)
inlineconstexprnoexcept

Compares two MaterialPropertySwizzle for equality.

Template Parameters
ValueTypeThe output type of the swizzle.
Parameters
lhsThe left-hand side operand.
rhsThe right-hand side operand.
Returns
True if both the swizzle operators are equal.

◆ operator==() [10/29]

template<typename A , typename B >
constexpr bool CeresEngine::operator== ( const Optional< A > &  lhs,
const B rhs 
)
constexpr

◆ operator==() [11/29]

template<typename A , typename B >
constexpr bool CeresEngine::operator== ( const Optional< A > &  lhs,
const Optional< B > &  rhs 
)
constexpr

◆ operator==() [12/29]

template<typename A >
constexpr bool CeresEngine::operator== ( const Optional< A > &  lhs,
const std::nullopt_t &   
)
constexpr

◆ operator==() [13/29]

constexpr bool CeresEngine::operator== ( const PBRMaterialModel lhs,
const PBRMaterialModel rhs 
)
inlineconstexprnoexcept

Compares two PBRMaterialModel for equality.

Parameters
lhsThe left-hand side operand.
rhsThe right-hand side operand.
Returns
True if both the models are equal.

◆ operator==() [14/29]

template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U , size_t USmallSize, bool UCopyable, typename UBaseType >
bool CeresEngine::operator== ( const Poly< T, TSmallSize, TCopyable, TBaseType > &  lhs,
const Poly< U, USmallSize, UCopyable, UBaseType > &  rhs 
)
noexcept

Compares if two Poly objects are equal.

Parameters
lhsThe first argument
rhsThe second argument
Returns
true if both objects are equal

◆ operator==() [15/29]

template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U >
bool CeresEngine::operator== ( const Poly< T, TSmallSize, TCopyable, TBaseType > &  lhs,
const U rhs 
)
noexcept

Compares if two Poly objects are equal.

Parameters
lhsThe first argument
rhsThe second argument
Returns
true if both objects are equal

◆ operator==() [16/29]

template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType >
bool CeresEngine::operator== ( const Poly< T, TSmallSize, TCopyable, TBaseType > &  lhs,
std::nullptr_t   
)
noexcept

Checks if a Poly is nullptr.

Parameters
lhsThe Poly to be checked
Returns
true if the Poly is nullptr.

◆ operator==() [17/29]

template<typename U >
bool CeresEngine::operator== ( const ResourceHandle< U > &  lhs,
std::nullptr_t   
)
noexcept
Template Parameters
UThe resource type
Parameters
lhsThe first operand
Returns
true if lhs is nullptr

◆ operator==() [18/29]

template<typename U1 , typename U2 >
bool CeresEngine::operator== ( const ResourceHandle< U1 > &  lhs,
const ResourceHandle< U2 > &  rhs 
)
inlinenoexcept
Template Parameters
U1The first resource type
U2The second resource type
Parameters
lhsThe first operand
rhsThe second operand
Returns
true if both lhs and rhs represent the same handle

◆ operator==() [19/29]

template<class T , std::size_t N, std::size_t A1, class U , std::size_t M, std::size_t A2>
bool CeresEngine::operator== ( const ShortAllocator< T, N, A1 > &  x,
const ShortAllocator< U, M, A2 > &  y 
)
inlinenoexcept

◆ operator==() [20/29]

template<typename T , size_t CapacityA, size_t CapacityB>
bool CeresEngine::operator== ( const StaticVector< T, CapacityA > &  a,
const StaticVector< T, CapacityB > &  b 
)

◆ operator==() [21/29]

template<class... TTypes, class... UTypes>
constexpr bool CeresEngine::operator== ( const Tuple< TTypes... > &  lhs,
const Tuple< UTypes... > &  rhs 
)
constexpr

◆ operator==() [22/29]

template<typename U , typename T , size_t TSmallSize, bool TCopyable, typename TBaseType >
bool CeresEngine::operator== ( const U lhs,
const Poly< T, TSmallSize, TCopyable, TBaseType > &  rhs 
)
noexcept

Compares if two Poly objects are equal.

Parameters
lhsThe first argument
rhsThe second argument
Returns
true if both objects are equal

◆ operator==() [23/29]

template<typename U , typename T , size_t TSmallSize>
bool CeresEngine::operator== ( const U lhs,
const ValuePtr< T, TSmallSize > &  rhs 
)
noexcept

Compares if two ValuePtr objects are equal.

Parameters
lhsThe first argument
rhsThe second argument
Returns
true if both objects are equal

◆ operator==() [24/29]

template<typename U1 , typename U2 >
bool CeresEngine::operator== ( const U1 a,
const CountedPtr< U2 > &  b 
)
inlinenoexcept
Template Parameters
U1the first object type
U2the second object type
Parameters
aThe first operand
bThe second operand
Returns
true if both a and b represent the same object

◆ operator==() [25/29]

bool CeresEngine::operator== ( const URI lhs,
const URI rhs 
)
inlinenoexcept

Compares two URIs for equality.

◆ operator==() [26/29]

template<typename T , size_t TSmallSize, typename U >
bool CeresEngine::operator== ( const ValuePtr< T, TSmallSize > &  lhs,
const U rhs 
)
noexcept

Compares if two ValuePtr objects are equal.

Parameters
lhsThe first argument
rhsThe second argument
Returns
true if both objects are equal

◆ operator==() [27/29]

template<typename T , size_t TSmallSize, typename U , size_t USmallSize>
bool CeresEngine::operator== ( const ValuePtr< T, TSmallSize > &  lhs,
const ValuePtr< U, USmallSize > &  rhs 
)
noexcept

Compares if two ValuePtr objects are equal.

Parameters
lhsThe first argument
rhsThe second argument
Returns
true if both objects are equal

◆ operator==() [28/29]

template<typename T , size_t TSmallSize>
bool CeresEngine::operator== ( const ValuePtr< T, TSmallSize > &  lhs,
std::nullptr_t   
)
noexcept

Checks if a ValuePtr is nullptr.

Parameters
lhsThe ValuePtr to be checked
Returns
true if the ValuePtr is nullptr.

◆ operator==() [29/29]

template<typename U >
bool CeresEngine::operator== ( std::nullptr_t  ,
const ResourceHandle< U > &  rhs 
)
noexcept
Template Parameters
UThe resource type
Parameters
lhsThe first operand
Returns
true if lhs is nullptr

◆ operator>() [1/11]

template<typename A , typename B >
constexpr bool CeresEngine::operator> ( const A lhs,
const Optional< B > &  rhs 
)
constexpr

◆ operator>() [2/11]

template<typename A , typename B >
constexpr bool CeresEngine::operator> ( const Optional< A > &  lhs,
const B rhs 
)
constexpr

◆ operator>() [3/11]

template<typename A , typename B >
constexpr bool CeresEngine::operator> ( const Optional< A > &  lhs,
const Optional< B > &  rhs 
)
constexpr

◆ operator>() [4/11]

template<typename A >
constexpr bool CeresEngine::operator> ( const Optional< A > &  lhs,
const std::nullopt_t &   
)
constexpr

◆ operator>() [5/11]

template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U , size_t USmallSize, bool UCopyable, typename UBaseType >
bool CeresEngine::operator> ( const Poly< T, TSmallSize, TCopyable, TBaseType > &  lhs,
const Poly< U, USmallSize, UCopyable, UBaseType > &  rhs 
)
noexcept

Compares if a Poly object is greater than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of > operator

◆ operator>() [6/11]

template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U >
bool CeresEngine::operator> ( const Poly< T, TSmallSize, TCopyable, TBaseType > &  lhs,
const U rhs 
)
noexcept

Compares if a Poly object is greater than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of > operator

◆ operator>() [7/11]

template<class... TTypes, class... UTypes>
constexpr bool CeresEngine::operator> ( const Tuple< TTypes... > &  lhs,
const Tuple< UTypes... > &  rhs 
)
constexpr

◆ operator>() [8/11]

template<typename U , typename T , size_t TSmallSize, bool TCopyable, typename TBaseType >
bool CeresEngine::operator> ( const U lhs,
const Poly< T, TSmallSize, TCopyable, TBaseType > &  rhs 
)
noexcept

Compares if a Poly object is greater than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of > operator

◆ operator>() [9/11]

template<typename U , typename T , size_t TSmallSize>
bool CeresEngine::operator> ( const U lhs,
const ValuePtr< T, TSmallSize > &  rhs 
)
noexcept

Compares if a ValuePtr object is greater than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of > operator

◆ operator>() [10/11]

template<typename T , size_t TSmallSize, typename U >
bool CeresEngine::operator> ( const ValuePtr< T, TSmallSize > &  lhs,
const U rhs 
)
noexcept

Compares if a ValuePtr object is greater than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of > operator

◆ operator>() [11/11]

template<typename T , size_t TSmallSize, typename U , size_t USmallSize>
bool CeresEngine::operator> ( const ValuePtr< T, TSmallSize > &  lhs,
const ValuePtr< U, USmallSize > &  rhs 
)
noexcept

Compares if a ValuePtr object is greater than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of > operator

◆ operator>=() [1/11]

template<typename A , typename B >
constexpr bool CeresEngine::operator>= ( const A lhs,
const Optional< B > &  rhs 
)
constexpr

◆ operator>=() [2/11]

template<typename A , typename B >
constexpr bool CeresEngine::operator>= ( const Optional< A > &  lhs,
const B rhs 
)
constexpr

◆ operator>=() [3/11]

template<typename A , typename B >
constexpr bool CeresEngine::operator>= ( const Optional< A > &  lhs,
const Optional< B > &  rhs 
)
constexpr

◆ operator>=() [4/11]

template<typename A >
constexpr bool CeresEngine::operator>= ( const Optional< A > &  lhs,
const std::nullopt_t &   
)
constexpr

◆ operator>=() [5/11]

template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U , size_t USmallSize, bool UCopyable, typename UBaseType >
bool CeresEngine::operator>= ( const Poly< T, TSmallSize, TCopyable, TBaseType > &  lhs,
const Poly< U, USmallSize, UCopyable, UBaseType > &  rhs 
)
noexcept

Compares if a Poly object is greater or equal than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of >= operator

◆ operator>=() [6/11]

template<typename T , size_t TSmallSize, bool TCopyable, typename TBaseType , typename U >
bool CeresEngine::operator>= ( const Poly< T, TSmallSize, TCopyable, TBaseType > &  lhs,
const U rhs 
)
noexcept

Compares if a Poly object is greater or equal than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of >= operator

◆ operator>=() [7/11]

template<class... TTypes, class... UTypes>
constexpr bool CeresEngine::operator>= ( const Tuple< TTypes... > &  lhs,
const Tuple< UTypes... > &  rhs 
)
constexpr

◆ operator>=() [8/11]

template<typename U , typename T , size_t TSmallSize, bool TCopyable, typename TBaseType >
bool CeresEngine::operator>= ( const U lhs,
const Poly< T, TSmallSize, TCopyable, TBaseType > &  rhs 
)
noexcept

Compares if a Poly object is greater or equal than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of >= operator

◆ operator>=() [9/11]

template<typename U , typename T , size_t TSmallSize>
bool CeresEngine::operator>= ( const U lhs,
const ValuePtr< T, TSmallSize > &  rhs 
)
noexcept

Compares if a ValuePtr object is greater or equal than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of >= operator

◆ operator>=() [10/11]

template<typename T , size_t TSmallSize, typename U >
bool CeresEngine::operator>= ( const ValuePtr< T, TSmallSize > &  lhs,
const U rhs 
)
noexcept

Compares if a ValuePtr object is greater or equal than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of >= operator

◆ operator>=() [11/11]

template<typename T , size_t TSmallSize, typename U , size_t USmallSize>
bool CeresEngine::operator>= ( const ValuePtr< T, TSmallSize > &  lhs,
const ValuePtr< U, USmallSize > &  rhs 
)
noexcept

Compares if a ValuePtr object is greater or equal than another.

Parameters
lhsThe first argument
rhsThe second argument
Returns
The result of >= operator

◆ operator>>() [1/2]

template<class _IntType , std::enable_if_t< std::is_integral_v< _IntType >, int > = 0>
constexpr Byte CeresEngine::operator>> ( const Byte  arg,
const _IntType  shift 
)
constexprnoexcept

◆ operator>>() [2/2]

template<typename CharT , class Traits , typename B , unsigned int F>
std::basic_istream< CharT, Traits > & CeresEngine::operator>> ( std::basic_istream< CharT, Traits > &  is,
FixedPoint< B, F > &  x 
)

◆ operator>>=()

template<class _IntType , std::enable_if_t< std::is_integral_v< _IntType >, int > = 0>
constexpr Byte & CeresEngine::operator>>= ( Byte arg,
const _IntType  shift 
)
constexprnoexcept

◆ operator^()

constexpr Byte CeresEngine::operator^ ( const Byte  left,
const Byte  right 
)
constexprnoexcept

◆ operator^=()

constexpr Byte & CeresEngine::operator^= ( Byte left,
const Byte  right 
)
constexprnoexcept

◆ operator|() [1/38]

constexpr Flags< ComponentDirtyBit, std::underlying_type_t< ComponentDirtyBit > > CeresEngine::operator| ( ComponentDirtyBit  a,
ComponentDirtyBit  b 
)
inlineconstexprnoexcept

◆ operator|() [2/38]

ButtonSet CeresEngine::operator| ( const ButtonSet set,
const Button  button 
)
inline

Adds a button to a set.

Parameters
setThe set to add a button for
buttonThe button to be added
Returns
A copy of the set with the added button

◆ operator|() [3/38]

constexpr Byte CeresEngine::operator| ( const Byte  left,
const Byte  right 
)
constexprnoexcept

◆ operator|() [4/38]

constexpr Flags< EntityDirtyBit, std::underlying_type_t< EntityDirtyBit > > CeresEngine::operator| ( EntityDirtyBit  a,
EntityDirtyBit  b 
)
inlineconstexprnoexcept

◆ operator|() [5/38]

◆ operator|() [6/38]

constexpr Flags< GPUBufferUsageFlag, std::underlying_type_t< GPUBufferUsageFlag > > CeresEngine::operator| ( GPUBufferUsageFlag  a,
GPUBufferUsageFlag  b 
)
inlineconstexprnoexcept

◆ operator|() [7/38]

constexpr Flags< GPUImageUsageFlags, std::underlying_type_t< GPUImageUsageFlags > > CeresEngine::operator| ( GPUImageUsageFlags  a,
GPUImageUsageFlags  b 
)
inlineconstexprnoexcept

◆ operator|() [8/38]

constexpr Flags< GPUMemoryProperty, std::underlying_type_t< GPUMemoryProperty > > CeresEngine::operator| ( GPUMemoryProperty  a,
GPUMemoryProperty  b 
)
inlineconstexprnoexcept

◆ operator|() [9/38]

constexpr Flags< GPUPipelineStage, std::underlying_type_t< GPUPipelineStage > > CeresEngine::operator| ( GPUPipelineStage  a,
GPUPipelineStage  b 
)
inlineconstexprnoexcept

◆ operator|() [10/38]

constexpr Flags< GraphSocketFlag, std::underlying_type_t< GraphSocketFlag > > CeresEngine::operator| ( GraphSocketFlag  a,
GraphSocketFlag  b 
)
inlineconstexprnoexcept

◆ operator|() [11/38]

Merge two modifiers.

Parameters
aThe modifier a
bThe modifier b
Returns
The union of modifier a and b.

◆ operator|() [12/38]

◆ operator|() [13/38]

constexpr Flags< RendererCameraFlag, std::underlying_type_t< RendererCameraFlag > > CeresEngine::operator| ( RendererCameraFlag  a,
RendererCameraFlag  b 
)
inlineconstexprnoexcept

◆ operator|() [14/38]

◆ operator|() [15/38]

◆ operator|() [16/38]

◆ operator|() [17/38]

◆ operator|() [18/38]

constexpr Flags< RendererLightFlag, std::underlying_type_t< RendererLightFlag > > CeresEngine::operator| ( RendererLightFlag  a,
RendererLightFlag  b 
)
inlineconstexprnoexcept

◆ operator|() [19/38]

constexpr Flags< RendererMeshDrawFlag, std::underlying_type_t< RendererMeshDrawFlag > > CeresEngine::operator| ( RendererMeshDrawFlag  a,
RendererMeshDrawFlag  b 
)
inlineconstexprnoexcept

◆ operator|() [20/38]

constexpr Flags< RendererMeshFlag, std::underlying_type_t< RendererMeshFlag > > CeresEngine::operator| ( RendererMeshFlag  a,
RendererMeshFlag  b 
)
inlineconstexprnoexcept

◆ operator|() [21/38]

◆ operator|() [22/38]

◆ operator|() [23/38]

constexpr Flags< RendererShaderFlag, std::underlying_type_t< RendererShaderFlag > > CeresEngine::operator| ( RendererShaderFlag  a,
RendererShaderFlag  b 
)
inlineconstexprnoexcept

◆ operator|() [24/38]

◆ operator|() [25/38]

constexpr Flags< RendererTerrainFlag, std::underlying_type_t< RendererTerrainFlag > > CeresEngine::operator| ( RendererTerrainFlag  a,
RendererTerrainFlag  b 
)
inlineconstexprnoexcept

◆ operator|() [26/38]

constexpr Flags< RendererTextureFlag, std::underlying_type_t< RendererTextureFlag > > CeresEngine::operator| ( RendererTextureFlag  a,
RendererTextureFlag  b 
)
inlineconstexprnoexcept

◆ operator|() [27/38]

◆ operator|() [28/38]

constexpr Flags< ResourceStreamFlag, std::underlying_type_t< ResourceStreamFlag > > CeresEngine::operator| ( ResourceStreamFlag  a,
ResourceStreamFlag  b 
)
inlineconstexprnoexcept

◆ operator|() [29/38]

◆ operator|() [30/38]

◆ operator|() [31/38]

constexpr Flags< ShaderStage, std::underlying_type_t< ShaderStage > > CeresEngine::operator| ( ShaderStage  a,
ShaderStage  b 
)
inlineconstexprnoexcept

◆ operator|() [32/38]

◆ operator|() [33/38]

constexpr Flags< UICheckboxState, std::underlying_type_t< UICheckboxState > > CeresEngine::operator| ( UICheckboxState  a,
UICheckboxState  b 
)
inlineconstexprnoexcept

◆ operator|() [34/38]

constexpr Flags< UIModifierKey, std::underlying_type_t< UIModifierKey > > CeresEngine::operator| ( UIModifierKey  a,
UIModifierKey  b 
)
inlineconstexprnoexcept

◆ operator|() [35/38]

constexpr Flags< UIViewAutoResizing, std::underlying_type_t< UIViewAutoResizing > > CeresEngine::operator| ( UIViewAutoResizing  a,
UIViewAutoResizing  b 
)
inlineconstexprnoexcept

◆ operator|() [36/38]

constexpr Flags< UIViewState, std::underlying_type_t< UIViewState > > CeresEngine::operator| ( UIViewState  a,
UIViewState  b 
)
inlineconstexprnoexcept

◆ operator|() [37/38]

constexpr Flags< UIWindowState, std::underlying_type_t< UIWindowState > > CeresEngine::operator| ( UIWindowState  a,
UIWindowState  b 
)
inlineconstexprnoexcept

◆ operator|() [38/38]

constexpr Flags< URLRequestMode, std::underlying_type_t< URLRequestMode > > CeresEngine::operator| ( URLRequestMode  a,
URLRequestMode  b 
)
inlineconstexprnoexcept

◆ operator|=()

constexpr Byte & CeresEngine::operator|= ( Byte left,
const Byte  right 
)
constexprnoexcept

◆ operator||() [1/2]

constexpr auto CeresEngine::operator|| ( const Predicate< Predicate1 > &  predicate1,
const Predicate< Predicate2 > &  predicate2 
)
inlineconstexprnoexcept

Helper operator to create a new OrPredicate from two predicates.

Template Parameters
Predicate1the left-hand side predicate type
Predicate2the right-hand side predicate type
Parameters
predicate1The left-hand side predicate
predicate2The right-hand side predicate
Returns
A newly created predicate

◆ operator||() [2/2]

constexpr auto CeresEngine::operator|| ( Predicate< Predicate1 > &&  predicate1,
Predicate< Predicate2 > &&  predicate2 
)
inlineconstexprnoexcept

Helper operator to create a new OrPredicate from two predicates.

Template Parameters
Predicate1the left-hand side predicate type
Predicate2the right-hand side predicate type
Parameters
predicate1The left-hand side predicate
predicate2The right-hand side predicate
Returns
A newly created predicate

◆ operator~() [1/36]

constexpr Flags< ComponentDirtyBit, std::underlying_type_t< ComponentDirtyBit > > CeresEngine::operator~ ( ComponentDirtyBit  a)
inlineconstexprnoexcept

◆ operator~() [2/36]

constexpr Byte CeresEngine::operator~ ( const Byte  arg)
constexprnoexcept

◆ operator~() [3/36]

constexpr Flags< EntityDirtyBit, std::underlying_type_t< EntityDirtyBit > > CeresEngine::operator~ ( EntityDirtyBit  a)
inlineconstexprnoexcept

◆ operator~() [4/36]

constexpr Flags< FileHandle::RemoveDirectoryFlag, std::underlying_type_t< FileHandle::RemoveDirectoryFlag > > CeresEngine::operator~ ( FileHandle::RemoveDirectoryFlag  a)
inlineconstexprnoexcept

◆ operator~() [5/36]

constexpr Flags< GPUBufferUsageFlag, std::underlying_type_t< GPUBufferUsageFlag > > CeresEngine::operator~ ( GPUBufferUsageFlag  a)
inlineconstexprnoexcept

◆ operator~() [6/36]

constexpr Flags< GPUImageUsageFlags, std::underlying_type_t< GPUImageUsageFlags > > CeresEngine::operator~ ( GPUImageUsageFlags  a)
inlineconstexprnoexcept

◆ operator~() [7/36]

constexpr Flags< GPUMemoryProperty, std::underlying_type_t< GPUMemoryProperty > > CeresEngine::operator~ ( GPUMemoryProperty  a)
inlineconstexprnoexcept

◆ operator~() [8/36]

constexpr Flags< GPUPipelineStage, std::underlying_type_t< GPUPipelineStage > > CeresEngine::operator~ ( GPUPipelineStage  a)
inlineconstexprnoexcept

◆ operator~() [9/36]

constexpr Flags< GraphSocketFlag, std::underlying_type_t< GraphSocketFlag > > CeresEngine::operator~ ( GraphSocketFlag  a)
inlineconstexprnoexcept

◆ operator~() [10/36]

constexpr Flags< RendererCameraDirtyFlag, std::underlying_type_t< RendererCameraDirtyFlag > > CeresEngine::operator~ ( RendererCameraDirtyFlag  a)
inlineconstexprnoexcept

◆ operator~() [11/36]

constexpr Flags< RendererCameraFlag, std::underlying_type_t< RendererCameraFlag > > CeresEngine::operator~ ( RendererCameraFlag  a)
inlineconstexprnoexcept

◆ operator~() [12/36]

constexpr Flags< RendererComputePipelineFlag, std::underlying_type_t< RendererComputePipelineFlag > > CeresEngine::operator~ ( RendererComputePipelineFlag  a)
inlineconstexprnoexcept

◆ operator~() [13/36]

constexpr Flags< RendererEnvironmentDirtyFlag, std::underlying_type_t< RendererEnvironmentDirtyFlag > > CeresEngine::operator~ ( RendererEnvironmentDirtyFlag  a)
inlineconstexprnoexcept

◆ operator~() [14/36]

constexpr Flags< RendererGraphicsPipelineFlag, std::underlying_type_t< RendererGraphicsPipelineFlag > > CeresEngine::operator~ ( RendererGraphicsPipelineFlag  a)
inlineconstexprnoexcept

◆ operator~() [15/36]

constexpr Flags< RendererLightDirtyFlag, std::underlying_type_t< RendererLightDirtyFlag > > CeresEngine::operator~ ( RendererLightDirtyFlag  a)
inlineconstexprnoexcept

◆ operator~() [16/36]

constexpr Flags< RendererLightFlag, std::underlying_type_t< RendererLightFlag > > CeresEngine::operator~ ( RendererLightFlag  a)
inlineconstexprnoexcept

◆ operator~() [17/36]

constexpr Flags< RendererMeshDrawFlag, std::underlying_type_t< RendererMeshDrawFlag > > CeresEngine::operator~ ( RendererMeshDrawFlag  a)
inlineconstexprnoexcept

◆ operator~() [18/36]

constexpr Flags< RendererMeshFlag, std::underlying_type_t< RendererMeshFlag > > CeresEngine::operator~ ( RendererMeshFlag  a)
inlineconstexprnoexcept

◆ operator~() [19/36]

constexpr Flags< RendererRenderableDirtyFlag, std::underlying_type_t< RendererRenderableDirtyFlag > > CeresEngine::operator~ ( RendererRenderableDirtyFlag  a)
inlineconstexprnoexcept

◆ operator~() [20/36]

constexpr Flags< RendererRenderableFlag, std::underlying_type_t< RendererRenderableFlag > > CeresEngine::operator~ ( RendererRenderableFlag  a)
inlineconstexprnoexcept

◆ operator~() [21/36]

constexpr Flags< RendererShaderFlag, std::underlying_type_t< RendererShaderFlag > > CeresEngine::operator~ ( RendererShaderFlag  a)
inlineconstexprnoexcept

◆ operator~() [22/36]

constexpr Flags< RendererTerrainDirtyFlag, std::underlying_type_t< RendererTerrainDirtyFlag > > CeresEngine::operator~ ( RendererTerrainDirtyFlag  a)
inlineconstexprnoexcept

◆ operator~() [23/36]

constexpr Flags< RendererTerrainFlag, std::underlying_type_t< RendererTerrainFlag > > CeresEngine::operator~ ( RendererTerrainFlag  a)
inlineconstexprnoexcept

◆ operator~() [24/36]

constexpr Flags< RendererTextureFlag, std::underlying_type_t< RendererTextureFlag > > CeresEngine::operator~ ( RendererTextureFlag  a)
inlineconstexprnoexcept

◆ operator~() [25/36]

constexpr Flags< RendererTextureInternalFlag, std::underlying_type_t< RendererTextureInternalFlag > > CeresEngine::operator~ ( RendererTextureInternalFlag  a)
inlineconstexprnoexcept

◆ operator~() [26/36]

constexpr Flags< ResourceStreamFlag, std::underlying_type_t< ResourceStreamFlag > > CeresEngine::operator~ ( ResourceStreamFlag  a)
inlineconstexprnoexcept

◆ operator~() [27/36]

constexpr Flags< ResourceStreamReadFlag, std::underlying_type_t< ResourceStreamReadFlag > > CeresEngine::operator~ ( ResourceStreamReadFlag  a)
inlineconstexprnoexcept

◆ operator~() [28/36]

constexpr Flags< ResourceStreamWriteFlag, std::underlying_type_t< ResourceStreamWriteFlag > > CeresEngine::operator~ ( ResourceStreamWriteFlag  a)
inlineconstexprnoexcept

◆ operator~() [29/36]

constexpr Flags< ShaderStage, std::underlying_type_t< ShaderStage > > CeresEngine::operator~ ( ShaderStage  a)
inlineconstexprnoexcept

◆ operator~() [30/36]

constexpr Flags< TextLayoutManagerState, std::underlying_type_t< TextLayoutManagerState > > CeresEngine::operator~ ( TextLayoutManagerState  a)
inlineconstexprnoexcept

◆ operator~() [31/36]

constexpr Flags< UICheckboxState, std::underlying_type_t< UICheckboxState > > CeresEngine::operator~ ( UICheckboxState  a)
inlineconstexprnoexcept

◆ operator~() [32/36]

constexpr Flags< UIModifierKey, std::underlying_type_t< UIModifierKey > > CeresEngine::operator~ ( UIModifierKey  a)
inlineconstexprnoexcept

◆ operator~() [33/36]

constexpr Flags< UIViewAutoResizing, std::underlying_type_t< UIViewAutoResizing > > CeresEngine::operator~ ( UIViewAutoResizing  a)
inlineconstexprnoexcept

◆ operator~() [34/36]

constexpr Flags< UIViewState, std::underlying_type_t< UIViewState > > CeresEngine::operator~ ( UIViewState  a)
inlineconstexprnoexcept

◆ operator~() [35/36]

constexpr Flags< UIWindowState, std::underlying_type_t< UIWindowState > > CeresEngine::operator~ ( UIWindowState  a)
inlineconstexprnoexcept

◆ operator~() [36/36]

constexpr Flags< URLRequestMode, std::underlying_type_t< URLRequestMode > > CeresEngine::operator~ ( URLRequestMode  a)
inlineconstexprnoexcept

◆ overload()

template<typename... T>
constexpr auto CeresEngine::overload ( T &&...  callables)
constexpr

Returns a callable object, which unifies all callable objects that were passed to this function.

auto overloaded = overload([](std::true_type) { return true; },
[](std::false_type) { return false; });
constexpr auto overload(T &&... callables)
Returns a callable object, which unifies all callable objects that were passed to this function.
Definition Function.hpp:85
Parameters
callablesA pack of callable objects with arbitrary signatures.
Returns
A callable object which exposes the

◆ parent()

auto CeresEngine::parent ( const Entity parent)
inline

Sets the entity parent.

Parameters
parentThe parent to be set
Returns
A lambda to be used when piping through a continuable

◆ predicate()

template<typename Callable >
constexpr auto CeresEngine::predicate ( Callable &&  callable)
inlineconstexprnoexcept

Helper function to create a new predicate from a lambda.

Template Parameters
Callablethe functor type
Parameters
callableThe functor object
Returns
A newly created predicate

◆ range() [1/4]

template<class T = UInt64>
auto CeresEngine::range ( )

Returns an iterator that increases it's value from 0 to end by 1 for each step.

◆ range() [2/4]

template<class T >
auto CeresEngine::range ( T  begin,
T  end 
)

Returns an iterator that increases it's value from begin to end by 1 for each step.

◆ range() [3/4]

template<class T >
auto CeresEngine::range ( T  begin,
T  end,
T  increment 
)

Returns an iterator that increases it's value from begin to the first value <= end by increment for each step.

◆ range() [4/4]

template<class T >
auto CeresEngine::range ( T  end)

Returns an iterator that increases it's value from 0 to end by 1 for each step.

◆ rangeValue()

template<class T >
RangeIterator< T > CeresEngine::rangeValue ( T  v,
T  i = 1 
)

◆ reinterpret_pointer_cast()

template<class T1 , class P1 , class O1 , std::size_t A1, class T2 , class P2 , class O2 , std::size_t A2>
OffsetPtr< T1, P1, O1, A1 > CeresEngine::reinterpret_pointer_cast ( const OffsetPtr< T2, P2, O2, A2 > &  r)
noexcept

Simulation of reinterpret_cast between pointers.

◆ replace() [1/4]

template<class CharT , class Traits = std::char_traits<CharT>, class Allocator = std::allocator<CharT>>
void CeresEngine::replace ( std::basic_string< CharT, Traits, Allocator > &  s,
const char from,
const char to 
)

◆ replace() [2/4]

template<class CharT , class Traits = std::char_traits<CharT>, class Allocator = std::allocator<CharT>>
void CeresEngine::replace ( std::basic_string< CharT, Traits, Allocator > &  s,
const char from,
const std::basic_string< CharT, Traits, Allocator > &  to 
)

◆ replace() [3/4]

template<class CharT , class Traits = std::char_traits<CharT>, class Allocator = std::allocator<CharT>>
void CeresEngine::replace ( std::basic_string< CharT, Traits, Allocator > &  s,
const std::basic_string< CharT, Traits, Allocator > &  from,
const char to 
)

◆ replace() [4/4]

template<class CharT , class Traits = std::char_traits<CharT>, class Allocator = std::allocator<CharT>>
void CeresEngine::replace ( std::basic_string< CharT, Traits, Allocator > &  s,
const std::basic_string< CharT, Traits, Allocator > &  from,
const std::basic_string< CharT, Traits, Allocator > &  to 
)

◆ reverse()

template<class T >
auto CeresEngine::reverse ( T v)

Wraps the rbegin and rend iterators.

◆ rotate()

auto CeresEngine::rotate ( Vector3  rotation)
inline

Rotates the entity.

Parameters
rotationThe angle to rotate the entity
Returns
A lambda to be used when piping through a continuable

◆ scale()

auto CeresEngine::scale ( Vector3  scale)
inline

Applies a scale to the entity.

Parameters
scaleThe scale to render the entity with
Returns
A lambda to be used when piping through a continuable

◆ skipNull() [1/2]

template<typename Container >
auto CeresEngine::skipNull ( Container &&  container)

Returns an iterable object that iterates over the non-null values of container.

Parameters
containerThe container to iterate the values over.

◆ skipNull() [2/2]

template<typename Container >
auto CeresEngine::skipNull ( Container &  container)

Returns an iterable object that iterates over the non-null values of container.

Parameters
containerThe container to iterate the values over.

◆ sort() [1/2]

template<typename Container >
void CeresEngine::sort ( Container &  container)

Sorts all items in the container.

Template Parameters
Containerthe container type
Parameters
containerThe container to be sorted

◆ sort() [2/2]

template<typename Container , typename Compare >
void CeresEngine::sort ( Container &  container,
Compare &&  compare 
)

Sorts all items in the container using the given compare function.

Template Parameters
Containerthe container type
Comparethe comparision functor type
Parameters
containerThe container to be sorted
compareThe sorting function

◆ splitFormat()

Tuple< DataType, UInt32 > CeresEngine::splitFormat ( Format  format)
noexcept

Splits the specified hardware format into a data type and the number of components.

See also
DataType
Format

◆ static_pointer_cast()

template<class T1 , class P1 , class O1 , std::size_t A1, class T2 , class P2 , class O2 , std::size_t A2>
OffsetPtr< T1, P1, O1, A1 > CeresEngine::static_pointer_cast ( const OffsetPtr< T2, P2, O2, A2 > &  r)
noexcept

Simulation of static_cast between pointers.

◆ static_resource_cast() [1/4]

template<typename U , typename V >
ResourceHandle< U > CeresEngine::static_resource_cast ( const ResourceHandle< V > &  handle)

◆ static_resource_cast() [2/4]

template<typename U , typename V >
WeakResourceHandle< U > CeresEngine::static_resource_cast ( const WeakResourceHandle< V > &  handle)

◆ static_resource_cast() [3/4]

template<typename U , typename V >
ResourceHandle< U > CeresEngine::static_resource_cast ( ResourceHandle< V > &&  handle)

◆ static_resource_cast() [4/4]

template<typename U , typename V >
WeakResourceHandle< U > CeresEngine::static_resource_cast ( WeakResourceHandle< V > &&  handle)

◆ staticHash32()

template<typename T >
constexpr UInt32 CeresEngine::staticHash32 ( BasicStringView< T string,
const UInt32  value = 0x811c9dc5 
)
inlineconstexprnoexcept

◆ staticHash64()

template<typename T >
constexpr UInt64 CeresEngine::staticHash64 ( BasicStringView< T string,
const UInt64  value = 0xcbf29ce484222325 
)
inlineconstexprnoexcept

◆ swap() [1/2]

template<class Word >
void CeresEngine::swap ( BitReference< Word > &  a,
BitReference< Word > &  b 
)

Swaps only the referenced bit.

◆ swap() [2/2]

void CeresEngine::swap ( Box lhs,
Box rhs 
)
inlinenoexcept

◆ tie()

template<typename... Ts>
Tuple< Ts &... > CeresEngine::tie ( Ts &...  values)

Creates a tuple of lvalue references to its arguments.

Parameters
valuesZero or more lvalue arguments to construct the tuple from.
Returns
A Tuple object containing lvalue references.

◆ to_integer()

template<class _IntType , std::enable_if_t< std::is_integral_v< _IntType >, int > = 0>
constexpr _IntType CeresEngine::to_integer ( const Byte  arg)
constexprnoexcept

◆ toCaseInsensitive() [1/4]

template<typename T >
CiBasicStringView< T > CeresEngine::toCaseInsensitive ( BasicStringView< T view)

◆ toCaseInsensitive() [2/4]

template<typename T >
CiBasicStringView< T > CeresEngine::toCaseInsensitive ( CiBasicStringView< T view)

◆ toCaseInsensitive() [3/4]

CiBasicStringView< T > CeresEngine::toCaseInsensitive ( const BasicString< T, RawAllocator > &  view)

◆ toCaseInsensitive() [4/4]

CiBasicStringView< T > CeresEngine::toCaseInsensitive ( const CiBasicString< T, RawAllocator > &  view)

◆ toCaseSensitive() [1/4]

template<typename T >
BasicStringView< T > CeresEngine::toCaseSensitive ( BasicStringView< T view)

◆ toCaseSensitive() [2/4]

template<typename T >
BasicStringView< T > CeresEngine::toCaseSensitive ( CiBasicStringView< T view)

◆ toCaseSensitive() [3/4]

BasicStringView< T > CeresEngine::toCaseSensitive ( const BasicString< T, CharTraits, RawAllocator > &  view)

◆ toCaseSensitive() [4/4]

BasicStringView< T > CeresEngine::toCaseSensitive ( const CiBasicString< T, RawAllocator > &  view)

◆ toColorAttachment()

GLenum CeresEngine::toColorAttachment ( UInt32  attachmentIndex)
noexcept

Returns an enum in [GL_COLOR_ATTACHMENT0, ..., GL_COLOR_ATTACHMENT7].

◆ toContainer() [1/2]

template<typename Container , typename Range >
Container CeresEngine::toContainer ( const Range &  range)

◆ toContainer() [2/2]

template<typename Container , typename Range >
Container CeresEngine::toContainer ( Range &  range)

◆ toHexString()

template<typename T >
String CeresEngine::toHexString ( const T i,
const String prefix = "0x" 
)

◆ toImageCubeMap()

GLenum CeresEngine::toImageCubeMap ( UInt32  arrayLayer)
noexcept

Returns an enum in [GL_TEXTURE_CUBE_MAP_POSITIVE_X, ..., GL_TEXTURE_CUBE_MAP_NEGATIVE_Z] for (arrayLayer % 6).

◆ toString() [1/7]

StringView CeresEngine::toString ( Axis  axis)
noexcept

Returns a string representation for the given axis

Parameters
axisThe axis to convert to a string
Returns
A string representation for the given axis

◆ toString() [2/7]

StringView CeresEngine::toString ( Button  button)
noexcept

Returns a string representation for the given button

Parameters
buttonThe button to convert to a string
Returns
A string representation for the given button

◆ toString() [3/7]

String CeresEngine::toString ( const GPUImageDescriptor descriptor)

Creates a string representation of the image descriptor.

◆ toString() [4/7]

StringView CeresEngine::toString ( Format  format)

◆ toString() [5/7]

StringView CeresEngine::toString ( GPUImageLayout  layout)

Creates a string representation of the image layout constant.

◆ toString() [6/7]

StringView CeresEngine::toString ( GPUImageType  type)

Creates a string representation of the image type constant.

◆ toString() [7/7]

String CeresEngine::toString ( ModifierButton  modifier)
noexcept

Returns a string representation for the given modifier

Parameters
modifierThe button to convert to a string
Returns
A string representation for the given modifier

◆ toTemporaryVector() [1/2]

template<typename Range >
auto CeresEngine::toTemporaryVector ( const Range &  range)

Converts a range into a TemporaryVector.

Parameters
rangeThe range to be converted into a Vector.

◆ toTemporaryVector() [2/2]

template<typename Range >
auto CeresEngine::toTemporaryVector ( Range &  range)

Converts a range into a TemporaryVector.

Parameters
rangeThe range to be converted into a Vector.

◆ toUpper()

template<typename T >
void CeresEngine::toUpper ( T s)

◆ toVector() [1/5]

template<typename RawAllocator , typename Range >
auto CeresEngine::toVector ( const Range &  range)

Converts a range into a Vector using a custom RawAllocator.

Parameters
rangeThe range to be converted into a Vector.

◆ toVector() [2/5]

template<typename Range >
auto CeresEngine::toVector ( const Range &  range)

Converts a range into a Vector.

Parameters
rangeThe range to be converted into a Vector.

◆ toVector() [3/5]

template<typename RawAllocator , typename Range >
auto CeresEngine::toVector ( Range &&  range)

Converts a range into a Vector using a custom RawAllocator.

Parameters
rangeThe range to be converted into a Vector.

◆ toVector() [4/5]

template<typename Range >
auto CeresEngine::toVector ( Range &&  range)

Converts a range into a Vector.

Parameters
rangeThe range to be converted into a Vector.

◆ toVector() [5/5]

template<typename RawAllocator , typename Range >
auto CeresEngine::toVector ( Range &  range)

Converts a range into a Vector using a custom RawAllocator.

Parameters
rangeThe range to be converted into a Vector.

◆ toVkImageAspectFlags()

VkImageAspectFlags CeresEngine::toVkImageAspectFlags ( Format  format)

◆ transform() [1/2]

template<typename Container , typename Transform >
auto CeresEngine::transform ( Container &&  container,
Transform &&  transform 
)

Returns an iterable object that iterates over the values of the container and applies transform to every value in it.

Parameters
containerThe container to iterate the values over.
transformThe transform to be applied to every value.

◆ transform() [2/2]

template<typename Container , typename Transform >
auto CeresEngine::transform ( Container &  container,
Transform &&  transform 
)

Returns an iterable object that iterates over the values of the container and applies transform to every value in it.

Parameters
containerThe container to iterate the values over.
transformThe transform to be applied to every value.

◆ transformInPlace()

template<typename Container , typename Transformation >
void CeresEngine::transformInPlace ( Container &  container,
Transformation &&  transformation 
)

◆ transformTo() [1/2]

template<typename Container , typename Transformation >
Vector< decltype(std::declval< Transformation >()(*std::declval< Container >().begin()))> CeresEngine::transformTo ( const Container &  container,
Transformation &&  transformation 
)

◆ transformTo() [2/2]

void CeresEngine::transformTo ( const InContainer inContainer,
OutContainer outContainer,
Transformation &&  transformation 
)

◆ unique() [1/2]

template<typename Container >
auto CeresEngine::unique ( Container &&  container)

Returns an iterable object that iterates over all unique values on the container.

For this iterator to work, the source container must be sorted.

Parameters
containerThe container to iterate the values over.

◆ unique() [2/2]

template<typename Container >
auto CeresEngine::unique ( Container &  container)

Returns an iterable object that iterates over all unique values on the container.

For this iterator to work, the source container must be sorted.

Parameters
containerThe container to iterate the values over.

◆ validateRenderingCapabilities()

bool CeresEngine::validateRenderingCapabilities ( const GPURenderingCapabilities presentCaps,
const GPURenderingCapabilities requiredCaps,
const ValidateRenderingCapabilitiesFunc callback = nullptr 
)
noexcept

Validates the presence of the specified required rendering capabilities.

Parameters
presentCapsSpecifies the rendering capabilities that are present for a certain renderer.
requiredCapsSpecifies the rendering capabilities that are required for the host application to work properly.
callbackOptional callback to retrieve information about the attributes that did not fulfill the requirement. If this is null the validation process breaks with the first attribute that did not fulfill the requirement. By default null.
Returns
true on success, otherwise at least one attribute did not fulfill the requirement.
Remarks
Here is an example usage to print out all attributes that did not fulfill the requirement:
// Initialize the requirements
myRequirements.features.hasStorageBuffers = true;
myRequirements.features.hasComputeShaders = true;
myRequirements.limits.maxNumComputeShaderWorkGroups.x = 1024;
myRequirements.limits.maxNumComputeShaderWorkGroups.y = 1024;
myRequirements.limits.maxNumComputeShaderWorkGroups.z = 1;
myRequirements.limits.maxComputeShaderWorkGroupSize.x = 8;
myRequirements.limits.maxComputeShaderWorkGroupSize.y = 8;
myRequirements.limits.maxComputeShaderWorkGroupSize.z = 8;
// Validate rendering capabilities supported by the render system
myDevice->capabilities(),
[](const String& info, const String& attrib) {
std::cerr << info << ": " << attrib << std::endl;
return true;
}
);
bool validateRenderingCapabilities(const GPURenderingCapabilities &presentCaps, const GPURenderingCapabilities &requiredCaps, const ValidateRenderingCapabilitiesFunc &callback=nullptr) noexcept
Validates the presence of the specified required rendering capabilities.
Note
The following attributes of the RenderingCapabilities structure are ignored: screenOrigin and clippingRange.
See also
RenderingCapabilities
ValidateRenderingCapabilitiesFunc

◆ values() [1/2]

template<typename Container >
auto CeresEngine::values ( Container &&  container)

Returns an iterable object that iterates over the values of a map-like container.

Parameters
containerThe container to iterate the values over.

◆ values() [2/2]

template<typename Container >
auto CeresEngine::values ( Container &  container)

Returns an iterable object that iterates over the values of a map-like container.

Parameters
containerThe container to iterate the values over.

◆ valuesBetween()

template<class T , class I = impl::increment::ByValue<1>>
auto CeresEngine::valuesBetween ( T begin,
T end 
)

Iterates over the dereferenced values between begin and end.

◆ VKBoolean()

constexpr VkBool32 CeresEngine::VKBoolean ( const bool  value)
inlineconstexprnoexcept

◆ VKLoadVulkan() [1/2]

void CeresEngine::VKLoadVulkan ( const DynamicLibrary dynamicLibrary)
noexcept

Loads instance creation function pointers from the Vulkan shared library.

Parameters
dynamicLibraryThe Vulkan dynamic library

◆ VKLoadVulkan() [2/2]

void CeresEngine::VKLoadVulkan ( VkInstance  instance)
noexcept

Loads remaining Vulkan functions from the Vulkan driver.

Parameters
instanceThe VkInstance to load pointers for

◆ VKMap() [1/20]

VkMemoryPropertyFlags CeresEngine::VKMap ( const GPUMemoryProperties memoryProperty)

◆ VKMap() [2/20]

VkFormat CeresEngine::VKMap ( Format  format)

◆ VKMap() [3/20]

VkAttachmentLoadOp CeresEngine::VKMap ( GPUAttachmentLoadOp  loadOp)

◆ VKMap() [4/20]

VkAttachmentStoreOp CeresEngine::VKMap ( GPUAttachmentStoreOp  storeOp)

◆ VKMap() [5/20]

VkBlendOp CeresEngine::VKMap ( GPUBlendArithmetic  blendArithmetic)

◆ VKMap() [6/20]

VkBlendFactor CeresEngine::VKMap ( GPUBlendOp  blendOp)

◆ VKMap() [7/20]

VkCompareOp CeresEngine::VKMap ( GPUCompareOp  compareOp)

◆ VKMap() [8/20]

VkCullModeFlags CeresEngine::VKMap ( GPUCullMode  cullMode)

◆ VKMap() [9/20]

VkDescriptorType CeresEngine::VKMap ( GPUDescriptorType  resourceViewType)

◆ VKMap() [10/20]

VkImageLayout CeresEngine::VKMap ( GPUImageLayout  layout)

◆ VKMap() [11/20]

VkComponentSwizzle CeresEngine::VKMap ( GPUImageSwizzle  imageSwizzle)

◆ VKMap() [12/20]

VkImageViewType CeresEngine::VKMap ( GPUImageType  imageType)

◆ VKMap() [13/20]

VkLogicOp CeresEngine::VKMap ( GPULogicOp  logicOp)

◆ VKMap() [14/20]

VkPolygonMode CeresEngine::VKMap ( GPUPolygonMode  polygonMode)

◆ VKMap() [15/20]

VkSamplerAddressMode CeresEngine::VKMap ( GPUSamplerAddressMode  addressMode)

◆ VKMap() [16/20]

VkStencilOp CeresEngine::VKMap ( GPUStencilOp  stencilOp)

◆ VKMap() [17/20]

VkVertexInputRate CeresEngine::VKMap ( GPUVertexInputRate  vertexInputRate)

◆ VKMap() [18/20]

VkIndexType CeresEngine::VKMap ( IndexType  type)

◆ VKMap() [19/20]

VkPrimitiveTopology CeresEngine::VKMap ( PrimitiveTopology  primitiveTopology)

◆ VKMap() [20/20]

VkShaderStageFlagBits CeresEngine::VKMap ( ShaderType  shaderType)

◆ VKObjectTypeString()

StringView CeresEngine::VKObjectTypeString ( VkObjectType  objectType)
noexcept

◆ VKQueryDeviceExtensionProperties()

Vector< VkExtensionProperties > CeresEngine::VKQueryDeviceExtensionProperties ( VkPhysicalDevice  device)

Queries the device for supported extensions.

Parameters
deviceThe device to query extensions for
Returns
The supported device extensions

◆ VKQueryInstanceExtensionProperties()

Vector< VkExtensionProperties > CeresEngine::VKQueryInstanceExtensionProperties ( const char layerName = nullptr)

Queries the supported instance extensions.

Parameters
layerNameThe layer name
Returns
The supported instance extensions

◆ VKQueryInstanceLayerProperties()

Vector< VkLayerProperties > CeresEngine::VKQueryInstanceLayerProperties ( )

Queries the supported instance layers.

Returns
The supported instance layer properties

◆ VKQueryPhysicalDevices()

Vector< VkPhysicalDevice > CeresEngine::VKQueryPhysicalDevices ( VkInstance  instance)

Queries the available physical devices.

Parameters
instanceThe instance to query devices for
Returns
The available physical devices

◆ VKQueryQueueFamilyProperties()

Vector< VkQueueFamilyProperties > CeresEngine::VKQueryQueueFamilyProperties ( VkPhysicalDevice  device)

Query the device for queue getFamilyIndex properties.

Parameters
deviceThe device to query queue families for
Returns
The supported queue families properties

◆ VKQuerySurfaceSupport()

VKSurfaceSupportDetails CeresEngine::VKQuerySurfaceSupport ( VkPhysicalDevice  device,
VkSurfaceKHR  surface 
)

Queries the device for surface support details.

Parameters
deviceThe device to query surface support details for
surfaceThe surface to query details for
Returns
The surface support details

◆ VKSetObjectName()

template<typename T >
VkResult CeresEngine::VKSetObjectName ( const VkDevice  device,
T  object,
StringView  name 
)

◆ VKThrowIfFailed()

void CeresEngine::VKThrowIfFailed ( VkResult  result,
const char info 
)

◆ wait() [1/3]

auto CeresEngine::wait ( )
inline

Awaits (and blocks) until the continuation has finished running.

Please note that this transform will block until the continuation returns without any timeout. See await(const duration<Rep, Period>&) and await(const std::chrono::time_point<Clock,Duration>&) overloads for versions with timeout.

Returns
The value returned by the continuation

◆ wait() [2/3]

template<class Clock , class Duration >
auto CeresEngine::wait ( const TDate< Clock, Duration > &  timeout)
inline

Awaits (and blocks) until the continuation has finished running.

If the continuation does not complete until timeout has been reached, the transform will throw an exception.

Template Parameters
Clockthe timeout time Clock
Durationthe timeout time Duration
Parameters
timeoutThe amount of time to wait until giving up and throwing an exception.
Returns
The value returned by the continuation

◆ wait() [3/3]

template<class Rep , class Period >
auto CeresEngine::wait ( const TTimeInterval< Rep, Period > &  timeout)
inline

Awaits (and blocks) until the continuation has finished running.

If the continuation does not complete until timeout has elapsed, the transform will throw an exception.

Template Parameters
Repthe timeout duration Rep
Periodthe timeout duration Period
Parameters
timeoutThe amount of time to wait until giving up and throwing an exception.
Returns
The value returned by the continuation

◆ weakLock() [1/2]

template<typename Container >
auto CeresEngine::weakLock ( Container &&  container)

Returns an iterable object that iterates over the locked weak pointers of Container.

Parameters
containerThe container to iterate the values over.

◆ weakLock() [2/2]

template<typename Container >
auto CeresEngine::weakLock ( Container &  container)

Returns an iterable object that iterates over the locked weak pointers of Container.

Parameters
containerThe container to iterate the values over.

◆ WGNotImplemented()

void CeresEngine::WGNotImplemented ( )

◆ WGResourceOptions()

WGLResourceOptions CeresEngine::WGResourceOptions ( const GPUMemoryProperties memoryProperty)

◆ WGScissorRect()

WGLScissorRect CeresEngine::WGScissorRect ( const Scissor scissor)

◆ WGViewport()

WGLViewport CeresEngine::WGViewport ( const Viewport viewport)

◆ with() [1/4]

auto CeresEngine::with ( ExecutionContext context)
inline

◆ with() [2/4]

template<typename Func >
auto CeresEngine::with ( ExecutionContext context,
Func &&  func 
)

◆ with() [3/4]

template<traits::executor Executor>
auto CeresEngine::with ( Executor  executor)

◆ with() [4/4]

template<traits::executor Executor, typename Func >
auto CeresEngine::with ( Executor  executor,
Func &&  func 
)

◆ withComponent() [1/2]

template<CComponent... Cs>
constexpr auto CeresEngine::withComponent ( )
inlineconstexprnoexcept

A predicate that checks if the entity has all of the given Cs components.

Template Parameters
Csthe components to check for existence
Returns
A predicate

◆ withComponent() [2/2]

template<CComponent... Cs, typename Predicate >
constexpr auto CeresEngine::withComponent ( Predicate &&  subpredicate)
inlineconstexprnoexcept

A predicate that checks if the entity has all of the given Cs components.

Template Parameters
Csthe components to check for existence
Returns
A predicate

◆ withComponents()

template<typename CS >
constexpr auto CeresEngine::withComponents ( )
inlineconstexprnoexcept

A predicate that checks if the entity has all of the given Cs components.

Template Parameters
CSthe components to check for existence
Returns
A predicate

◆ withName()

NamePredicate CeresEngine::withName ( String  name)
inline

A predicate that checks if the entity is named name.

Parameters
nameThe name to be checked
Returns
A predicate

◆ withParent()

ParentPredicate CeresEngine::withParent ( const Entity parent)
inlinenoexcept

A predicate that checks if the entity has parent as it's parent entity.

Parameters
parentThe parent entity
Returns
A predicate

◆ wrap() [1/4]

template<class IB , class IE >
auto CeresEngine::wrap ( IB &&  a,
IE &&  b 
)

Wraps two iterators into a single-use container with begin/end methods to match the C++ iterator convention.

◆ wrap() [2/4]

template<class IB , class IE , class Context >
auto CeresEngine::wrap ( IB &&  a,
IE &&  b,
Context &&  context 
)

Wraps two iterators into a single-use container with begin/end methods to match the C++ iterator convention.

◆ wrap() [3/4]

template<class IB , class IE >
auto CeresEngine::wrap ( Pair< IB, IE > &&  pair)

Wraps two iterators into a single-use container with begin/end methods to match the C++ iterator convention.

◆ wrap() [4/4]

template<class IB , class IE , class Context >
auto CeresEngine::wrap ( Pair< IB, IE > &&  pair,
Context &&  context 
)

Wraps two iterators into a single-use container with begin/end methods to match the C++ iterator convention.

◆ zip()

template<typename... Args>
auto CeresEngine::zip ( Args &&...  args)

Returns an iterable object where all argument iterators are traversed simultaneously.

Behaviour is undefined if the iterators do not have the same length.

Variable Documentation

◆ alBuffer3f

LPALBUFFER3F CeresEngine::alBuffer3f
extern

◆ alBuffer3i

LPALBUFFER3I CeresEngine::alBuffer3i
extern

◆ alBufferData

LPALBUFFERDATA CeresEngine::alBufferData
extern

◆ alBufferf

LPALBUFFERF CeresEngine::alBufferf
extern

◆ alBufferfv

LPALBUFFERFV CeresEngine::alBufferfv
extern

◆ alBufferi

LPALBUFFERI CeresEngine::alBufferi
extern

◆ alBufferiv

LPALBUFFERIV CeresEngine::alBufferiv
extern

◆ alcCaptureCloseDevice

LPALCCAPTURECLOSEDEVICE CeresEngine::alcCaptureCloseDevice
extern

◆ alcCaptureOpenDevice

LPALCCAPTUREOPENDEVICE CeresEngine::alcCaptureOpenDevice
extern

◆ alcCaptureSamples

LPALCCAPTURESAMPLES CeresEngine::alcCaptureSamples
extern

◆ alcCaptureStart

LPALCCAPTURESTART CeresEngine::alcCaptureStart
extern

◆ alcCaptureStop

LPALCCAPTURESTOP CeresEngine::alcCaptureStop
extern

◆ alcCloseDevice

LPALCCLOSEDEVICE CeresEngine::alcCloseDevice
extern

◆ alcCreateContext

LPALCCREATECONTEXT CeresEngine::alcCreateContext
extern

◆ alcDestroyContext

LPALCDESTROYCONTEXT CeresEngine::alcDestroyContext
extern

◆ alcGetContextsDevice

LPALCGETCONTEXTSDEVICE CeresEngine::alcGetContextsDevice
extern

◆ alcGetCurrentContext

LPALCGETCURRENTCONTEXT CeresEngine::alcGetCurrentContext
extern

◆ alcGetEnumValue

LPALCGETENUMVALUE CeresEngine::alcGetEnumValue
extern

◆ alcGetError

LPALCGETERROR CeresEngine::alcGetError
extern

◆ alcGetIntegerv

LPALCGETINTEGERV CeresEngine::alcGetIntegerv
extern

◆ alcGetProcAddress

LPALCGETPROCADDRESS CeresEngine::alcGetProcAddress
extern

◆ alcGetString

LPALCGETSTRING CeresEngine::alcGetString
extern

◆ alcIsExtensionPresent

LPALCISEXTENSIONPRESENT CeresEngine::alcIsExtensionPresent
extern

◆ alcMakeContextCurrent

LPALCMAKECONTEXTCURRENT CeresEngine::alcMakeContextCurrent
extern

◆ alcOpenDevice

LPALCOPENDEVICE CeresEngine::alcOpenDevice
extern

◆ alcProcessContext

LPALCPROCESSCONTEXT CeresEngine::alcProcessContext
extern

◆ alcSuspendContext

LPALCSUSPENDCONTEXT CeresEngine::alcSuspendContext
extern

◆ alDeleteBuffers

LPALDELETEBUFFERS CeresEngine::alDeleteBuffers
extern

◆ alDeleteSources

LPALDELETESOURCES CeresEngine::alDeleteSources
extern

◆ alDisable

LPALDISABLE CeresEngine::alDisable
extern

◆ alDistanceModel

LPALDISTANCEMODEL CeresEngine::alDistanceModel
extern

◆ alDopplerFactor

LPALDOPPLERFACTOR CeresEngine::alDopplerFactor
extern

◆ alDopplerVelocity

LPALDOPPLERVELOCITY CeresEngine::alDopplerVelocity
extern

◆ alEnable

LPALENABLE CeresEngine::alEnable
extern

◆ alGenBuffers

LPALGENBUFFERS CeresEngine::alGenBuffers
extern

◆ alGenSources

LPALGENSOURCES CeresEngine::alGenSources
extern

◆ alGetBoolean

LPALGETBOOLEAN CeresEngine::alGetBoolean
extern

◆ alGetBooleanv

LPALGETBOOLEANV CeresEngine::alGetBooleanv
extern

◆ alGetBuffer3f

LPALGETBUFFER3F CeresEngine::alGetBuffer3f
extern

◆ alGetBuffer3i

LPALGETBUFFER3I CeresEngine::alGetBuffer3i
extern

◆ alGetBufferf

LPALGETBUFFERF CeresEngine::alGetBufferf
extern

◆ alGetBufferfv

LPALGETBUFFERFV CeresEngine::alGetBufferfv
extern

◆ alGetBufferi

LPALGETBUFFERI CeresEngine::alGetBufferi
extern

◆ alGetBufferiv

LPALGETBUFFERIV CeresEngine::alGetBufferiv
extern

◆ alGetDouble

LPALGETDOUBLE CeresEngine::alGetDouble
extern

◆ alGetDoublev

LPALGETDOUBLEV CeresEngine::alGetDoublev
extern

◆ alGetEnumValue

LPALGETENUMVALUE CeresEngine::alGetEnumValue
extern

◆ alGetError

LPALGETERROR CeresEngine::alGetError
extern

◆ alGetFloat

LPALGETFLOAT CeresEngine::alGetFloat
extern

◆ alGetFloatv

LPALGETFLOATV CeresEngine::alGetFloatv
extern

◆ alGetInteger

LPALGETINTEGER CeresEngine::alGetInteger
extern

◆ alGetIntegerv

LPALGETINTEGERV CeresEngine::alGetIntegerv
extern

◆ alGetListener3f

LPALGETLISTENER3F CeresEngine::alGetListener3f
extern

◆ alGetListener3i

LPALGETLISTENER3I CeresEngine::alGetListener3i
extern

◆ alGetListenerf

LPALGETLISTENERF CeresEngine::alGetListenerf
extern

◆ alGetListenerfv

LPALGETLISTENERFV CeresEngine::alGetListenerfv
extern

◆ alGetListeneri

LPALGETLISTENERI CeresEngine::alGetListeneri
extern

◆ alGetListeneriv

LPALGETLISTENERIV CeresEngine::alGetListeneriv
extern

◆ alGetProcAddress

LPALGETPROCADDRESS CeresEngine::alGetProcAddress
extern

◆ alGetSource3f

LPALGETSOURCE3F CeresEngine::alGetSource3f
extern

◆ alGetSource3i

LPALGETSOURCE3I CeresEngine::alGetSource3i
extern

◆ alGetSourcef

LPALGETSOURCEF CeresEngine::alGetSourcef
extern

◆ alGetSourcefv

LPALGETSOURCEFV CeresEngine::alGetSourcefv
extern

◆ alGetSourcei

LPALGETSOURCEI CeresEngine::alGetSourcei
extern

◆ alGetSourceiv

LPALGETSOURCEIV CeresEngine::alGetSourceiv
extern

◆ alGetString

LPALGETSTRING CeresEngine::alGetString
extern

◆ alIsBuffer

LPALISBUFFER CeresEngine::alIsBuffer
extern

◆ alIsEnabled

LPALISENABLED CeresEngine::alIsEnabled
extern

◆ alIsExtensionPresent

LPALISEXTENSIONPRESENT CeresEngine::alIsExtensionPresent
extern

◆ alIsSource

LPALISSOURCE CeresEngine::alIsSource
extern

◆ all_of

constexpr AllOfAlgorithmFunctor CeresEngine::all_of
inlineconstexpr

Checks if a predicate is true for all the elements in a range.

◆ alListener3f

LPALLISTENER3F CeresEngine::alListener3f
extern

◆ alListener3i

LPALLISTENER3I CeresEngine::alListener3i
extern

◆ alListenerf

LPALLISTENERF CeresEngine::alListenerf
extern

◆ alListenerfv

LPALLISTENERFV CeresEngine::alListenerfv
extern

◆ alListeneri

LPALLISTENERI CeresEngine::alListeneri
extern

◆ alListeneriv

LPALLISTENERIV CeresEngine::alListeneriv
extern

◆ alSource3f

LPALSOURCE3F CeresEngine::alSource3f
extern

◆ alSource3i

LPALSOURCE3I CeresEngine::alSource3i
extern

◆ alSourcef

LPALSOURCEF CeresEngine::alSourcef
extern

◆ alSourcefv

LPALSOURCEFV CeresEngine::alSourcefv
extern

◆ alSourcei

LPALSOURCEI CeresEngine::alSourcei
extern

◆ alSourceiv

LPALSOURCEIV CeresEngine::alSourceiv
extern

◆ alSourcePause

LPALSOURCEPAUSE CeresEngine::alSourcePause
extern

◆ alSourcePausev

LPALSOURCEPAUSEV CeresEngine::alSourcePausev
extern

◆ alSourcePlay

LPALSOURCEPLAY CeresEngine::alSourcePlay
extern

◆ alSourcePlayv

LPALSOURCEPLAYV CeresEngine::alSourcePlayv
extern

◆ alSourceQueueBuffers

LPALSOURCEQUEUEBUFFERS CeresEngine::alSourceQueueBuffers
extern

◆ alSourceRewind

LPALSOURCEREWIND CeresEngine::alSourceRewind
extern

◆ alSourceRewindv

LPALSOURCEREWINDV CeresEngine::alSourceRewindv
extern

◆ alSourceStop

LPALSOURCESTOP CeresEngine::alSourceStop
extern

◆ alSourceStopv

LPALSOURCESTOPV CeresEngine::alSourceStopv
extern

◆ alSourceUnqueueBuffers

LPALSOURCEUNQUEUEBUFFERS CeresEngine::alSourceUnqueueBuffers
extern

◆ alSpeedOfSound

LPALSPEEDOFSOUND CeresEngine::alSpeedOfSound
extern

◆ any_of

constexpr AnyOfAlgorithmFunctor CeresEngine::any_of
inlineconstexpr

Checks if a predicate is true for any of the elements in a range.

◆ areComponents

template<typename... Cs>
constexpr bool CeresEngine::areComponents = (isComponent<Cs> && ...)
constexpr

A trait that checks if the types Cs are all components.

Template Parameters
Csthe types to be checked

◆ areEntityActions

template<typename... As>
constexpr bool CeresEngine::areEntityActions = (isEntityAction<As> && ...)
constexpr

A trait that checks if the types As are all actions.

Template Parameters
Asthe types to be checked

◆ areEntityEvents

template<typename... Es>
constexpr bool CeresEngine::areEntityEvents = (isEntityEvent<Es> && ...)
constexpr

A trait that checks if the types Es are all events.

Template Parameters
Esthe types to be checked

◆ areEntityObjects

template<typename... Es>
constexpr bool CeresEngine::areEntityObjects = (isEntityObject<Es> && ...)
constexpr

A trait that checks if the types Es are all entity objects.

Template Parameters
Esthe types to be checked

◆ areNetworkActions

template<typename... As>
constexpr bool CeresEngine::areNetworkActions = (isNetworkAction<As> && ...)
constexpr

A trait that checks if the types As are all actions.

Template Parameters
Asthe types to be checked

◆ areNetworkEvents

template<typename... As>
constexpr bool CeresEngine::areNetworkEvents = (isNetworkEvent<As> && ...)
constexpr

A trait that checks if the types As are all events.

Template Parameters
Asthe types to be checked

◆ areSystems

template<typename... Ss>
constexpr bool CeresEngine::areSystems = (isSystem<Ss> && ...)
constexpr

A trait that checks if the types Ss are all systems.

Template Parameters
Ssthe types to be checked

◆ array_length

template<typename T >
constexpr auto CeresEngine::array_length = array_length_t<T>::value
constexpr

◆ bc1

const BC<1> CeresEngine::bc1
inline

Compresses the texture using DXT1.

◆ bc3

const BC<3> CeresEngine::bc3
inline

Compresses the texture using DXT5.

◆ bc4

const BC<4> CeresEngine::bc4
inline

Compresses the texture using BC4.

◆ bc5

const BC<5> CeresEngine::bc5
inline

Compresses the texture using BC5.

◆ ConstructorSignature

constexpr auto CeresEngine::ConstructorSignature = "constructor"
constexpr

◆ CopyConstructorSignature

constexpr auto CeresEngine::CopyConstructorSignature = "copyConstructor"
constexpr

◆ count

constexpr CountAlgorithmFunctor CeresEngine::count
inlineconstexpr

Returns the number of elements matching an element.

◆ count_if

constexpr CountIfAlgorithmFunctor CeresEngine::count_if
inlineconstexpr

Returns the number of elements satisfying specific criteria.

◆ DefaultConstructorSignature

constexpr auto CeresEngine::DefaultConstructorSignature = "defaultConstructor"
constexpr

◆ dxt1

const BC<1> CeresEngine::dxt1

◆ dxt5

const BC<3> CeresEngine::dxt5

◆ find

constexpr FindAlgorithmFunctor CeresEngine::find
inlineconstexpr

Finds the first element equal to another element.

◆ find_if

constexpr FindIfAlgorithmFunctor CeresEngine::find_if
inlineconstexpr

Finds the first element satisfying specific criteria.

◆ find_if_not

constexpr FindIfNotAlgorithmFunctor CeresEngine::find_if_not
inlineconstexpr

Finds the first element not satisfying specific criteria.

◆ for_each

constexpr ForEachAlgorithmFunctor CeresEngine::for_each
inlineconstexpr

Applies a function to a range of elements.

◆ found

template<class I , class C >
decltype(&*std::declval< I >() CeresEngine::found) (const I &it, C &container) ( const I it,
C container 
)

Returns a pointer to the value if found, otherwise nullptr.

Usage: if(auto v = found(map.find(key), map)) { do_something(v); }

◆ is_converting_constructor

template<typename T , typename... Args>
constexpr auto CeresEngine::is_converting_constructor = is_converting_constructor_t<T, Args...>::value
constexpr

◆ is_explicitly_constructible

template<typename Type , typename... Arguments>
constexpr bool CeresEngine::is_explicitly_constructible = impl::is_explicitly_constructible_t<Type, Arguments...>::value
constexpr

A type trait type that checks if Type is explicitly constructible from Arguments.

◆ is_implicitly_constructible

template<typename Type , typename... Arguments>
constexpr bool CeresEngine::is_implicitly_constructible = impl::is_implicitly_constructible_t<Type, Arguments...>::value
constexpr

A type trait type that checks if Type is implicitly constructible from Arguments.

◆ is_lvalue_const_reference

template<typename T >
constexpr auto CeresEngine::is_lvalue_const_reference = std::is_lvalue_reference_v<T>&& std::is_const_v<std::remove_reference_t<T>>
constexpr

◆ isComponent

template<typename C >
constexpr bool CeresEngine::isComponent = std::is_base_of<AbstractComponent, C>::value
constexpr

A trait that checks if the type C is a component.

Template Parameters
Cthe type to be checked

◆ isEntityAction

template<typename A >
constexpr bool CeresEngine::isEntityAction = std::is_base_of<AbstractEntityAction, A>::value
constexpr

A trait that checks if the type C is a action.

Template Parameters
Athe type to be checked

◆ isEntityEvent

template<typename E >
constexpr bool CeresEngine::isEntityEvent = std::is_base_of<AbstractEntityEvent, E>::value
constexpr

A trait that checks if the type E is a event.

Template Parameters
Ethe type to be checked

◆ isEntityObject

template<typename E >
constexpr bool CeresEngine::isEntityObject
constexpr
Initial value:
= (EntityObjectTraits<E>::isEntityObjectType || EntityObjectTraits<typename E::Type>::isEntityObjectType) &&
sizeof(typename E::Type) == sizeof(E)

A trait that checks if the type E is a entity object.

Template Parameters
Ethe type to be checked

◆ isNetworkAction

template<typename A >
constexpr bool CeresEngine::isNetworkAction = std::is_base_of<AbstractNetworkAction, A>::value
constexpr

A trait that checks if the type A is a network action.

Template Parameters
Athe type to be checked

◆ isNetworkEvent

template<typename A >
constexpr bool CeresEngine::isNetworkEvent = std::is_base_of<AbstractNetworkEvent, A>::value
constexpr

A trait that checks if the type A is a network event.

Template Parameters
Athe type to be checked

◆ isSystem

template<typename S >
constexpr bool CeresEngine::isSystem = std::is_base_of<AbstractSystem, S>::value
constexpr

A trait that checks if the type S is a system.

Template Parameters
Sthe type to be checked

◆ kStreamPolySize

constexpr std::size_t CeresEngine::kStreamPolySize = sizeof(void*) * 8
inlineconstexpr

The size used by Stream and other polymorphic types for small object optimization.

◆ MoveConstructorSignature

constexpr auto CeresEngine::MoveConstructorSignature = "moveConstructor"
constexpr

◆ none_of

constexpr NoneOfAlgorithmFunctor CeresEngine::none_of
inlineconstexpr

Checks if a predicate is true for none of the elements in a range.

◆ pointer_arity

template<typename T >
constexpr auto CeresEngine::pointer_arity = pointer_arity_t<T>::value
constexpr

◆ reduce

constexpr ReduceAlgorithmFunctor CeresEngine::reduce
inlineconstexpr

Sums up (or accumulate with a custom function) a range of elements, except out of order.

◆ size_of

template<typename T >
constexpr auto CeresEngine::size_of = size_of_t<T>::value
constexpr

◆ state

struct CeresEngine::GLState CeresEngine::state

◆ UILayoutFittingCompressedSize

const UISize CeresEngine::UILayoutFittingCompressedSize
extern

The option to use the smallest possible size.

◆ UILayoutFittingExpandedSize

const UISize CeresEngine::UILayoutFittingExpandedSize
extern

The option to use the largest possible size.

◆ UIRectZero

const UIRect CeresEngine::UIRectZero
extern

A zero UI rectangle.

◆ useContinuable

constexpr cti::use_continuable_raw_t CeresEngine::useContinuable {}
constexpr

Special value for instance of use_continuable_raw_t which doesn't perform remapping of asio error codes and rethrows the raw error code.

Type must have a std::hash specialization.

Template Parameters
Tthe type to be hashed
Parameters
vThe value to be hashed
Returns
The hashed value

◆ vkCreateInstance

PFN_vkCreateInstance CeresEngine::vkCreateInstance
extern

◆ vkEnumerateInstanceExtensionProperties

PFN_vkEnumerateInstanceExtensionProperties CeresEngine::vkEnumerateInstanceExtensionProperties
extern

◆ vkEnumerateInstanceLayerProperties

PFN_vkEnumerateInstanceLayerProperties CeresEngine::vkEnumerateInstanceLayerProperties
extern

◆ vkGetInstanceProcAddr

PFN_vkGetInstanceProcAddr CeresEngine::vkGetInstanceProcAddr
extern