![]() |
The Gaudi Framework
v30r4 (9b837755)
|
#include "GaudiKernel/AnyDataWrapper.h"#include "GaudiKernel/DataObjID.h"#include "GaudiKernel/DataObject.h"#include <memory>#include <stdexcept>#include <type_traits>#include <utility>

Go to the source code of this file.
Namespaces | |
| Gaudi | |
| Helper functions to set/get the application return code. | |
| Gaudi::HandleDetail | |
Macros | |
| #define | ENABLE_IF(condition) std::enable_if_t<condition>* = nullptr |
Typedefs | |
| using | Gaudi::HandleDetail::DataObjectPtr = std::unique_ptr< DataObject > |
| template<typename T > | |
| using | Gaudi::HandleDetail::DataObjectAndRef = std::pair< DataObjectPtr, const T & > |
Functions | |
| template<typename T > | |
| constexpr bool | Gaudi::HandleDetail::isDataObject () |
| Tells whether type T is a subclass of DataObject. More... | |
| template<typename T > | |
| constexpr bool | Gaudi::HandleDetail::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 & | 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. More... | |
| template<typename RangeT , ENABLE_IF(isRange< RangeT >()) > | |
| 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. More... | |
| template<typename T > | |
| DataObjectAndRef< T > | Gaudi::HandleDetail::wrapDataObject (DataObjectPtr &&ptr) |
| template<typename T > | |
| DataObjectAndRef< T > | Gaudi::HandleDetail::wrapDataObject (DataObject &&data) |
| template<typename T , ENABLE_IF(!isDataObject< T >()) > | |
| DataObjectAndRef< T > | Gaudi::HandleDetail::wrapDataObject (T &&data) |
| #define ENABLE_IF | ( | condition | ) | std::enable_if_t<condition>* = nullptr |
Definition at line 49 of file HandleDetail.h.