40 #ifndef INDEX_VECTOR_H_
41 #define INDEX_VECTOR_H_
48 #include "detail/DeviceList.h"
49 #include "detail/skelclDll.h"
117 detail::Sizes sizes()
const;
164 detail::Distribution<Vector<Index>>& distribution()
const;
173 template <
typename U>
174 void setDistribution(
const detail::Distribution<
Vector<U>>& distribution)
184 template <
typename U>
185 void setDistribution(
const std::unique_ptr<detail::Distribution<
Vector<U>>>&
186 newDistribution)
const;
195 void setDistribution(std::unique_ptr<detail::Distribution<
Vector<Index>>>&&
196 newDistribution)
const;
207 static std::string deviceFunctions();
215 const detail::DeviceBuffer& deviceBuffer(
const detail::Device&
device)
const;
223 std::vector<Index>& hostBuffer()
const;
231 void dataOnDeviceModified()
const;
239 void dataOnHostModified()
const;
247 std::string getInfo()
const;
249 std::string getDebugInfo()
const;
253 std::unique_ptr<detail::Distribution<Vector<Index>>> _distribution;
258 #include "detail/IndexVectorDef.h"
260 #endif // INDEX_VECTOR_H_
Index value_type
Defines the type of the elements in the Vector.
SKELCL_DLL detail::DeviceID device(size_t dID)
Creates an OpenCL device ID to be used as parameter of the init(detail::PlatformID, detail::DeviceID) function.
size_t size_type
Defines the type used to denote size of the Vector.
const Vector< Index > IndexVector
An simple to use alias for the Vector class.
The Vector class is a one dimensional container which makes its data accessible on the host as well a...
This class defines an Index, i.e. an unsigned integer representing a value in a one-dimensional index...
The IndexVector (a.k.a. Vector) class is a special implementation of a Vector with Elements of...