Name |
Description |
|
---|---|---|
|
DefaultInstanceCreator |
|
|
DefaultInstanceDestroyer |
|
|
Delete |
|
|
FactoryCreate |
|
|
FactoryDestroy |
|
|
max_align_of |
|
|
MemoryResource |
MemoryResource is an abstract class that allows the implementation of polymorphic allocators. @note It's purpose is to allow passing arbitrary allocators through API boundaries, without requiring changes in the signatures and types involved. |
|
New |
|
|
PolyAllocator |
|
|
PolyAllocator |
|
|
ScopedPtr |
Takes ownership over the given pointer and handles it's lifetime. @note As ScopedPtr inherits the specified destroyer type, stateless lifetime managers are zero-cost, but it's also possible to use stateful lifetime managers (such as lambdas with captures and what-not). For stateful lifetime managers, a dedicated constructor exists that receives the destroyer instance and initializes the inherited destroyer type with it. |
Name |
Description |
---|---|
List |
|
Map |
|
Matrix |
|
Set |
|
String |
|
UnorderedMap |
|
UnorderedSet |
|
Vector |
Name | Description | ||
---|---|---|---|
|
ScopedPtr< B... |
pma::makeScoped ( |
Syntactic sugar for creating instances wrapped in a ScopedPtr. @note The default behavior is to rely on the New / Delete pair of lifetime managers, because it's sensible to do so. However, because a significant portion of our abstractions follow the convention of exposing a create / destroy pair of factory functions (where create always returns a raw pointer), there also exists a dedicated FactoryCreate / FactoryDestroy pair of lifetime managers. To change the default behavior in order to utilize a specific lifetime manager pair, specialize the DefaultInstanceCreator and DefaultInstanceDestroyer traits for the types that need different handling. Alternately, it's also possible to pass a custom creator / destroyer on each invocation. |
|
ScopedPtr< T... |
pma::makeScoped ( |
|
|
ScopedPtr< T... |
pma::makeScoped ( |
|
|
pma::operator!= ( |
||
|
pma::operator== ( |