tp::HostAccessibleMemory class

Represents tp::Buffer memory mapped for generic host access. Pointers are valid for the duration of the lifetime of this object and that of the mapped buffer.

Base classes

class HostMappedMemoryBase
Shared base implementation of mapped tp::Buffer memory accessor.

Constructors, destructors, conversion operators

HostAccessibleMemory()
Constructs a null tp::HostAccessibleMemory.

Public functions

template<typename T>
auto getArrayView() -> ArrayView<T>
Returns an array view of the mapped memory interpreted as the given type.
template<typename T>
auto getArrayView() const -> ArrayView<const T>
Returns an array view of the mapped memory interpreted as the given type.
template<typename T>
auto getArrayView(uint64_t byteOffset, uint64_t count) -> ArrayView<T>
Returns an array view of the mapped memory with a byte offset interpreted as count elements of the given type.
template<typename T>
auto getArrayView(uint64_t byteOffset, uint64_t count) const -> ArrayView<const T>
Returns an array view of the mapped memory with a byte offset interpreted as count elements of the given type.
template<typename T = void>
auto getPtr() -> T*
Returns a pointer to the mapped memory interpreted as the given type.
template<typename T = void>
auto getPtr() const -> const T*
Returns a pointer to the mapped memory interpreted as the given type.
template<typename T = void>
auto getPtr(uint64_t byteOffset) -> T*
Returns a pointer to the mapped memory with a byte offset interpreted as the given type.
template<typename T = void>
auto getPtr(uint64_t byteOffset) const -> const T*
Returns a pointer to the mapped memory with a byte offset interpreted as the given type.