Tannic
A C++ Tensor Library
|
Managed memory buffer with explicit ownership. More...
#include <buffer.hpp>
Public Member Functions | |
Buffer (std::size_t nbytes, Environment environment=Host{}) | |
Constructs a buffer with specified size and environment. | |
Buffer (const Buffer &)=delete | |
Buffer & | operator= (const Buffer &)=delete |
Buffer (Buffer &&other) noexcept | |
Move constructor transfers ownership. | |
Buffer & | operator= (Buffer &&other) noexcept |
Move assignment transfers ownership. | |
~Buffer () | |
Destructor releases owned memory. | |
void * | address () |
Gets writable pointer to memory. | |
const void * | address () const |
Gets read-only pointer to memory | |
std::size_t | nbytes () const |
Gets buffer size in bytes. | |
Environment const & | environment () const |
Gets the environment used for this buffer. | |
Managed memory buffer with explicit ownership.
Wraps a contiguous memory region with:
tannic::Buffer::Buffer | ( | std::size_t | nbytes, |
Environment | environment = Host{} |
||
) |
Constructs a buffer with specified size and environment.
nbytes | Size of memory region in bytes |
environment | Environment to use (defaults to Host) |
|
delete |
|
noexcept |
Move constructor transfers ownership.
other | Source buffer to move from |
tannic::Buffer::~Buffer | ( | ) |
Destructor releases owned memory.
void * tannic::Buffer::address | ( | ) |
Gets writable pointer to memory.
const void * tannic::Buffer::address | ( | ) | const |
Gets read-only pointer to memory
Environment const & tannic::Buffer::environment | ( | ) | const |
Gets the environment used for this buffer.
std::size_t tannic::Buffer::nbytes | ( | ) | const |
Gets buffer size in bytes.
Move assignment transfers ownership.
other | Source buffer to move from |