ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
AthenaKernel
AthenaKernel
DataObjectSharedPtr.h
Go to the documentation of this file.
1
// This file's extension implies that it's C, but it's really -*- C++ -*-.
2
/*
3
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
4
*/
11
12
13
#ifndef ATHENAKERNEL_DATAOBJECTSHAREDPTR_H
14
#define ATHENAKERNEL_DATAOBJECTSHAREDPTR_H
15
16
17
#include "
AthenaKernel/StorableConversions.h
"
18
#include "GaudiKernel/DataObject.h"
19
#include "
CxxUtils/RefCountedPtr.h
"
20
#include <memory>
21
22
23
namespace
SG
{
24
25
26
template
<CxxUtils::detail::RefCounted T>
27
using
DataObjectSharedPtr
=
CxxUtils::RefCountedPtr<T>
;
28
29
30
template
<
typename
T>
31
DataObject*
asStorable
(
SG::DataObjectSharedPtr<T>
pObject) {
32
typedef
typename
DataBucketTrait<T>::type
bucket_t;
33
return
new
bucket_t (pObject.
get
());
34
}
35
36
37
}
// namespace SG
38
39
40
#endif
// not ATHENAKERNEL_DATAOBJECTSHAREDPTR_H
RefCountedPtr.h
Simple smart pointer for Gaudi-style refcounted objects.
StorableConversions.h
convert to and from a SG storable
CxxUtils::RefCountedPtr
Simple smart pointer for Gaudi-style refcounted objects.
Definition
RefCountedPtr.h:39
CxxUtils::RefCountedPtr::get
T * get()
Get the pointer.
SG
Forward declaration.
Definition
CaloCellPacker_400_500.h:32
SG::DataObjectSharedPtr
CxxUtils::RefCountedPtr< T > DataObjectSharedPtr
Definition
DataObjectSharedPtr.h:27
SG::asStorable
DataObject * asStorable(SG::DataObjectSharedPtr< T > pObject)
Definition
DataObjectSharedPtr.h:31
SG::DataBucketTrait::type
typename std::conditional_t< has_base, deflt, recurse >::type type
Definition
StorableConversions.h:144
Generated on
for ATLAS Offline Software by
1.17.0