|
Robot Raconteur Core C++ Library
|
Go to the source code of this file.
Classes | |
| struct | RobotRaconteur::cdouble |
| Complex double precision floating point number. More... | |
| struct | RobotRaconteur::cfloat |
| Complex single precision floating point number. More... | |
| struct | RobotRaconteur::rr_bool |
| Logical boolean represented using 8 bits. More... | |
| class | RobotRaconteur::RRObject |
| Base class for all Robot Raconteur objects. More... | |
| class | RobotRaconteur::RRValue |
| Base class for all Robot Raconteur value types (except primitives). More... | |
| class | RobotRaconteur::MessageElementData |
| Base class for types that can be stored in MessageElement. More... | |
| class | RobotRaconteur::RRBaseArray |
| Base class for numeric and character array value types. More... | |
| class | RobotRaconteur::RRArray< T > |
| Numeric primitive or character array value type. More... | |
| class | RobotRaconteur::RRMap< K, T > |
| Map container value type. More... | |
| class | RobotRaconteur::RRList< T > |
| List container value type. More... | |
| class | RobotRaconteur::RRStructure |
| Base class for user defined structure value types. More... | |
| class | RobotRaconteur::RRMultiDimBaseArray |
| Base class for numeric multidimensional arrays. More... | |
| class | RobotRaconteur::RRMultiDimArray< T > |
| Numeric primitive multidimensional array value type. More... | |
| class | RobotRaconteur::RRPod |
| Base class for user defined pod value types. More... | |
| class | RobotRaconteur::RRPodBaseArray |
| Base class for pod array value types. More... | |
| class | RobotRaconteur::RRPodArray< T > |
| pod array value type More... | |
| class | RobotRaconteur::RRPodBaseMultiDimArray |
| Base class for pod multidimensional arrays. More... | |
| class | RobotRaconteur::RRPodMultiDimArray< T > |
| pod multidimensional array value type More... | |
| class | RobotRaconteur::RRNamedBaseArray |
| Base class for namedarray array value types. More... | |
| class | RobotRaconteur::RRNamedArray< T > |
| namedarray array value type More... | |
| class | RobotRaconteur::RRNamedBaseMultiDimArray |
| Base class for namedarray multidimensional arrays. More... | |
| class | RobotRaconteur::RRNamedMultiDimArray< T > |
| namedarray multidimensional array value type More... | |
| class | RobotRaconteur::TimeSpec |
| Represents. a point in time. Used by wire members to timestamp packets. More... | |
Typedefs | |
| using | RobotRaconteur::RRObjectPtr = boost::shared_ptr<RRObject> |
| Convenience alias for RRObject shared_ptr. | |
| using | RobotRaconteur::RRObjectConstPtr = boost::shared_ptr<const RRObject> |
| Convenience alias for RRObject const shared_ptr. | |
| using | RobotRaconteur::RRValuePtr = boost::intrusive_ptr<RRValue> |
| Convenience alias for RRValue intrusive_ptr. | |
| using | RobotRaconteur::RRValueConstPtr = boost::intrusive_ptr<const RRValue> |
| Convenience alias for RRValue const intrusive_ptr. | |
| using | RobotRaconteur::MessageElementDataPtr = boost::intrusive_ptr<MessageElementData> |
| Convenience alias for MessageElementData intrusive_ptr. | |
| using | RobotRaconteur::MessageElementDataConstPtr = boost::intrusive_ptr<const MessageElementData> |
| Convenience alias for MessageElementData const intrusive_ptr. | |
| using | RobotRaconteur::RRBaseArrayPtr = boost::intrusive_ptr<RRBaseArray> |
| Convenience alias for RRBaseArray intrusive_ptr. | |
| using | RobotRaconteur::RRBaseArrayConstPtr = boost::intrusive_ptr<const RRBaseArray> |
| Convenience alias for RRBaseArray const intrusive_ptr. | |
| template<typename T> | |
| using | RobotRaconteur::RRArrayPtr = boost::intrusive_ptr<RRArray<T> > |
| Convenience alias for RRArray intrusive_ptr. | |
| template<typename T> | |
| using | RobotRaconteur::RRArrayConstPtr = boost::intrusive_ptr<const RRArray<T> > |
| Convenience alias for RRArray const intrusive_ptr. | |
| template<typename K, typename T> | |
| using | RobotRaconteur::RRMapPtr = boost::intrusive_ptr<RRMap<K, T> > |
| Convenience alias for RRMap intrusive_ptr. | |
| template<typename K, typename T> | |
| using | RobotRaconteur::RRMapConstPtr = boost::intrusive_ptr<const RRMap<K, T> > |
| Convenience alias for RRMap const intrusive_ptr. | |
| template<typename T> | |
| using | RobotRaconteur::RRListPtr = boost::intrusive_ptr<RRList<T> > |
| Convenience alias for RRList intrusive_ptr. | |
| template<typename T> | |
| using | RobotRaconteur::RRListConstPtr = boost::intrusive_ptr<const RRList<T> > |
| Convenience alias for RRList const intrusive_ptr. | |
| using | RobotRaconteur::RRStructurePtr = boost::intrusive_ptr<RRStructure> |
| Convenience alias for RRStructure intrusive_ptr. | |
| using | RobotRaconteur::RRStructureConstPtr = boost::intrusive_ptr<const RRStructure> |
| Convenience alias for RRStructure const intrusive_ptr. | |
| using | RobotRaconteur::RRMultiDimBaseArrayPtr = boost::intrusive_ptr<RRMultiDimBaseArray> |
| Convenience alias for RRMultiDimBaseArray intrusive_ptr. | |
| using | RobotRaconteur::RRMultiDimBaseArrayConstPtr = boost::intrusive_ptr<const RRMultiDimBaseArray> |
| Convenience alias for RRMultiDimBaseArray const intrusive_ptr. | |
| template<typename T> | |
| using | RobotRaconteur::RRMultiDimArrayPtr = boost::intrusive_ptr<RRMultiDimArray<T> > |
| Convenience alias for RRMultiDimArray intrusive_ptr. | |
| template<typename T> | |
| using | RobotRaconteur::RRMultiDimArrayConstPtr = boost::intrusive_ptr<const RRMultiDimArray<T> > |
| Convenience alias for RRMultiDimArray const intrusive_ptr. | |
| using | RobotRaconteur::RRPodBaseArrayPtr = boost::intrusive_ptr<RRPodBaseArray> |
| Convenience alias for RRPodBaseArray intrusive_ptr. | |
| using | RobotRaconteur::RRPodBaseArrayConstPtr = boost::intrusive_ptr<const RRPodBaseArray> |
| Convenience alias for RRPodBaseArray const intrusive_ptr. | |
| template<typename T> | |
| using | RobotRaconteur::RRPodArrayPtr = boost::intrusive_ptr<RRPodArray<T> > |
| Convenience alias for RRPodArray intrusive_ptr. | |
| template<typename T> | |
| using | RobotRaconteur::RRPodArrayConstPtr = boost::intrusive_ptr<const RRPodArray<T> > |
| Convenience alias for RRPodArray const intrusive_ptr. | |
| using | RobotRaconteur::RRPodBaseMultiDimArrayPtr = boost::intrusive_ptr<RRPodBaseMultiDimArray> |
| Convenience alias for RRPodBaseMultiDimArray intrusive_ptr. | |
| using | RobotRaconteur::RRPodBaseMultiDimBaseArrayConstPtr = boost::intrusive_ptr<const RRPodBaseMultiDimArray> |
| Convenience alias for RRPodBaseMultiDimArray const intrusive_ptr. | |
| template<typename T> | |
| using | RobotRaconteur::RRPodMultiDimArrayPtr = boost::intrusive_ptr<RRPodMultiDimArray<T> > |
| Convenience alias for RRPodMultiDimArray intrusive_ptr. | |
| template<typename T> | |
| using | RobotRaconteur::RRPodMultiDimArrayConstPtr = boost::intrusive_ptr<const RRPodMultiDimArray<T> > |
| Convenience alias for RRPodMultiDimArray const intrusive_ptr. | |
| using | RobotRaconteur::RRNamedBaseArrayPtr = boost::intrusive_ptr<RRNamedBaseArray> |
| Convenience alias for RRNamedBaseArray intrusive_ptr. | |
| using | RobotRaconteur::RRNamedBaseArrayConstPtr = boost::intrusive_ptr<const RRNamedBaseArray> |
| Convenience alias for RRNamedBaseArray const intrusive_ptr. | |
| template<typename T> | |
| using | RobotRaconteur::RRNamedArrayPtr = boost::intrusive_ptr<RRNamedArray<T> > |
| Convenience alias for RRNamedArray intrusive_ptr. | |
| template<typename T> | |
| using | RobotRaconteur::RRNamedArrayConstPtr = boost::intrusive_ptr<const RRNamedArray<T> > |
| Convenience alias for RRNamedArray const intrusive_ptr. | |
| using | RobotRaconteur::RRNamedBaseMultiDimArrayPtr = boost::intrusive_ptr<RRNamedBaseMultiDimArray> |
| Convenience alias for RRNamedBaseMultiDimArray intrusive_ptr. | |
| using | RobotRaconteur::RRNamedBaseMultiDimBaseArrayConstPtr = boost::intrusive_ptr<const RRNamedBaseMultiDimArray> |
| Convenience alias for RRNamedBaseMultiDimArray const intrusive_ptr. | |
| template<typename T> | |
| using | RobotRaconteur::RRNamedMultiDimArrayPtr = boost::intrusive_ptr<RRNamedMultiDimArray<T> > |
| Convenience alias for RRNamedMultiDimArray intrusive_ptr. | |
| template<typename T> | |
| using | RobotRaconteur::RRNamedMultiDimArrayConstPtr = boost::intrusive_ptr<const RRNamedMultiDimArray<T> > |
| Convenience alias for RRNamedMultiDimArray const intrusive_ptr. | |
Functions | |
| template<typename T, typename U> | |
| static boost::shared_ptr< T > | RobotRaconteur::rr_cast (const boost::shared_ptr< U > &objin) |
| Dynamic cast a RR_SHARED_PTR type. Throws DataTypeMismatchException if cast is invalid instead of returning null. | |
| template<typename T, typename U> | |
| static boost::intrusive_ptr< T > | RobotRaconteur::rr_cast (const boost::intrusive_ptr< U > &objin) |
| Dynamic cast a RR_INTRUSIVE_PTR type. This is used to cast value types stored using intrusive pointers. Throws DataTypeMismatchException if cast is invalid instead of returning null. | |
| template<typename T> | |
| static boost::intrusive_ptr< RRArray< T > > | RobotRaconteur::ScalarToRRArray (T value) |
| Convert a scalar number into an array with one element. | |
| template<typename T> | |
| static T | RobotRaconteur::RRArrayToScalar (const boost::intrusive_ptr< RRArray< T > > &value) |
| Convert an array with one element into a scalar. | |
| boost::intrusive_ptr< RRArray< char > > | RobotRaconteur::stringToRRArray (boost::string_ref str) |
| Convert a string to an array of characters. | |
| std::string | RobotRaconteur::RRArrayToString (const boost::intrusive_ptr< RRArray< char > > &arr) |
| Convert an array of characters into std::string. | |
| template<typename T> | |
| static boost::intrusive_ptr< RRArray< T > > | RobotRaconteur::AllocateRRArray (size_t length) |
| Allocate a numeric primitive or character array with the specified type and length. | |
| template<typename T> | |
| static boost::intrusive_ptr< RRArray< T > > | RobotRaconteur::AttachRRArray (T *data, size_t length, bool owned) |
| Allocates an array object and attaches to existing numeric primitive or character array pointer. | |
| template<typename T> | |
| static boost::intrusive_ptr< RRArray< T > > | RobotRaconteur::AttachRRArrayCopy (const T *data, const size_t length) |
| Allocates an array object and copies existing numeric. | |
| boost::intrusive_ptr< RRBaseArray > | RobotRaconteur::AllocateRRArrayByType (DataTypes type, size_t length) |
| Allocate an RRBaseArray by type code. | |
| template<typename T> | |
| static boost::intrusive_ptr< RRArray< T > > | RobotRaconteur::AllocateEmptyRRArray (size_t length) |
| Allocate a numeric primitive or character array with the specified type and length and initialize to zero. | |
| size_t | RobotRaconteur::RRArrayElementSize (DataTypes type) |
| Get the number of bytes to store a numeric primitive scalar. | |
| template<typename Y, typename U> | |
| static std::vector< Y > | RobotRaconteur::RRArrayToVector (const boost::intrusive_ptr< RRArray< U > > &in) |
| Convert an RRArray<U> to a std::vector<Y>. | |
| template<typename Y, typename U> | |
| static boost::intrusive_ptr< RRArray< Y > > | RobotRaconteur::VectorToRRArray (const std::vector< U > &in) |
| Convert a std::vector to an RRArray<Y>. | |
| template<typename Y, std::size_t N, typename U> | |
| static boost::array< Y, N > | RobotRaconteur::RRArrayToArray (const boost::intrusive_ptr< RRArray< U > > &in) |
| Convert an RRArray to a boost::array. | |
| template<typename Y, std::size_t N, typename U> | |
| static void | RobotRaconteur::RRArrayToArray (boost::array< Y, N > &out, const boost::intrusive_ptr< RRArray< U > > &in) |
| Convert an RRArray to a boost::array. | |
| template<typename Y, typename U, std::size_t N> | |
| static boost::intrusive_ptr< RRArray< Y > > | RobotRaconteur::ArrayToRRArray (boost::array< U, N > in) |
| Convert a boost::array to an RRArray. | |
| template<typename Y, std::size_t N, typename U> | |
| static boost::container::static_vector< Y, N > | RobotRaconteur::RRArrayToStaticVector (const boost::intrusive_ptr< RRArray< U > > &in) |
| Convert an RRArray to a boost::static_vector. | |
| template<typename Y, std::size_t N, typename U> | |
| static void | RobotRaconteur::RRArrayToStaticVector (boost::container::static_vector< Y, N > &out, const boost::intrusive_ptr< RRArray< U > > &in) |
| Convert an RRArray to a boost::static_vector. | |
| template<typename Y, typename U, std::size_t N> | |
| static boost::intrusive_ptr< RRArray< Y > > | RobotRaconteur::StaticVectorToRRArray (boost::container::static_vector< U, N > in) |
| Convert a boost::container::static_vector to an RRArray. | |
| boost::intrusive_ptr< RRList< RRArray< char > > > | RobotRaconteur::stringVectorToRRList (const std::vector< std::string > &string_vector) |
| Convert a string vector to a RRList. | |
| std::vector< std::string > | RobotRaconteur::RRListToStringVector (const boost::intrusive_ptr< RRList< RRArray< char > > > &list) |
| Convert a RRList containing strings to a string vector. | |
| template<typename T> | |
| boost::intrusive_ptr< T > & | RobotRaconteur::rr_null_check (boost::intrusive_ptr< T > &ptr) |
| Checks if a value RR_INTRUSIVE_PTR is null. | |
| template<typename T> | |
| boost::intrusive_ptr< T > & | RobotRaconteur::rr_null_check (boost::intrusive_ptr< T > &ptr, const char *msg) |
| Checks if a value RR_INTRUSIVE_PTR is null with exception message. | |
| template<typename T> | |
| const boost::intrusive_ptr< T > & | RobotRaconteur::rr_null_check (const boost::intrusive_ptr< T > &ptr) |
| Checks if a value const RR_INTRUSIVE_PTR is null. | |
| template<typename T> | |
| const boost::intrusive_ptr< T > & | RobotRaconteur::rr_null_check (const boost::intrusive_ptr< T > &ptr, const char *msg) |
| Checks if a value const RR_INTRUSIVE_PTR is null with exception message. | |
| template<typename T> | |
| static boost::intrusive_ptr< RRMultiDimArray< T > > | RobotRaconteur::AllocateEmptyRRMultiDimArray (const std::vector< uint32_t > &dims) |
| Allocate an empty multidimensional array with the specified dimensions. | |
| template<typename T> | |
| static boost::intrusive_ptr< RRMultiDimArray< T > > | RobotRaconteur::AllocateEmptyRRMultiDimArray () |
| Allocate an empty multidimensional array. | |
| template<typename T> | |
| static boost::intrusive_ptr< RRMultiDimArray< T > > | RobotRaconteur::AllocateRRMultiDimArray (const boost::intrusive_ptr< RRArray< uint32_t > > &dims, const boost::intrusive_ptr< RRArray< T > > &array_) |
| Allocate a multidimensional using existing dimensions and data array. | |
| template<typename T> | |
| boost::intrusive_ptr< RRList< T > > | RobotRaconteur::AllocateEmptyRRList () |
| Allocate an empty RRList. | |
| template<typename T, typename U> | |
| boost::intrusive_ptr< RRList< T > > | RobotRaconteur::AllocateRRList (const U &c) |
| Allocate RRList with a value. | |
| template<typename K, typename T> | |
| boost::intrusive_ptr< RRMap< K, T > > | RobotRaconteur::AllocateEmptyRRMap () |
| Allocate an empty RRMap. | |
| template<typename K, typename T, typename U> | |
| boost::intrusive_ptr< RRMap< K, T > > | RobotRaconteur::AllocateRRMap (const U &c) |
| Allocate RRMap with value. | |
| template<typename T> | |
| static boost::intrusive_ptr< RRPodArray< T > > | RobotRaconteur::ScalarToRRPodArray (const T &value) |
| Convert a scalar pod into a pod array with one element. | |
| template<typename T> | |
| static T | RobotRaconteur::RRPodArrayToScalar (const boost::intrusive_ptr< RRPodArray< T > > &value) |
| Convert a pod array with one element into a scalar pod. | |
| template<typename T> | |
| static boost::intrusive_ptr< RRPodArray< T > > | RobotRaconteur::AllocateEmptyRRPodArray (size_t length) |
| Allocate a pod array with the specified type and length and initialize to zero. | |
| template<typename T> | |
| static boost::intrusive_ptr< RRPodMultiDimArray< T > > | RobotRaconteur::AllocateEmptyRRPodMultiDimArray (const std::vector< uint32_t > &dims) |
| Allocate an empty multidimensional pod array with the specified dimensions. | |
| template<typename T> | |
| static boost::intrusive_ptr< RRPodMultiDimArray< T > > | RobotRaconteur::AllocateEmptyRRPodMultiDimArray () |
| Allocate an empty multidimensional pod array with zero elements. | |
| template<typename T> | |
| static boost::intrusive_ptr< RRNamedArray< T > > | RobotRaconteur::AllocateEmptyRRNamedArray (size_t length) |
| Allocate a namedarray array with the specified type and length and initialize to zero. | |
| template<typename T> | |
| static boost::intrusive_ptr< RRNamedMultiDimArray< T > > | RobotRaconteur::AllocateEmptyRRNamedMultiDimArray (const std::vector< uint32_t > &dims) |
| Allocate an empty multidimensional namedarray array with the specified dimensions. | |
| template<typename T> | |
| static boost::intrusive_ptr< RRNamedMultiDimArray< T > > | RobotRaconteur::AllocateEmptyRRNamedMultiDimArray () |
| Allocate an empty multidimensional namedarray array with zero elements. | |
| template<typename T> | |
| static boost::intrusive_ptr< RRNamedArray< T > > | RobotRaconteur::ScalarToRRNamedArray (const T &value) |
| Convert a scalar namedarray into a namedarray array with one element. | |
| template<typename T> | |
| static T | RobotRaconteur::RRNamedArrayToScalar (const boost::intrusive_ptr< RRNamedArray< T > > &value) |
| Convert a namedarray array with one element into a namedarray. | |
| boost::posix_time::ptime | RobotRaconteur::TimeSpecToPTime (const TimeSpec &ts) |
| Convert a TimeSpec into a boost::posix_time::ptime. | |
| TimeSpec | RobotRaconteur::ptimeToTimeSpec (const boost::posix_time::ptime &t) |
| Convert a boost::posix_time::ptime into a TimeSpec. | |
| std::string | RobotRaconteur::EncodeServicePathIndex (const std::string &index) |
| Encode a service path index for use in a Robot Raconteur service path. | |
| std::string | RobotRaconteur::DecodeServicePathIndex (const std::string &index) |
| Decode a service path index from a Robot Raconteur service path. | |
| std::vector< ServicePathSegment > | RobotRaconteur::ParseServicePath (const std::string &path) |
| Parse a Robot Raconteur service path into segments. | |
| std::string | RobotRaconteur::BuildServicePath (const std::vector< ServicePathSegment > &segments) |
| Build a Robot Raconteur service path from segments. | |
| bool | RobotRaconteur::IsStringName (boost::string_ref str) |
| Test if a string is a valid Robot Raconteur name. | |
| bool | RobotRaconteur::IsStringScopedName (boost::string_ref str) |
| Test if a string is a valid Robot Raconteur scoped name. | |
| bool | RobotRaconteur::IsStringUUID (boost::string_ref str) |
| Test if a string is a UUID. | |
| bool | RobotRaconteur::IsStringIdentifier (boost::string_ref str) |
| Test if a string is a Robot Raconteur identifier. | |
|
static |
Allocate a numeric primitive or character array with the specified type and length and initialize to zero.
All elements are initialized to zero
Valid values for T are rr_bool, double, float, int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, cdouble, csingle, or char. Attempts to use any other types will result in a compiler error.
| T | The type of the array elements |
| length | The length of the returned array (element count) |
| boost::intrusive_ptr< RRList< T > > RobotRaconteur::AllocateEmptyRRList | ( | ) |
Allocate an empty RRList.
| T | The type of value stored in the list |
| boost::intrusive_ptr< RRMap< K, T > > RobotRaconteur::AllocateEmptyRRMap | ( | ) |
Allocate an empty RRMap.
| K | The key type for map. Must be int32_t or std::string |
| T | The type of value stored in map |
|
static |
Allocate an empty multidimensional array.
| T | The element type of the array |
|
static |
Allocate an empty multidimensional array with the specified dimensions.
The elements of the returned array are initialized to zero
| T | The element type of the array |
| dims | The dimensions of the new multidimensional array |
|
static |
Allocate a namedarray array with the specified type and length and initialize to zero.
All elements are initialized to zero
T must be a namedarray type that has been generated as part of the thunk source.
| T | The type of the array elements |
| length | The length of the returned array (element count) |
|
static |
Allocate an empty multidimensional namedarray array with zero elements.
T must be a namedarray type that has been generated as part of the thunk source.
| T | The element type of the array |
|
static |
Allocate an empty multidimensional namedarray array with the specified dimensions.
The elements of the returned array are initialized to zero
T must be a namedarray type that has been generated as part of the thunk source.
| T | The element type of the array |
| dims | The dimensions of the new multidimensional array |
|
static |
Allocate a pod array with the specified type and length and initialize to zero.
All elements are initialized to zero
T must be a pod type that has been generated as part of the thunk source.
| T | The type of the array elements |
| length | The length of the returned array (element count) |
|
static |
Allocate an empty multidimensional pod array with zero elements.
T must be a pod type that has been generated as part of the thunk source.
| T | The element type of the array |
|
static |
Allocate an empty multidimensional pod array with the specified dimensions.
The elements of the returned array are initialized to zero
T must be a pod type that has been generated as part of the thunk source.
| T | The element type of the array |
| dims | The dimensions of the new multidimensional array |
|
static |
Allocate a numeric primitive or character array with the specified type and length.
This function does not initialize the returned array. The contents will not be set to zero.
Valid values for T are rr_bool, double, float, int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, cdouble, csingle, or char. Attempts to use any other types will result in a compiler error.
| T | The type of the array elements |
| length | The length of the returned array (element count) |
| boost::intrusive_ptr< RRBaseArray > RobotRaconteur::AllocateRRArrayByType | ( | DataTypes | type, |
| size_t | length ) |
Allocate an RRBaseArray by type code.
This function does not initialize the returned array. The contents will not be set to zero.
Valid values for type are DataTypes_bool_t, DataTypes_double_t, DataTypes_single_t, DataTypes_int8_t, DataTypes_uint8_t, DataTypes_int16_t, DataTypes_uint16_t, DataTypes_int32_t, DataTypes_uint32_t, DataTypes_int64_t, DataTypes_uint64_t, DataTypes_cdouble_t, orDataTypes_csingle_t. Attempts to use any other types will result in an InvalidArgumentException.
| type | The type code |
| length | The length of the returned array (element count) |
| boost::intrusive_ptr< RRList< T > > RobotRaconteur::AllocateRRList | ( | const U & | c | ) |
Allocate RRList with a value.
| T | The type of value stored in the list |
| U | The type of the argument to pass to RRList constructor |
| c | Existing list to copy |
| boost::intrusive_ptr< RRMap< K, T > > RobotRaconteur::AllocateRRMap | ( | const U & | c | ) |
Allocate RRMap with value.
| K | The key type for map. Must be int32_t or std::string |
| T | The type of value stored in map |
| U | The type of the argument to pass to RRMap constructor |
| c | Existing map to copy |
|
static |
Allocate a multidimensional using existing dimensions and data array.
This function does not copy the provided arrays
| T | The element type of the array |
| dims | The existing |
| array_ | The existing flattened array |
|
static |
Convert a boost::array to an RRArray.
boost::numeric_cast<Y>() is used to convert between numeric types
| Y | The type of the output RRArray elements |
| U | The type of the input boost::array elements |
| N | The number of elements in the input boost::array |
| in | The input boost::array to be converted |
|
static |
Allocates an array object and attaches to existing numeric primitive or character array pointer.
This function will attach to an existing numeric array pointer, and provide read/write access to its contents. If owned is true, the array will be deleted using delete[] when the reference count of the array object goes to zero.
Valid values for T are rr_bool, double, float, int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, cdouble, csingle, or char. Attempts to use any other types will result in a compiler error.
| T | The type of the array elements |
| data | Pointer to existing numeric primitive or character array |
| length | Length of existing array (element count) |
| owned | true if the data lifetime is owned by the new array object |
|
static |
Allocates an array object and copies existing numeric.
Valid values for T are rr_bool, double, float, int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, cdouble, csingle, or char. Attempts to use any other types will result in a compiler error.
| T | The type of the array elements |
| data | Pointer to existing numeric |
| length | Length of existing array (element count) |
| std::string RobotRaconteur::BuildServicePath | ( | const std::vector< ServicePathSegment > & | segments | ) |
Build a Robot Raconteur service path from segments.
| segments | The segments to build the service path from |
| std::string RobotRaconteur::DecodeServicePathIndex | ( | const std::string & | index | ) |
Decode a service path index from a Robot Raconteur service path.
| index | The index to decode |
| std::string RobotRaconteur::EncodeServicePathIndex | ( | const std::string & | index | ) |
Encode a service path index for use in a Robot Raconteur service path.
| index | The index to encode |
| bool RobotRaconteur::IsStringIdentifier | ( | boost::string_ref | str | ) |
Test if a string is a Robot Raconteur identifier.
| str | The string to test |
| bool RobotRaconteur::IsStringName | ( | boost::string_ref | str | ) |
Test if a string is a valid Robot Raconteur name.
| str | The string to test |
| bool RobotRaconteur::IsStringScopedName | ( | boost::string_ref | str | ) |
Test if a string is a valid Robot Raconteur scoped name.
| str | The string to test |
| bool RobotRaconteur::IsStringUUID | ( | boost::string_ref | str | ) |
Test if a string is a UUID.
| str | The string to test |
| std::vector< ServicePathSegment > RobotRaconteur::ParseServicePath | ( | const std::string & | path | ) |
Parse a Robot Raconteur service path into segments.
| path | The service path to parse |
| TimeSpec RobotRaconteur::ptimeToTimeSpec | ( | const boost::posix_time::ptime & | t | ) |
Convert a boost::posix_time::ptime into a TimeSpec.
| t | The ptime to convert |
|
static |
Dynamic cast a RR_INTRUSIVE_PTR type. This is used to cast value types stored using intrusive pointers. Throws DataTypeMismatchException if cast is invalid instead of returning null.
| T | Output cast pointer type |
| U | Input pointer type |
| objin | The object to cast |
|
static |
Dynamic cast a RR_SHARED_PTR type. Throws DataTypeMismatchException if cast is invalid instead of returning null.
| T | Output cast pointer type |
| U | Input pointer type |
| objin | The object to cast |
| boost::intrusive_ptr< T > & RobotRaconteur::rr_null_check | ( | boost::intrusive_ptr< T > & | ptr | ) |
Checks if a value RR_INTRUSIVE_PTR is null.
If the value is null, throws NullValueException
Returns reference to ptr
| T | The type of the value contained in RR_INTRUSIVE_PTR |
| ptr | The value to check |
| boost::intrusive_ptr< T > & RobotRaconteur::rr_null_check | ( | boost::intrusive_ptr< T > & | ptr, |
| const char * | msg ) |
Checks if a value RR_INTRUSIVE_PTR is null with exception message.
If the value is null, throws NullValueException with the message specified in msg
Returns reference to ptr
| T | The type of the value contained in RR_INTRUSIVE_PTR |
| ptr | The value to check |
| msg | Error message for NullValueException if ptr is null |
| const boost::intrusive_ptr< T > & RobotRaconteur::rr_null_check | ( | const boost::intrusive_ptr< T > & | ptr | ) |
Checks if a value const RR_INTRUSIVE_PTR is null.
If the value is null, throws NullValueException
Returns reference to ptr
| T | The type of the value contained in RR_INTRUSIVE_PTR |
| ptr | The value to check |
| const boost::intrusive_ptr< T > & RobotRaconteur::rr_null_check | ( | const boost::intrusive_ptr< T > & | ptr, |
| const char * | msg ) |
Checks if a value const RR_INTRUSIVE_PTR is null with exception message.
If the value is null, throws NullValueException with the message specified in msg
Returns reference to ptr
| T | The type of the value contained in RR_INTRUSIVE_PTR |
| ptr | The value to check |
| msg | Error message for NullValueException if ptr is null |
| size_t RobotRaconteur::RRArrayElementSize | ( | DataTypes | type | ) |
Get the number of bytes to store a numeric primitive scalar.
Valid values for type are DataTypes_bool_t, DataTypes_double_t, DataTypes_single_t, DataTypes_int8_t, DataTypes_uint8_t, DataTypes_int16_t, DataTypes_uint16_t, DataTypes_int32_t, DataTypes_uint32_t, DataTypes_int64_t, DataTypes_uint64_t, DataTypes_cdouble_t, orDataTypes_csingle_t. Attempts to use any other types will result in a InvalidArgumentException.
| type | The numeric type |
|
static |
Convert an RRArray to a boost::array.
boost::numeric_cast<Y>() is used to convert between numeric types
| Y | The type of the output boost::array elements |
| N | The number of elements of the boost::array |
| U | The type of the output boost::array elements to be converted |
| in | The input RRArray to be converted |
| out | The target boost::array for converted elements |
|
static |
Convert an RRArray to a boost::array.
boost::numeric_cast<Y>() is used to convert between numeric types
| Y | The type of the output boost::array elements |
| N | The number of elements of the boost::array |
| U | The type of the output boost::array elements to be converted |
| in | The input RRArray to be converted |
|
static |
Convert an array with one element into a scalar.
| T | The type of the number |
| value | The array with one element |
|
static |
Convert an RRArray to a boost::static_vector.
boost::container::static vector is a vector with fixed maximum capacity N
boost::numeric_cast<Y>() is used to convert between numeric types
| Y | The type of the output boost::static_vector elements |
| N | The maximum element capacity of the output vector |
| U | The type of the input RRArray elements |
| out | The target boost::container::static_vector for converted elements |
| in | The input RRArray to be converted |
|
static |
Convert an RRArray to a boost::static_vector.
boost::container::static vector is a vector with fixed maximum capacity N
boost::numeric_cast<Y>() is used to convert between numeric types
| Y | The type of the output boost::static_vector elements |
| N | The maximum element capacity of the output vector |
| U | The type of the input RRArray elements |
| in | The input RRArray to be converted |
| std::string RobotRaconteur::RRArrayToString | ( | const boost::intrusive_ptr< RRArray< char > > & | arr | ) |
Convert an array of characters into std::string.
This function creates a new copy of the data stored in the returned std::string.
| arr | The array of characters |
|
static |
Convert an RRArray<U> to a std::vector<Y>.
This function creates a copy of the data in an alloctade RRArray<T>
boost::numeric_cast<Y>() is used to convert between numeric types
| Y | The type of the output std::vector elements |
| U | The type of the input RRArray elements |
| in | The input RRArray to be converted |
| std::vector< std::string > RobotRaconteur::RRListToStringVector | ( | const boost::intrusive_ptr< RRList< RRArray< char > > > & | list | ) |
Convert a RRList containing strings to a string vector.
This function creates copies of the strings
| list | The input RRList to be converted |
|
static |
Convert a namedarray array with one element into a namedarray.
Note that this acts on the namedarray union, not a scalar number within the namedarray union
| T | The type of the namedarray |
| value | The namedarray array with one element |
|
static |
Convert a pod array with one element into a scalar pod.
| T | The type of the pod |
| value | The pod array with one element |
|
static |
Convert a scalar number into an array with one element.
| T | The type of the number |
| value | The value of the number |
|
static |
Convert a scalar namedarray into a namedarray array with one element.
Note that this acts on the namedarray union, not a scalar number within the namedarray union
| T | The type of the namedarray |
| value | The namedarray |
|
static |
Convert a scalar pod into a pod array with one element.
| T | The type of the pod |
| value | The pod |
|
static |
Convert a boost::container::static_vector to an RRArray.
boost::container::static vector is a vector with fixed maximum capacity N
boost::numeric_cast<Y>() is used to convert between numeric types
| Y | The type of the input RRArray elements |
| U | The type of the output boost::static_vector elements |
| N | The maximum element capacity of the input vector |
| in | The input boost::container::static_vector to be converted |
| boost::intrusive_ptr< RRArray< char > > RobotRaconteur::stringToRRArray | ( | boost::string_ref | str | ) |
Convert a string to an array of characters.
This function creates a new copy of the data stored in the returned array
| str | The string t convert |
| boost::intrusive_ptr< RRList< RRArray< char > > > RobotRaconteur::stringVectorToRRList | ( | const std::vector< std::string > & | string_vector | ) |
Convert a string vector to a RRList.
This function creates copies of the strings
| string_vector | The input string vector to be converted |
| boost::posix_time::ptime RobotRaconteur::TimeSpecToPTime | ( | const TimeSpec & | ts | ) |
Convert a TimeSpec into a boost::posix_time::ptime.
| ts | The TimeSpec to convert |
|
static |
Convert a std::vector to an RRArray<Y>.
boost::numeric_cast<Y>() is used to convert between numeric types
| Y | The type of the output RRArray elements |
| U | The type of the input std::vector elements |
| in | The input std::vector to be converted |