EventAnalysis
1.3.0
include
core
WrapperCast.hpp
Go to the documentation of this file.
1
/*
2
* WrapperCast.hpp
3
*
4
* Created on: 04 Dec 2017
5
* Author: Nicola Mori
6
*/
7
8
#ifndef WRAPPERCAST_HPP_
9
#define WRAPPERCAST_HPP_
10
11
#include "
core/InheritsFrom.h
"
12
#include "
core/ObjectWrapper.h
"
13
#include "
core/ObserverPtr.h
"
14
15
namespace
EA
{
16
32
void
*
wrapper_cast
(ObjectWrapper &wrapper,
const
std::type_info &typeInfo,
bool
isConst);
33
45
template
<
typename
DataType>
observer_ptr<DataType>
wrapper_cast
(
ObjectWrapper
&wrapper) {
46
return
observer_ptr<DataType>
((DataType *)(
wrapper_cast
(wrapper,
typeid
(DataType), std::is_const<DataType>::value)));
47
}
48
49
}
// namespace EA
50
#endif
/* WRAPPERCAST_HPP_ */
ObjectWrapper.h
EA::observer_ptr< DataType >
EA
IncludeFileExc.h IncludeFileExc class declaration.
Definition:
Algorithm.h:21
ObserverPtr.h
EA::ObjectWrapper
Generic wrapper class.
Definition:
ObjectWrapper.h:28
EA::wrapper_cast
void * wrapper_cast(ObjectWrapper &wrapper, const std::type_info &typeInfo, bool isConst)
Cast function to extract wrapped pointer from wrapper in a type-safe way.
Definition:
WrapperCast.cpp:12
InheritsFrom.h
Generated by
1.8.13