Base Framework
Public Types | Public Member Functions | List of all members
HeapBlockOwned< TYPE > Class Template Reference

Inherits HeapBlock< TYPE >.

Public Types

typedef HeapBlock< TYPE > Base
 

Public Member Functions

 HeapBlockOwned () noexcept
 
 HeapBlockOwned (MemorySize size)
 
 HeapBlockOwned (Base &&move) noexcept
 
HeapBlockOwnedoperator= (HeapBlockOwned &&assign) noexcept
 
 ~HeapBlockOwned ()
 
void resize (MemorySize size)
 
bool tryResize (MemorySize size) noexcept
 
void release ()
 
MemorySize getSize () const noexcept
 
- Public Member Functions inherited from HeapBlock< TYPE >
 HeapBlock () noexcept
 
 HeapBlock (MemorySize size)
 
 HeapBlock (const HeapBlock &copy) noexcept
 
 HeapBlock (HeapBlock &&move) noexcept
 
HeapBlockoperator= (const HeapBlock &assign) noexcept
 
HeapBlockoperator= (NullPtr assign) noexcept
 
HeapBlockoperator= (TYPE *assign) noexcept
 
HeapBlockoperator= (HeapBlock &&assign) noexcept
 
void resize (MemorySize size)
 
bool tryResize (MemorySize size) noexcept
 
MemorySize getSize () const noexcept
 
void release ()
 
 operator TYPE * () noexcept
 
 operator const TYPE * () const noexcept
 
 operator bool () const noexcept
 
 ~HeapBlock ()
 

Additional Inherited Members

- Protected Attributes inherited from HeapBlock< TYPE >
TYPE * heap = nullptr
 

Constructor & Destructor Documentation

◆ HeapBlockOwned() [1/3]

template<typename TYPE >
HeapBlockOwned< TYPE >::HeapBlockOwned ( )
inlinenoexcept

No memory.

◆ HeapBlockOwned() [2/3]

template<typename TYPE >
HeapBlockOwned< TYPE >::HeapBlockOwned ( MemorySize  size)
inline

Allocates memory of given size.

◆ HeapBlockOwned() [3/3]

template<typename TYPE >
HeapBlockOwned< TYPE >::HeapBlockOwned ( Base &&  move)
inlinenoexcept

Copy of pointer value!

◆ ~HeapBlockOwned()

template<typename TYPE >
HeapBlockOwned< TYPE >::~HeapBlockOwned ( )
inline

Destruct. Releases heap.

Member Function Documentation

◆ getSize()

template<typename TYPE >
MemorySize HeapBlock< TYPE >::getSize
inlinenoexcept

Returns the size of the block. Can return 0 if not supported.

◆ operator=()

template<typename TYPE >
HeapBlockOwned& HeapBlockOwned< TYPE >::operator= ( HeapBlockOwned< TYPE > &&  assign)
inlinenoexcept

Assignment of pointer value!

◆ release()

template<typename TYPE >
void HeapBlock< TYPE >::release
inline

Releases heap. Make sure to call explicitly for normal use cases!

◆ resize()

template<typename TYPE >
void HeapBlock< TYPE >::resize
inline

Resizes block.

◆ tryResize()

template<typename TYPE >
bool HeapBlock< TYPE >::tryResize
inlinenoexcept

Tries inplace resize. Returns true on success.