Hex  2.2
Hydrogen-electron collision solver
Public Types | Public Member Functions
clArray< T, Alloc > Class Template Reference

#include <clarrays.h>

Inheritance diagram for clArray< T, Alloc >:
Inheritance graph
[legend]
Collaboration diagram for clArray< T, Alloc >:
Collaboration graph
[legend]

Public Types

typedef T DataType
 
typedef T * iterator
 
typedef T const * const_iterator
 
- Public Types inherited from clArrayView< T >
typedef T DataType
 
typedef T * iterator
 
typedef T const * const_iterator
 

Public Member Functions

 clArray ()
 
 clArray (std::size_t n, T x=T(0))
 
 clArray (std::size_t n, T const *px)
 
 clArray (ArrayView< T > v, std::size_t i=0, std::size_t n=0)
 
 clArray (std::initializer_list< T > list)
 
 clArray (ArrayView< T > &&rvrf)
 
 clArray (clArray< T, Alloc > &&rvrf)
 
clArrayoperator= (const ArrayView< T > v)
 
void resize (std::size_t newsize)
 
virtual ~clArray ()
 
std::size_t size () const
 
T const & operator[] (std::size_t i) const
 
T & operator[] (std::size_t i)
 
T const * data () const
 
T * data ()
 
const_iterator begin () const
 
iterator begin ()
 
const_iterator end () const
 
iterator end ()
 
T const & front (std::size_t i=0) const
 
T & front (std::size_t i=0)
 
T const & back (std::size_t i=0) const
 
T & back (std::size_t i=0)
 
bool is_connected () const
 
void connect (cl_context context, cl_mem_flags flags=CL_MEM_COPY_HOST_PTR|CL_MEM_READ_WRITE)
 
void disconnect ()
 
cl_int EnqueueDownload (cl_command_queue queue)
 
cl_int EnqueueUpload (cl_command_queue queue)
 
cl_mem const & handle () const
 
- Public Member Functions inherited from clArrayView< T >
 clArrayView ()
 
 clArrayView (std::size_t n, T const *ptr)
 
 clArrayView (ArrayView< T > v, std::size_t i=0, std::size_t n=0)
 
 clArrayView (clArrayView< T > const &v)
 
 clArrayView (ArrayView< T > &&v)
 
 clArrayView (clArrayView< T > &&v)
 
virtual ~clArrayView ()
 
std::size_t size () const
 
T const & operator[] (std::size_t i) const
 
T & operator[] (std::size_t i)
 
T const * data () const
 
T * data ()
 
const_iterator begin () const
 
iterator begin ()
 
const_iterator end () const
 
iterator end ()
 
T const & front (std::size_t i=0) const
 
T & front (std::size_t i=0)
 
T const & back (std::size_t i=0) const
 
T & back (std::size_t i=0)
 
bool is_connected () const
 
void connect (cl_context context, cl_mem_flags flags)
 
void disconnect ()
 
cl_int EnqueueUpload (cl_command_queue queue)
 
cl_int EnqueueDownload (cl_command_queue queue)
 
cl_mem const & handle () const
 

Additional Inherited Members

- Protected Attributes inherited from clArrayView< T >
cl_mem cl_handle_
 Memory handle to the data copy on the GPU. More...
 

Member Typedef Documentation

◆ const_iterator

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
typedef T const* clArray< T, Alloc >::const_iterator

◆ DataType

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
typedef T clArray< T, Alloc >::DataType

◆ iterator

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
typedef T* clArray< T, Alloc >::iterator

Constructor & Destructor Documentation

◆ clArray() [1/7]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
clArray< T, Alloc >::clArray ( )
inline

◆ clArray() [2/7]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
clArray< T, Alloc >::clArray ( std::size_t  n,
x = T(0) 
)
inline

◆ clArray() [3/7]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
clArray< T, Alloc >::clArray ( std::size_t  n,
T const *  px 
)
inline

◆ clArray() [4/7]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
clArray< T, Alloc >::clArray ( ArrayView< T >  v,
std::size_t  i = 0,
std::size_t  n = 0 
)
inline

◆ clArray() [5/7]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
clArray< T, Alloc >::clArray ( std::initializer_list< T >  list)
inline

◆ clArray() [6/7]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
clArray< T, Alloc >::clArray ( ArrayView< T > &&  rvrf)
inline

◆ clArray() [7/7]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
clArray< T, Alloc >::clArray ( clArray< T, Alloc > &&  rvrf)
inline

◆ ~clArray()

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
virtual clArray< T, Alloc >::~clArray ( )
inlinevirtual

Member Function Documentation

◆ back() [1/2]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
T const& clArray< T, Alloc >::back ( std::size_t  i = 0) const
inline

◆ back() [2/2]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
T& clArray< T, Alloc >::back ( std::size_t  i = 0)
inline

◆ begin() [1/2]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
const_iterator clArray< T, Alloc >::begin ( ) const
inline

◆ begin() [2/2]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
iterator clArray< T, Alloc >::begin ( )
inline

◆ connect()

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
void clArray< T, Alloc >::connect ( cl_context  context,
cl_mem_flags  flags = CL_MEM_COPY_HOST_PTR | CL_MEM_READ_WRITE 
)
inline

◆ data() [1/2]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
T const* clArray< T, Alloc >::data ( ) const
inline

◆ data() [2/2]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
T* clArray< T, Alloc >::data ( )
inline

◆ disconnect()

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
void clArray< T, Alloc >::disconnect ( )
inline

◆ end() [1/2]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
const_iterator clArray< T, Alloc >::end ( ) const
inline

◆ end() [2/2]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
iterator clArray< T, Alloc >::end ( )
inline

◆ EnqueueDownload()

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
cl_int clArray< T, Alloc >::EnqueueDownload ( cl_command_queue  queue)
inline

◆ EnqueueUpload()

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
cl_int clArray< T, Alloc >::EnqueueUpload ( cl_command_queue  queue)
inline

◆ front() [1/2]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
T const& clArray< T, Alloc >::front ( std::size_t  i = 0) const
inline

◆ front() [2/2]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
T& clArray< T, Alloc >::front ( std::size_t  i = 0)
inline

◆ handle()

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
cl_mem const& clArray< T, Alloc >::handle ( ) const
inline

◆ is_connected()

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
bool clArray< T, Alloc >::is_connected ( ) const
inline

◆ operator=()

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
clArray& clArray< T, Alloc >::operator= ( const ArrayView< T >  v)
inline

◆ operator[]() [1/2]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
T const& clArray< T, Alloc >::operator[] ( std::size_t  i) const
inline

◆ operator[]() [2/2]

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
T& clArray< T, Alloc >::operator[] ( std::size_t  i)
inline

◆ resize()

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
void clArray< T, Alloc >::resize ( std::size_t  newsize)
inline

◆ size()

template<class T, class Alloc = AlignedAllocator<T,CL_ALIGNMENT>>
std::size_t clArray< T, Alloc >::size ( ) const
inline

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