ATLAS Offline Software
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
*/
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
SG
Forward declaration.
Definition:
CaloCellPacker_400_500.h:32
StorableConversions.h
convert to and from a SG storable
RefCountedPtr.h
Simple smart pointer for Gaudi-style refcounted objects.
CxxUtils::RefCountedPtr
Simple smart pointer for Gaudi-style refcounted objects.
Definition:
RefCountedPtr.h:39
SG::asStorable
DataObject * asStorable(SG::DataObjectSharedPtr< T > pObject)
Definition:
DataObjectSharedPtr.h:31
CxxUtils::RefCountedPtr::get
T * get()
Get the pointer.
SG::DataBucketTrait::type
typename std::conditional_t< has_base, deflt, recurse >::type type
Definition:
StorableConversions.h:144
Generated on Mon Nov 17 2025 21:08:37 for ATLAS Offline Software by
1.8.18