ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::DeviceAlgorithmT< ALGORITHM_TYPE > Class Template Reference

Convenience type for the "algorithm provider" tools. More...

#include <DeviceAlgorithmT.h>

Collaboration diagram for ActsTrk::DeviceAlgorithmT< ALGORITHM_TYPE >:

Public Types

using algorithm_type = ALGORITHM_TYPE
 Type of the held algorithm.

Public Member Functions

 DeviceAlgorithmT (std::shared_ptr< const vecmem::copy > copy, std::shared_ptr< const algorithm_type > algorithm)
 Constructor with the algorithm and the copy object that it uses.
 DeviceAlgorithmT (const DeviceAlgorithmT &)=default
 Copy constructor.
 DeviceAlgorithmT (DeviceAlgorithmT &&)=default
 Move constructor.
DeviceAlgorithmToperator= (const DeviceAlgorithmT &)=default
 Copy assignment operator.
DeviceAlgorithmToperator= (DeviceAlgorithmT &&)=default
 Move assignment operator.
const vecmem::copy & copy () const
 Get the copy object that the algorithm uses.
const algorithm_typealgorithm () const
 Get the algorithm itself.
const algorithm_typeoperator* () const
 Access the algorithm with a "pointer dereferencing formalism".
const algorithm_typeoperator-> () const
 Access the algorithm with a "pointer formalism".

Private Attributes

std::shared_ptr< const vecmem::copy > m_copy
 The copy object that the algorithm uses.
std::shared_ptr< const algorithm_typem_algorithm
 The algorithm itself.

Detailed Description

template<typename ALGORITHM_TYPE>
class ActsTrk::DeviceAlgorithmT< ALGORITHM_TYPE >

Convenience type for the "algorithm provider" tools.

Definition at line 15 of file DeviceAlgorithmT.h.

Member Typedef Documentation

◆ algorithm_type

template<typename ALGORITHM_TYPE>
using ActsTrk::DeviceAlgorithmT< ALGORITHM_TYPE >::algorithm_type = ALGORITHM_TYPE

Type of the held algorithm.

Definition at line 19 of file DeviceAlgorithmT.h.

Constructor & Destructor Documentation

◆ DeviceAlgorithmT() [1/3]

template<typename ALGORITHM_TYPE>
ActsTrk::DeviceAlgorithmT< ALGORITHM_TYPE >::DeviceAlgorithmT ( std::shared_ptr< const vecmem::copy > copy,
std::shared_ptr< const algorithm_type > algorithm )
inline

Constructor with the algorithm and the copy object that it uses.

Definition at line 22 of file DeviceAlgorithmT.h.

Convenience type for the "algorithm provider" tools.
const algorithm_type & algorithm() const
Get the algorithm itself.
const vecmem::copy & copy() const
Get the copy object that the algorithm uses.
std::shared_ptr< const vecmem::copy > m_copy
The copy object that the algorithm uses.
std::shared_ptr< const algorithm_type > m_algorithm
The algorithm itself.

◆ DeviceAlgorithmT() [2/3]

template<typename ALGORITHM_TYPE>
ActsTrk::DeviceAlgorithmT< ALGORITHM_TYPE >::DeviceAlgorithmT ( const DeviceAlgorithmT< ALGORITHM_TYPE > & )
default

Copy constructor.

◆ DeviceAlgorithmT() [3/3]

template<typename ALGORITHM_TYPE>
ActsTrk::DeviceAlgorithmT< ALGORITHM_TYPE >::DeviceAlgorithmT ( DeviceAlgorithmT< ALGORITHM_TYPE > && )
default

Move constructor.

Member Function Documentation

◆ algorithm()

template<typename ALGORITHM_TYPE>
const algorithm_type & ActsTrk::DeviceAlgorithmT< ALGORITHM_TYPE >::algorithm ( ) const
inline

Get the algorithm itself.

Definition at line 39 of file DeviceAlgorithmT.h.

39{ return *m_algorithm; }

◆ copy()

template<typename ALGORITHM_TYPE>
const vecmem::copy & ActsTrk::DeviceAlgorithmT< ALGORITHM_TYPE >::copy ( ) const
inline

Get the copy object that the algorithm uses.

Definition at line 36 of file DeviceAlgorithmT.h.

36{ return *m_copy; }

◆ operator*()

template<typename ALGORITHM_TYPE>
const algorithm_type & ActsTrk::DeviceAlgorithmT< ALGORITHM_TYPE >::operator* ( ) const
inline

Access the algorithm with a "pointer dereferencing formalism".

Definition at line 42 of file DeviceAlgorithmT.h.

42{ return *m_algorithm; }

◆ operator->()

template<typename ALGORITHM_TYPE>
const algorithm_type * ActsTrk::DeviceAlgorithmT< ALGORITHM_TYPE >::operator-> ( ) const
inline

Access the algorithm with a "pointer formalism".

Definition at line 44 of file DeviceAlgorithmT.h.

44{ return m_algorithm.get(); }

◆ operator=() [1/2]

template<typename ALGORITHM_TYPE>
DeviceAlgorithmT & ActsTrk::DeviceAlgorithmT< ALGORITHM_TYPE >::operator= ( const DeviceAlgorithmT< ALGORITHM_TYPE > & )
default

Copy assignment operator.

◆ operator=() [2/2]

template<typename ALGORITHM_TYPE>
DeviceAlgorithmT & ActsTrk::DeviceAlgorithmT< ALGORITHM_TYPE >::operator= ( DeviceAlgorithmT< ALGORITHM_TYPE > && )
default

Move assignment operator.

Member Data Documentation

◆ m_algorithm

template<typename ALGORITHM_TYPE>
std::shared_ptr<const algorithm_type> ActsTrk::DeviceAlgorithmT< ALGORITHM_TYPE >::m_algorithm
private

The algorithm itself.

Definition at line 50 of file DeviceAlgorithmT.h.

◆ m_copy

template<typename ALGORITHM_TYPE>
std::shared_ptr<const vecmem::copy> ActsTrk::DeviceAlgorithmT< ALGORITHM_TYPE >::m_copy
private

The copy object that the algorithm uses.

Definition at line 48 of file DeviceAlgorithmT.h.


The documentation for this class was generated from the following file: