ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::RefHolder< T > Struct Template Reference

Non-owning holder for referencing a backend. More...

#include <Acts/Utilities/Holders.hpp>

Inheritance diagram for Acts::RefHolder< T >:
[legend]

Public Types

using element_type = T
 Element type.

Public Member Functions

 RefHolder (T &ref)
 Constructor from reference.
 RefHolder (T *_ptr)
 Constructor from pointer.
 operator bool () const
 Bool conversion operator.
T & operator* ()
 Dereference operator.
const T & operator* () const
 Dereference operator.
T * operator-> ()
 Arrow operator.
const T * operator-> () const
 Arrow operator.

Public Attributes

T * ptr
 Pointer to the referenced object.

Detailed Description

template<typename T>
struct Acts::RefHolder< T >

Non-owning holder for referencing a backend.

Template Parameters
TBackend type.

The referenced backend must outlive the holder.

Constructor & Destructor Documentation

◆ RefHolder() [1/2]

template<typename T>
Acts::RefHolder< T >::RefHolder ( T * _ptr)
explicit

Constructor from pointer.

Parameters
_ptrPointer to the object

◆ RefHolder() [2/2]

template<typename T>
Acts::RefHolder< T >::RefHolder ( T & ref)
explicit

Constructor from reference.

Parameters
refReference to the object

Member Function Documentation

◆ operator*() [1/2]

template<typename T>
T & Acts::RefHolder< T >::operator* ( )

Dereference operator.

Returns
Reference to the object

◆ operator*() [2/2]

template<typename T>
const T & Acts::RefHolder< T >::operator* ( ) const

Dereference operator.

Returns
Const reference to the object

◆ operator->() [1/2]

template<typename T>
T * Acts::RefHolder< T >::operator-> ( )

Arrow operator.

Returns
Pointer to the object

◆ operator->() [2/2]

template<typename T>
const T * Acts::RefHolder< T >::operator-> ( ) const

Arrow operator.

Returns
Const pointer to the object