![]() |
The Gaudi Framework
v30r4 (9b837755)
|
Typedefs | |
using | DataObjectPtr = std::unique_ptr< DataObject > |
template<typename T > | |
using | DataObjectAndRef = std::pair< DataObjectPtr, const T & > |
Functions | |
template<typename T > | |
constexpr bool | isDataObject () |
Tells whether type T is a subclass of DataObject. More... | |
template<typename T > | |
constexpr bool | isRange () |
Tells whether there is a parameter pack U... such as T = Range<U...> More... | |
template<typename T , ENABLE_IF(isDataObject< T >()&&!isRange< T >()) > | |
const T & | unwrapDataObject (const DataObject &rawObject) |
T is a subclass of DataObject, and is not a range: we can just cast the pointer provided by the TES as-is. More... | |
template<typename RangeT , ENABLE_IF(isRange< RangeT >()) > | |
const RangeT | unwrapDataObject (const DataObject &) |
T is a Range<...>: Either the TES contains a Range to be copied, or a container which must be turned into a range spanning its content. More... | |
template<typename T > | |
DataObjectAndRef< T > | wrapDataObject (DataObjectPtr &&ptr) |
template<typename T > | |
DataObjectAndRef< T > | wrapDataObject (DataObject &&data) |
template<typename T , ENABLE_IF(!isDataObject< T >()) > | |
DataObjectAndRef< T > | wrapDataObject (T &&data) |
using Gaudi::HandleDetail::DataObjectAndRef = typedef std::pair<DataObjectPtr, const T&> |
Definition at line 108 of file HandleDetail.h.
using Gaudi::HandleDetail::DataObjectPtr = typedef std::unique_ptr<DataObject> |
Definition at line 102 of file HandleDetail.h.
constexpr bool Gaudi::HandleDetail::isDataObject | ( | ) |
Tells whether type T is a subclass of DataObject.
Definition at line 35 of file HandleDetail.h.
constexpr bool Gaudi::HandleDetail::isRange | ( | ) |
Tells whether there is a parameter pack U... such as T = Range<U...>
Definition at line 42 of file HandleDetail.h.
const T & Gaudi::HandleDetail::unwrapDataObject | ( | const DataObject & | rawObject | ) |
T is a subclass of DataObject, and is not a range: we can just cast the pointer provided by the TES as-is.
T is not a subclass of DataObject and is not a range.
So it is stored in the TES as an AnyDataWrapper, which we need to un-wrap.
Definition at line 66 of file HandleDetail.h.
const RangeT Gaudi::HandleDetail::unwrapDataObject | ( | const DataObject & | ) |
T is a Range<...>: Either the TES contains a Range to be copied, or a container which must be turned into a range spanning its content.
Definition at line 88 of file HandleDetail.h.
DataObjectAndRef<T> Gaudi::HandleDetail::wrapDataObject | ( | DataObjectPtr && | ptr | ) |
Definition at line 112 of file HandleDetail.h.
DataObjectAndRef<T> Gaudi::HandleDetail::wrapDataObject | ( | DataObject && | data | ) |
Definition at line 120 of file HandleDetail.h.
DataObjectAndRef<T> Gaudi::HandleDetail::wrapDataObject | ( | T && | data | ) |
Definition at line 127 of file HandleDetail.h.