|
GEGELATI
|
Internal templated structure of the type erasure pattern. More...
#include <untypedSharedPtr.h>
Public Types | |
| using | ELEM_TYPE = typename std::remove_all_extents<T>::type |
| Raw type of the element stored in the shared_ptr. | |
Public Member Functions | |
| template<typename Deleter > | |
| Model (T *t, Deleter func) | |
| template<typename U , typename _ = typename std::enable_if< std::is_array<T>::value, U>::type> | |
| Model (U *p) | |
| const std::type_info & | getType () const override |
| Polymorphic getType() function. | |
| const std::type_info & | getPtrType () const override |
| Polymorphic getPtrType() function. | |
Public Member Functions inherited from Data::UntypedSharedPtr::Concept | |
| virtual | ~Concept ()=default |
| Default deleter made virtual to activate polyphormism. | |
Public Attributes | |
| std::shared_ptr< ELEM_TYPE > | sharedPtr |
| std::shared_ptr of the UntypedSharedPtr | |
Internal templated structure of the type erasure pattern.
This part of the type erasure pattern actually contains the std::shared_ptr.
| T | Template type taken from UntypedSharedPtr constructor. |
|
inline |
Constructor of the Model: initializes the internal std::shared_ptr.
|
inline |
Constructor for model for array (whose type decay into pointers when passed as arguments.) Default deleter automatically used
|
inlineoverridevirtual |
Polymorphic getPtrType() function.
Implements Data::UntypedSharedPtr::Concept.
|
inlineoverridevirtual |
Polymorphic getType() function.
Implements Data::UntypedSharedPtr::Concept.