Move-Only Buffer Handle
Wrap a DMA buffer handle in a move-only type so it can be transferred between owners but never accidentally double-released.
Constraints
- Copy constructor and copy assignment deleted.
- Move must leave the source in a released state.
- Destructor releases only when the handle is still valid.
- Self-move assignment must be safe.
- Use the provided acquire_buffer/release_buffer hooks.
- No exceptions.
1#include <cstdint>2#include <utility>3 4extern int acquire_buffer();5extern void release_buffer(int handle);6 7class BufferHandle {8 // TODO9};