ATLAS Offline Software
Loading...
Searching...
No Matches
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
18#include "GaudiKernel/DataObject.h"
20#include <memory>
21
22
23namespace SG {
24
25
26template <CxxUtils::detail::RefCounted T>
28
29
30template <typename T>
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
Simple smart pointer for Gaudi-style refcounted objects.
convert to and from a SG storable
Simple smart pointer for Gaudi-style refcounted objects.
T * get()
Get the pointer.
Forward declaration.
CxxUtils::RefCountedPtr< T > DataObjectSharedPtr
DataObject * asStorable(SG::DataObjectSharedPtr< T > pObject)
typename std::conditional_t< has_base, deflt, recurse >::type type