DART
6.10.1
|
#include <Cloneable.hpp>
Public Types | |
using | Data = DataT |
using | Owner = OwnerT |
Public Member Functions | |
ProxyCloneable () | |
Default constructor. Constructs a default version of Data. More... | |
ProxyCloneable (OwnerT *owner) | |
Constructor that ties this instance to an Owner. More... | |
template<typename... Args> | |
ProxyCloneable (OwnerT *owner, Args &&... args) | |
Constructor that ties this instance to an Owner and then sets its data using the remaining arguments. More... | |
template<typename... Args> | |
ProxyCloneable (Args &&... args) | |
Templated constructor. More... | |
ProxyCloneable (const ProxyCloneable &other) | |
Copy constructor. More... | |
ProxyCloneable (ProxyCloneable &&other) | |
Move constructor. More... | |
ProxyCloneable & | operator= (const Data &data) |
Copy assignment operator that uses a Data instance. More... | |
ProxyCloneable & | operator= (Data &&other) |
Move assignment operator that uses a Data instance. More... | |
ProxyCloneable & | operator= (const ProxyCloneable &other) |
Copy assignment operator. More... | |
ProxyCloneable & | operator= (ProxyCloneable &&other) |
Move assignment operator. More... | |
void | set (const Data &data) |
Set the Data of this ProxyCloneable. More... | |
void | set (Data &&data) |
Set the Data of this ProxyCloneable. More... | |
void | set (const ProxyCloneable &other) |
Set the Data of this ProxyCloneable based on another. More... | |
void | set (ProxyCloneable &&other) |
Set the Data of this ProxyCloneable based on another. More... | |
Data | get () const |
Get the Data of this ProxyCloneable. More... | |
OwnerT * | getOwner () |
Get the Owner of this ProxyCloneable. More... | |
const OwnerT * | getOwner () const |
Get the Owner of this ProxyCloneable. More... | |
std::unique_ptr< Base > | clone () const override final |
void | copy (const Base &other) override final |
Protected Attributes | |
OwnerT * | mOwner |
The ProxyCloneable will not store any data in mData if it has an Owner. More... | |
std::unique_ptr< Data > | mData |
The ProxyCloneable will hold data in this field if it does not have an owner. More... | |
using dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::Data = DataT |
using dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::Owner = OwnerT |
dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::ProxyCloneable |
Default constructor. Constructs a default version of Data.
dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::ProxyCloneable | ( | OwnerT * | owner | ) |
Constructor that ties this instance to an Owner.
dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::ProxyCloneable | ( | OwnerT * | owner, |
Args &&... | args | ||
) |
Constructor that ties this instance to an Owner and then sets its data using the remaining arguments.
dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::ProxyCloneable | ( | Args &&... | args | ) |
Templated constructor.
Uses whichever Data constructor is able to match the arguments.
dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::ProxyCloneable | ( | const ProxyCloneable< Base, OwnerT, DataT, setData, getData > & | other | ) |
Copy constructor.
dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::ProxyCloneable | ( | ProxyCloneable< Base, OwnerT, DataT, setData, getData > && | other | ) |
Move constructor.
|
finaloverride |
|
finaloverride |
auto dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::get |
Get the Data of this ProxyCloneable.
OwnerT * dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::getOwner |
Get the Owner of this ProxyCloneable.
const OwnerT * dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::getOwner |
Get the Owner of this ProxyCloneable.
auto dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::operator= | ( | const Data & | data | ) |
Copy assignment operator that uses a Data instance.
auto dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::operator= | ( | const ProxyCloneable< Base, OwnerT, DataT, setData, getData > & | other | ) |
Copy assignment operator.
auto dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::operator= | ( | Data && | other | ) |
Move assignment operator that uses a Data instance.
auto dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::operator= | ( | ProxyCloneable< Base, OwnerT, DataT, setData, getData > && | other | ) |
Move assignment operator.
void dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::set | ( | const Data & | data | ) |
Set the Data of this ProxyCloneable.
void dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::set | ( | const ProxyCloneable< Base, OwnerT, DataT, setData, getData > & | other | ) |
Set the Data of this ProxyCloneable based on another.
void dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::set | ( | Data && | data | ) |
Set the Data of this ProxyCloneable.
void dart::common::ProxyCloneable< Base, OwnerT, DataT, setData, getData >::set | ( | ProxyCloneable< Base, OwnerT, DataT, setData, getData > && | other | ) |
Set the Data of this ProxyCloneable based on another.
|
protected |
The ProxyCloneable will hold data in this field if it does not have an owner.
|
protected |
The ProxyCloneable will not store any data in mData if it has an Owner.