|
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 |