ATLAS Offline Software
Public Member Functions | Private Types | Private Attributes | Friends | List of all members
CaloRecGPU::Helpers::SimpleHolder< T, Context, false > Class Template Reference

#include <Helpers.h>

Collaboration diagram for CaloRecGPU::Helpers::SimpleHolder< T, Context, false >:

Public Member Functions

CUDA_HOS_DEV const T & operator* () const
 
CUDA_HOS_DEV T & operator* ()
 
CUDA_HOS_DEV const T * operator-> () const
 
CUDA_HOS_DEV T * operator-> ()
 
CUDA_HOS_DEV bool valid () const
 
CUDA_HOS_DEV SimpleHolder ()
 
template<class X , class disabler = typename std::enable_if < std::is_base_of<T, X>::value || std::is_same<T, X>::value >::type>
CUDA_HOS_DEV SimpleHolder (X *other_p)
 
template<class X , bool other_hold, class disabler = typename std::enable_if < std::is_base_of<T, X>::value || std::is_same<T, X>::value >::type>
CUDA_HOS_DEV SimpleHolder (const SimpleHolder< X, Context, other_hold > &other)
 
template<class X , bool other_hold, class disabler = typename std::enable_if < std::is_base_of<T, X>::value || std::is_same<T, X>::value >::type>
CUDA_HOS_DEV SimpleHolderoperator= (const SimpleHolder< X, Context, other_hold > &other)
 
template<class X , class disabler = typename std::enable_if < std::is_base_of<X, T>::value || std::is_same<T, X>::value >::type>
CUDA_HOS_DEV operator const X * () const
 
template<class X , class disabler = typename std::enable_if < std::is_base_of<X, T>::value || std::is_same<T, X>::value >::type>
CUDA_HOS_DEV operator X* ()
 

Private Types

using indexer = unsigned int
 
using Manager = MemoryManagement< T, indexer >
 

Private Attributes

T * m_object
 

Friends

template<class a , class b , bool c>
class SimpleHolder
 

Detailed Description

template<class T, class Context>
class CaloRecGPU::Helpers::SimpleHolder< T, Context, false >

Definition at line 1360 of file Calorimeter/CaloRecGPU/CaloRecGPU/Helpers.h.

Member Typedef Documentation

◆ indexer

template<class T , class Context >
using CaloRecGPU::Helpers::SimpleHolder< T, Context, false >::indexer = unsigned int
private

◆ Manager

template<class T , class Context >
using CaloRecGPU::Helpers::SimpleHolder< T, Context, false >::Manager = MemoryManagement<T, indexer>
private

Constructor & Destructor Documentation

◆ SimpleHolder() [1/3]

template<class T , class Context >
CUDA_HOS_DEV CaloRecGPU::Helpers::SimpleHolder< T, Context, false >::SimpleHolder ( )
inline

Definition at line 1401 of file Calorimeter/CaloRecGPU/CaloRecGPU/Helpers.h.

1401  : m_object(nullptr)
1402  {
1403  }

◆ SimpleHolder() [2/3]

template<class T , class Context >
template<class X , class disabler = typename std::enable_if < std::is_base_of<T, X>::value || std::is_same<T, X>::value >::type>
CUDA_HOS_DEV CaloRecGPU::Helpers::SimpleHolder< T, Context, false >::SimpleHolder ( X *  other_p)
inline
Warning
We assume the pointer is in a valid memory location!

Definition at line 1411 of file Calorimeter/CaloRecGPU/CaloRecGPU/Helpers.h.

1412  {
1413  m_object = other_p;
1414  }

◆ SimpleHolder() [3/3]

template<class T , class Context >
template<class X , bool other_hold, class disabler = typename std::enable_if < std::is_base_of<T, X>::value || std::is_same<T, X>::value >::type>
CUDA_HOS_DEV CaloRecGPU::Helpers::SimpleHolder< T, Context, false >::SimpleHolder ( const SimpleHolder< X, Context, other_hold > &  other)
inline

Definition at line 1420 of file Calorimeter/CaloRecGPU/CaloRecGPU/Helpers.h.

1421  {
1422  m_object = other.m_object;
1423  }

Member Function Documentation

◆ operator const X *()

template<class T , class Context >
template<class X , class disabler = typename std::enable_if < std::is_base_of<X, T>::value || std::is_same<T, X>::value >::type>
CUDA_HOS_DEV CaloRecGPU::Helpers::SimpleHolder< T, Context, false >::operator const X * ( ) const
inline

Definition at line 1436 of file Calorimeter/CaloRecGPU/CaloRecGPU/Helpers.h.

1437  {
1438  return m_object;
1439  }

◆ operator X*()

template<class T , class Context >
template<class X , class disabler = typename std::enable_if < std::is_base_of<X, T>::value || std::is_same<T, X>::value >::type>
CUDA_HOS_DEV CaloRecGPU::Helpers::SimpleHolder< T, Context, false >::operator X* ( )
inline

Definition at line 1442 of file Calorimeter/CaloRecGPU/CaloRecGPU/Helpers.h.

1443  {
1444  return m_object;
1445  }

◆ operator*() [1/2]

template<class T , class Context >
CUDA_HOS_DEV T& CaloRecGPU::Helpers::SimpleHolder< T, Context, false >::operator* ( )
inline

Definition at line 1379 of file Calorimeter/CaloRecGPU/CaloRecGPU/Helpers.h.

1380  {
1381  return *m_object;
1382  }

◆ operator*() [2/2]

template<class T , class Context >
CUDA_HOS_DEV const T& CaloRecGPU::Helpers::SimpleHolder< T, Context, false >::operator* ( ) const
inline

Definition at line 1374 of file Calorimeter/CaloRecGPU/CaloRecGPU/Helpers.h.

1375  {
1376  return *m_object;
1377  }

◆ operator->() [1/2]

template<class T , class Context >
CUDA_HOS_DEV T* CaloRecGPU::Helpers::SimpleHolder< T, Context, false >::operator-> ( )
inline

Definition at line 1389 of file Calorimeter/CaloRecGPU/CaloRecGPU/Helpers.h.

1390  {
1391  return m_object;
1392  }

◆ operator->() [2/2]

template<class T , class Context >
CUDA_HOS_DEV const T* CaloRecGPU::Helpers::SimpleHolder< T, Context, false >::operator-> ( ) const
inline

Definition at line 1384 of file Calorimeter/CaloRecGPU/CaloRecGPU/Helpers.h.

1385  {
1386  return m_object;
1387  }

◆ operator=()

template<class T , class Context >
template<class X , bool other_hold, class disabler = typename std::enable_if < std::is_base_of<T, X>::value || std::is_same<T, X>::value >::type>
CUDA_HOS_DEV SimpleHolder& CaloRecGPU::Helpers::SimpleHolder< T, Context, false >::operator= ( const SimpleHolder< X, Context, other_hold > &  other)
inline

Definition at line 1429 of file Calorimeter/CaloRecGPU/CaloRecGPU/Helpers.h.

1430  {
1431  m_object = other.m_object;
1432  return (*this);
1433  }

◆ valid()

template<class T , class Context >
CUDA_HOS_DEV bool CaloRecGPU::Helpers::SimpleHolder< T, Context, false >::valid ( ) const
inline

Definition at line 1394 of file Calorimeter/CaloRecGPU/CaloRecGPU/Helpers.h.

1395  {
1396  return m_object != nullptr;
1397  }

Friends And Related Function Documentation

◆ SimpleHolder

template<class T , class Context >
template<class a , class b , bool c>
friend class SimpleHolder
friend

Member Data Documentation

◆ m_object

template<class T , class Context >
T* CaloRecGPU::Helpers::SimpleHolder< T, Context, false >::m_object
private

The documentation for this class was generated from the following file:
CaloRecGPU::Helpers::SimpleHolder< T, Context, false >::m_object
T * m_object
Definition: Calorimeter/CaloRecGPU/CaloRecGPU/Helpers.h:1366
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16