EventAnalysis  1.3.0
Public Member Functions | List of all members
EA::ObjectWrapperT< DataType, typename > Class Template Reference

Wrapper class for non-copy-constructible objects. More...

#include <ObjectWrapperT.h>

Inheritance diagram for EA::ObjectWrapperT< DataType, typename >:
EA::ObjectWrapperTImpl< DataType > EA::ObjectWrapperBase

Public Member Functions

std::unique_ptr< ObjectWrapperBaseCloneObject ()
 Throws an exception since the wrapped object is not copy-constructible. More...
 
std::unique_ptr< ObjectWrapperBaseCloneWrapper ()
 Clones the wrapper. More...
 
- Public Member Functions inherited from EA::ObjectWrapperTImpl< DataType >
 ObjectWrapperTImpl (observer_ptr< DataType > dataObjPtr)
 Constructor. More...
 
 ObjectWrapperTImpl (std::shared_ptr< DataType > dataObjPtr)
 Constructor. More...
 
 ObjectWrapperTImpl (std::unique_ptr< DataType > dataObjPtr)
 Constructor. More...
 
 ObjectWrapperTImpl (const ObjectWrapperTImpl< DataType > &)
 Copy constructor. More...
 
observer_ptr< DataType > GetObj ()
 Data object getter method. More...
 
bool IsPolymorphic ()
 Test for polymorphic wrapped object. More...
 
bool IsConst ()
 Test for const wrapped object. More...
 
const std::type_info & GetObjType ()
 Returns the type of the wrapped object. More...
 
void WrapNothing ()
 Remove the wrapped object. More...
 
bool WrapsSomething ()
 Checks if the wrapper wraps something. More...
 
void * GetObjAddress ()
 Getter for raw pointer to the wrapped object. More...
 
bool WrapObject (void *address, const std::type_info &type, bool own, bool isPolymorphic, bool isConst)
 Wrap the object at the given address. More...
 
- Public Member Functions inherited from EA::ObjectWrapperBase
virtual ~ObjectWrapperBase ()
 Destructor. More...
 

Additional Inherited Members

- Protected Member Functions inherited from EA::ObjectWrapperBase
 ObjectWrapperBase ()
 Constructor. More...
 
- Protected Attributes inherited from EA::ObjectWrapperTImpl< DataType >
observer_ptr< DataType > _dataObjPtr
 
std::shared_ptr< DataType > _dataObjSharedPtr
 

Detailed Description

template<typename DataType, typename = void>
class EA::ObjectWrapperT< DataType, typename >

Wrapper class for non-copy-constructible objects.

This class wraps non-copy-constructible events. For these objects the ObjectWrapperBase::CloneObject method cannot be implemented generically, its override throws an exception.

Member Function Documentation

◆ CloneObject()

template<typename DataType , typename = void>
std::unique_ptr<ObjectWrapperBase> EA::ObjectWrapperT< DataType, typename >::CloneObject ( )
inlinevirtual

Throws an exception since the wrapped object is not copy-constructible.

Exceptions
std::logic_erroralways.
Returns
It always throws so it never returns.

Implements EA::ObjectWrapperBase.

◆ CloneWrapper()

template<typename DataType , typename = void>
std::unique_ptr<ObjectWrapperBase> EA::ObjectWrapperT< DataType, typename >::CloneWrapper ( )
inlinevirtual

Clones the wrapper.

Creates a new wrapper wrapping the same object.

Returns
pointer to the clone wrapper.

Implements EA::ObjectWrapperBase.


The documentation for this class was generated from the following file: