DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::host_device_vector_r0< T > Struct Template Reference

Legacy std::vector<T> subclass with an optional device mirror. More...

#include <Vector.hpp>

Inheritance diagram for DNDS::host_device_vector_r0< T >:
[legend]
Collaboration diagram for DNDS::host_device_vector_r0< T >:
[legend]

Public Types

using t_base = std::vector< T >
 
using t_self = host_device_vector_r0< T >
 
template<DeviceBackend B, typename TSize = int64_t>
using t_deviceView = vector_DeviceView< B, T, TSize >
 

Public Member Functions

DNDS_HOST host_device_vector_r0 (const std::vector< T > &v)
 
DNDS_HOST t_selfoperator= (const std::vector< T > &v)
 
void to_device (DeviceBackend backend=DeviceBackend::Host)
 
void to_host ()
 
T * dataDevice ()
 
template<DeviceBackend B, typename TSize = int64_t>
t_deviceView< B, TSizedeviceView ()
 
const T * dataDevice () const
 
t_selfoperator= (const t_self &R)
 
 host_device_vector_r0 (const t_self &R)
 
DeviceBackend device ()
 
void clear_device ()
 
void swap (t_self &R) noexcept
 

Public Attributes

t_supDeviceStorageBase deviceStorage = null_supDeviceStorageBase()
 

Detailed Description

template<typename T>
struct DNDS::host_device_vector_r0< T >

Legacy std::vector<T> subclass with an optional device mirror.

Simpler predecessor of #host_device_vector_r1, kept for third-party interop that expected a true std::vector<T>. Prefer host_device_vector (aliased to _r1) for new code.

Definition at line 413 of file Vector.hpp.

Member Typedef Documentation

◆ t_base

template<typename T >
using DNDS::host_device_vector_r0< T >::t_base = std::vector<T>

Definition at line 417 of file Vector.hpp.

◆ t_deviceView

template<typename T >
template<DeviceBackend B, typename TSize = int64_t>
using DNDS::host_device_vector_r0< T >::t_deviceView = vector_DeviceView<B, T, TSize>

Definition at line 464 of file Vector.hpp.

◆ t_self

Definition at line 419 of file Vector.hpp.

Constructor & Destructor Documentation

◆ host_device_vector_r0() [1/2]

template<typename T >
DNDS_HOST DNDS::host_device_vector_r0< T >::host_device_vector_r0 ( const std::vector< T > &  v)
inline

Definition at line 423 of file Vector.hpp.

◆ host_device_vector_r0() [2/2]

template<typename T >
DNDS::host_device_vector_r0< T >::host_device_vector_r0 ( const t_self R)
inline

Definition at line 496 of file Vector.hpp.

Here is the call graph for this function:

Member Function Documentation

◆ clear_device()

template<typename T >
void DNDS::host_device_vector_r0< T >::clear_device ( )
inline

Definition at line 512 of file Vector.hpp.

◆ dataDevice() [1/2]

template<typename T >
T * DNDS::host_device_vector_r0< T >::dataDevice ( )
inline

Definition at line 458 of file Vector.hpp.

Here is the caller graph for this function:

◆ dataDevice() [2/2]

template<typename T >
const T * DNDS::host_device_vector_r0< T >::dataDevice ( ) const
inline

Definition at line 476 of file Vector.hpp.

◆ device()

template<typename T >
DeviceBackend DNDS::host_device_vector_r0< T >::device ( )
inline

Definition at line 507 of file Vector.hpp.

Here is the caller graph for this function:

◆ deviceView()

template<typename T >
template<DeviceBackend B, typename TSize = int64_t>
t_deviceView< B, TSize > DNDS::host_device_vector_r0< T >::deviceView ( )
inline

Definition at line 466 of file Vector.hpp.

Here is the call graph for this function:

◆ operator=() [1/2]

template<typename T >
DNDS_HOST t_self & DNDS::host_device_vector_r0< T >::operator= ( const std::vector< T > &  v)
inline

Definition at line 425 of file Vector.hpp.

◆ operator=() [2/2]

template<typename T >
t_self & DNDS::host_device_vector_r0< T >::operator= ( const t_self R)
inline

Definition at line 481 of file Vector.hpp.

Here is the call graph for this function:

◆ swap()

template<typename T >
void DNDS::host_device_vector_r0< T >::swap ( t_self R)
inlinenoexcept

Definition at line 517 of file Vector.hpp.

◆ to_device()

template<typename T >
void DNDS::host_device_vector_r0< T >::to_device ( DeviceBackend  backend = DeviceBackend::Host)
inline

Definition at line 439 of file Vector.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ to_host()

template<typename T >
void DNDS::host_device_vector_r0< T >::to_host ( )
inline

Definition at line 449 of file Vector.hpp.

Here is the call graph for this function:

Member Data Documentation

◆ deviceStorage

Definition at line 421 of file Vector.hpp.


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