Interface for object which can store buffers.
|
| | BufferStore (NEML2Object *object) |
| |
| | BufferStore (const BufferStore &)=delete |
| |
| | BufferStore (BufferStore &&)=delete |
| |
| BufferStore & | operator= (const BufferStore &)=delete |
| |
| BufferStore & | operator= (BufferStore &&)=delete |
| |
| virtual | ~BufferStore ()=default |
| |
| const std::map< std::string, std::unique_ptr< TensorValueBase > > & | named_buffers () const |
| |
| std::map< std::string, std::unique_ptr< TensorValueBase > > & | named_buffers () |
| |
| const TensorValueBase & | get_buffer (const std::string &name) const |
| | }@
|
| |
| TensorValueBase & | get_buffer (const std::string &name) |
| | Get a writable reference of a buffer.
|
| |
| virtual void | send_buffers_to (const TensorOptions &options) |
| | Send all buffers to options.
|
| |
| template<typename T , typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> |
| const T & | declare_buffer (const std::string &name, const T &rawval) |
| | Declare a buffer.
|
| |
| template<typename T , typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> |
| const T & | declare_buffer (const std::string &name, const TensorName< T > &tensorname) |
| | Declare a buffer.
|
| |
| template<typename T , typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> |
| const T & | declare_buffer (const std::string &name, const std::string &input_option_name) |
| | Declare a buffer.
|
| |
| void | assign_buffer_stack (jit::Stack &stack) |
| | Assign stack to buffers.
|
| |
| jit::Stack | collect_buffer_stack () const |
| | Collect stack from buffers.
|
| |
template<typename T , typename >
| const T & declare_buffer |
( |
const std::string & | name, |
|
|
const T & | rawval ) |
|
protected |
Declare a buffer.
Note that all buffers are stored in the host (the object exposed to users). An object may be used multiple times in the host, and the same buffer may be declared multiple times. That is allowed, but only the first call to declare_buffer constructs the buffer value, and subsequent calls only returns a reference to the existing buffer.
- Template Parameters
-
- Parameters
-
| name | Buffer name |
| rawval | Buffer value |
- Returns
- T The value of the registered buffer.