Bolt  1.1
C++ template library with support for OpenCL
Classes | Namespaces | Macros | Functions
device_vector.h File Reference

Namespace that captures OpenCL related data types and functions Public header file for the device_container class. More...

#include <iterator>
#include <type_traits>
#include <numeric>
#include "bolt/cl/bolt.h"
#include "bolt/cl/iterator/iterator_traits.h"
#include <iostream>
#include <boost/iterator/iterator_facade.hpp>
#include <boost/iterator/reverse_iterator.hpp>
#include <boost/shared_array.hpp>

Go to the source code of this file.

Classes

struct  bolt::cl::device_vector_tag
 
class  bolt::cl::device_vector< T >
 This defines the OpenCL version of a device_vector. More...
 
class  bolt::cl::device_vector< T >::reference_base< Container >
 A writeable element of the container The location of an element of the container may not actually reside in system memory, but rather in device memory, which may be in a partitioned memory space. Access to a reference of the container results in a mapping and unmapping operation of device memory. More...
 
class  bolt::cl::device_vector< T >::iterator_base< Container >
 Base class provided to encapsulate all the common functionality for constant and non-constant iterators. More...
 
struct  bolt::cl::device_vector< T >::iterator_base< Container >::Payload
 
class  bolt::cl::device_vector< T >::reverse_iterator_base< Container >
 A reverse random access iterator in the classic sense. More...
 

Namespaces

namespace  bolt
 Defining namespace for the Bolt project.
 
namespace  bolt::cl
 Namespace containing OpenCL related data types and functions.
 

Functions

 BOLT_CREATE_TYPENAME (bolt::cl::device_vector< cl_int >::iterator)
 
 BOLT_CREATE_CLCODE (bolt::cl::device_vector< cl_int >::iterator, bolt::cl::deviceVectorIteratorTemplate)
 
 BOLT_TEMPLATE_REGISTER_NEW_ITERATOR (bolt::cl::device_vector, int, char)
 
 BOLT_TEMPLATE_REGISTER_NEW_ITERATOR (bolt::cl::device_vector, cl_int, cl_char)
 
 BOLT_TEMPLATE_REGISTER_NEW_ITERATOR (bolt::cl::device_vector, cl_int, cl_uchar)
 
 BOLT_TEMPLATE_REGISTER_NEW_ITERATOR (bolt::cl::device_vector, cl_int, cl_short)
 
 BOLT_TEMPLATE_REGISTER_NEW_ITERATOR (bolt::cl::device_vector, cl_int, cl_ushort)
 
 BOLT_TEMPLATE_REGISTER_NEW_ITERATOR (bolt::cl::device_vector, cl_int, cl_uint)
 
 BOLT_TEMPLATE_REGISTER_NEW_ITERATOR (bolt::cl::device_vector, cl_int, cl_long)
 
 BOLT_TEMPLATE_REGISTER_NEW_ITERATOR (bolt::cl::device_vector, cl_int, cl_ulong)
 
 BOLT_TEMPLATE_REGISTER_NEW_ITERATOR (bolt::cl::device_vector, cl_int, cl_float)
 
 BOLT_TEMPLATE_REGISTER_NEW_ITERATOR (bolt::cl::device_vector, cl_int, cl_double)
 

Detailed Description

Namespace that captures OpenCL related data types and functions Public header file for the device_container class.

Bug:
iterator::getBuffer() returns "pointer" to beginning of array, instead of where the iterator has incremented to; may need to map a subBuffer or something simmilar