|
Robot Raconteur Core C++ Library
|
Multidimensional pod random access memory region. More...
#include <MemoryMember.h>
Public Member Functions | |
| PodMultiDimArrayMemory () | |
| Construct a new PodMultiDimArrayMemory instance. | |
| PodMultiDimArrayMemory (const boost::intrusive_ptr< RRPodMultiDimArray< T > > &multimemory) | |
| Construct a new PodMultiDimArrayMemory instance attached to an RRPodMultiDimArrayPtr<T>. | |
| virtual void | Attach (const boost::intrusive_ptr< RRPodMultiDimArray< T > > &multimemory) |
| Attach PodMultiDimArrayMemory instance to an RRPodMultiDimArrayPtr<T>. | |
| RR_OVIRTUAL std::vector< uint64_t > | Dimensions () RR_OVERRIDE |
| Dimensions of the memory array. | |
| RR_OVIRTUAL uint64_t | DimCount () RR_OVERRIDE |
| The number of dimensions in the memory array. | |
| virtual void | Read (const std::vector< uint64_t > &memorypos, boost::intrusive_ptr< RRPodMultiDimArray< T > > &buffer, const std::vector< uint64_t > &bufferpos, const std::vector< uint64_t > &count) |
| Read a block from a multidimensional array memory. | |
| virtual void | Write (const std::vector< uint64_t > &memorypos, const boost::intrusive_ptr< RRPodMultiDimArray< T > > &buffer, const std::vector< uint64_t > &bufferpos, const std::vector< uint64_t > &count) |
| Write a segment to a multidimensional array memory. | |
Multidimensional pod random access memory region.
Memories represent random access memory regions that are typically represented as arrays of various shapes and types. Memories can be declared in service definition files using the memory member keyword within service definitions. Services expose memories to clients, and the nodes will proxy read, write, and parameter requests between the client and service. The node will also break up large requests to avoid the message size limit of the transport.
The PodMultiDimArrayMemory class is used to represent a multidimensional pod array. Single dimensional pod arrays should use PodArrayMemory. Type T must be declared in a service definition using the pod keyword, and generated using RobotRaconteurGen.
PodMultiDimArrayMemory instances are attached to an RRPodMultiDimArrayPtr<T>, either when constructed or later using Attach().
PodMultiDimArrayMemory instances returned by clients are special implementations designed to proxy requests to the service. They cannot be attached to an arbitrary array.
| T | The pod type of the array |
|
inline |
Construct a new PodMultiDimArrayMemory instance.
New instance will not be attached to an array.
PodMultiDimArrayMemory must be constructed with boost::make_shared<PodMultiDimArrayMemory<T> >();
|
inline |
Construct a new PodMultiDimArrayMemory instance attached to an RRPodMultiDimArrayPtr<T>.
New instance will be constructed attached to an array.
PodMultiDimArrayMemory must be constructed with boost::make_shared<PodMultiDimArrayMemory<T> >();
| multimemory | The array to attach |
|
inlinevirtual |
Attach PodMultiDimArrayMemory instance to an RRPodMultiDimArrayPtr<T>.
| multimemory | The array to attach |
|
inlinevirtual |
The number of dimensions in the memory array.
When used with a memory returned by a client, this function will call the service to execute the request.
Implements RobotRaconteur::MultiDimArrayMemoryBase.
|
inlinevirtual |
Dimensions of the memory array.
Returns the dimensions (shape) of the memory array
When used with a memory returned by a client, this function will call the service to execute the request.
Implements RobotRaconteur::MultiDimArrayMemoryBase.
|
inlinevirtual |
Read a block from a multidimensional array memory.
Read a block of a multidimensional array memory into a supplied buffer multidimensional array. The start positions and count of the read are specified.
When used with a memory returned by a client, this function will call the service to execute the request.
| memorypos | The start position in the memory array to read |
| buffer | The buffer to receive the read data |
| bufferpos | The start position in the buffer to write the data |
| count | The count of array elements to read |
|
inlinevirtual |
Write a segment to a multidimensional array memory.
Writes a segment to a multidimensional array memory from a supplied buffer multidimensional array. The start positions and count of the write are specified.
When used with a memory returned by a client, this function will call the service to execute the request.
| memorypos | The start position in the memory array to write |
| buffer | The buffer to write the data from |
| bufferpos | The start position in the buffer to read the data |
| count | The count of array elements to write |