MarlinMT
0.1.0
|
MemLayout for mutable object instances. More...
#include <MemLayout.h>
Inherits marlinmt::book::MemLayout.
Public Member Functions | |
SharedMemLayout (std::size_t num_instances, Args_t... args) | |
Constructor. More... | |
SharedMemLayout (const SharedMemLayout &)=default | |
SharedMemLayout & | operator= (const SharedMemLayout &)=default |
SharedMemLayout (SharedMemLayout &&) noexcept=default | |
SharedMemLayout & | operator= (SharedMemLayout &&) noexcept=default |
~SharedMemLayout () override final=default | |
![]() | |
template<typename T > | |
std::shared_ptr< const T > | at (std::size_t idx) const |
Get Resource for an instance. More... | |
template<typename T > | |
std::shared_ptr< T > | at (std::size_t idx) |
Get Resource for an instance. More... | |
template<typename T > | |
std::shared_ptr< const T > | merged () |
Get Completed Resource. More... | |
MemLayout ()=default | |
MemLayout (const MemLayout &)=default | |
MemLayout & | operator= (const MemLayout &)=default |
MemLayout (MemLayout &&)=default | |
MemLayout & | operator= (MemLayout &&)=default |
virtual | ~MemLayout ()=default |
Private Member Functions | |
std::shared_ptr< void > | impAt (std::size_t idx) const override final |
Get Resource for Instance. Lazy operation. More... | |
std::shared_ptr< void > | impMerged () override final |
implementation from merged More... | |
Private Attributes | |
std::vector< std::shared_ptr< T > > | _objects |
std::shared_ptr< T > | _mergedObj {nullptr} |
std::unique_ptr< std::tuple< const typename std::remove_reference< Args_t >::type... > > | _ctor_p |
Additional Inherited Members |
MemLayout for mutable object instances.
T | stored Object Type |
MERGE | function(to, from) which merge to instances of Object |
Definition at line 70 of file MemLayout.h.
|
inlineexplicit |
Constructor.
amount | of instances amount of Resource Instances |
args | Arguments for Object Construction |
Definition at line 78 of file MemLayout.h.
References marlinmt::book::MemLayout::operator=().
|
default |
|
defaultnoexcept |
|
finaloverridedefault |
|
inlinefinaloverrideprivatevirtual |
Get Resource for Instance. Lazy operation.
Implements marlinmt::book::MemLayout.
Definition at line 97 of file MemLayout.h.
|
inlinefinaloverrideprivatevirtual |
implementation from merged
Implements marlinmt::book::MemLayout.
Definition at line 101 of file MemLayout.h.
|
default |
|
defaultnoexcept |
|
private |
Definition at line 117 of file MemLayout.h.
|
private |
Definition at line 114 of file MemLayout.h.
|
private |
Definition at line 113 of file MemLayout.h.