|
AAO DRAMA/DRAMA2 C++ Interface
DRAMA C++11 and later interface
|
A class used to access a DRAMA Parameter via an SDS Id.
Note - many SDS methods are not appropriate - as they could mess up the parameter system. These methods have been made private.
Parameter monitors are updated when the destructor is run or explicitly using the Update() method.
#include "parsys.hh"
Public Member Functions | |
| ParId (ParSys *parSys, const std::string &name) | |
| Access a parameter of a given name. | |
| ParId (std::weak_ptr< Task > dramaTask, const std::string &name) | |
| Access a parameter of a given name. | |
| virtual | ~ParId () |
| Destroy this object. | |
| template<typename ContainerType > | |
| void | AddToArgCmdStruct (const ContainerType &values, const unsigned firstArg=1) |
| Insert a set of values from a container into an SDS structure in in the DRAMA Command style. | |
| template<typename T > | |
| void | ArrayAccess (ArrayAccessHelper< T > *const data) const |
| Access the data of a single dimensional SDS primitive array item of a specified number of elements. | |
| template<typename T , class ContainerType > | |
| void | ArrayAccess (ArrayAccessHelper< T > *const data, ContainerType *dims) const |
| Access the data of an SDS primitive item array. | |
| template<typename T , class ContainerType > | |
| void | ArrayAccess (ArrayAccessHelper< T > *const data, long ndims, ContainerType *dims) const |
| Access the data of an SDS primitive item array. | |
| template<typename T > | |
| void | ArrayAccess (const unsigned long nitems, sds::ArrayAccessHelper< T > *const data) const |
| Access the data of a single dimensional SDS primitive item array of a specified number of elements. | |
| template<typename T , class ContainerType > | |
| Id | ArrayCreateAndAccess (const std::string &name, const ContainerType &dims, sds::ArrayWriteHelper< T > *const data, const std::string &extra="") |
| Create a new child of primitive items and access that array, multi-dimensional. | |
| template<typename T > | |
| Id | ArrayCreateAndAccess (const std::string &name, const unsigned nitems, sds::ArrayWriteHelper< T > *const data, const std::string &extra="") |
| Create a new child of primitive items and access that array, one dimensional. | |
| template<class ContainerType > | |
| Id | Cell (const ContainerType &indicies, bool throwOnNotFound=true) const |
| Factory constructor method Constructor that returns a cell of a SDS structure which must be an array of structures. | |
| Id | Cell (unsigned long index, bool throwOnNotFound=true) const |
| Factory constructor method Constructor that returns a cell of a SDS structure which must be a single dimensional array structures. | |
| template<class ContainerType > | |
| void | CheckItem (SdsCodeType code, const ContainerType &dims) const |
| Check an item has a required structure. | |
| virtual Id | Copy () const |
| Factory constructor method Id Copy constructor. | |
| template<class ContainerType > | |
| Id | CreateChildArray (const std::string &name, const SdsCodeType code, const ContainerType &dims, const std::string &extra="") const |
| Factory constructor method Constructor which creates a new child item which is an multi-dimensional array. | |
| Id | CreateChildArray (const std::string &name, const SdsCodeType code, const unsigned nElem, const std::string &extra="") const |
| Factory constructor method Constructor which creates a new child item which is a one-dimensional array. | |
| virtual Id | CreateChildItem (const std::string &name, const SdsCodeType code, const std::string &extra="") const |
| Factory constructor method which creates a new (non-array) child item. | |
| virtual void | DeleteIfExists (const std::string &name) |
| Delete the named SDS item within the current structured item. | |
| virtual bool | Exists (const std::string &name) const |
| Determine if a named item exists in a structure. | |
| virtual bool | Exists (unsigned index) const |
| Determine if a item of a given index exists in a structure. | |
| template<class ContainerType > | |
| void | Export (ContainerType *container) const |
| Export the SDS structure into a buffer. | |
| template<class ContainerType > | |
| void | ExportDefined (ContainerType *container) const |
| Export the SDS structure into a buffer, defining any undefined data. | |
| virtual void | FillArray (const Id &elem) |
| Fill out the contents of this object, which is a structured array. | |
| virtual Id | Find (const std::string &name, bool throwOnNotFound=true) const |
| Factory constructor method Constructor which returns a reference to a named item. | |
| virtual void | Flush () |
| Flush data modified by pointer. | |
| template<typename T > | |
| void | Get (const std::string &name, T *value) const |
| Fetch primitive value from a named component of the structure. | |
| template<typename T > | |
| void | Get (const unsigned long length, T *const data, unsigned long *actlen=nullptr, const unsigned long offset=0) const |
| Get data from an SDS item. | |
| template<typename T > | |
| void | Get (T *value) const |
| Fetch primitive value from the component. | |
| virtual SdsCodeType | GetCode () const |
| Return the code of the SDS item. | |
| template<class ContainerType > | |
| void | GetDims (ContainerType *dims) const |
| Return the dimensions of the SDS item. | |
| virtual double | GetDouble () const |
| If the SDS item refers to a scalar value, convert it to a double item. | |
| virtual std::string | GetExtra () const |
| Get extra data from an SDS item. | |
| virtual int | GetInt () const |
| If the SDS item refers to a scalar value, convert it to an integer. | |
| virtual long | GetLong () const |
| If the SDS item refers to a scalar value, convert it to long integer. | |
| virtual std::string | GetName () const |
| Return the name of the SDS item. | |
| unsigned | GetNumItems () const |
| Return the number of components in an SDS structure. | |
| std::string | GetString () const |
| If the SDS item refers to a scalar value or a character string, convert it to a string item. | |
| virtual unsigned int | GetUInt () const |
| If the SDS item refers to a scalar value, convert it to an unsigned integer. | |
| virtual unsigned long | GetULong () const |
| If the SDS item refers to a scalar value, convert it to an unsigned long integer. | |
| virtual Id | Index (const long index, bool throwOnNotFound=true) const |
| Factory constructor method Constructor which returns an id to a structured item indexed by position. | |
| virtual void | Insert (Id &to_insert) |
| Insert an SDS object into this object. | |
| template<class ContainerType > | |
| void | Insert (Id &to_insert, const ContainerType &dims) |
| Insert an SDS object into this object, which is a structured array. | |
| virtual bool | IsExternal () const |
| Determine if the SDS structure is external. | |
| virtual void | List () const |
| List the contents of the structure to standard output. | |
| virtual void | List (const PrintObjectCR &printer, int lineMaxLen=100) const |
| List the contents of the structure via a PrintObjectCR. | |
| virtual void | List (FILE *to) const |
| List the contents of the structure to a C file. | |
| virtual void | List (PrintObjectPnt *printer, int lineMaxLen=100) const |
| List the contents of the structure via a PrintObjectPnt object. | |
| virtual void | List (std::ostream &strm, int lineMaxLen=100) const |
| List the contents of the structure to an output stream. | |
| operator bool () const | |
| Operator which tests if an item is valid. | |
| operator SdsIdType () const | |
| Operator which returns the underlying SDS id. | |
| template<typename T > | |
| void | Pointer (T **data, unsigned long *length=0) const |
| Obtain a pointer to the data area of a primitive SDS item. | |
| void | Put (const std::string &name, const std::string &value, const std::string &extraData="") |
| Insert a string value into a named component of the structure. | |
| template<typename T > | |
| void | Put (const std::string &name, T value, const std::string &extraData="") |
| Insert a primitive value into a named component of the structure. | |
| void | Put (const std::string &value) |
| Insert a string value into the component. | |
| template<typename T > | |
| void | Put (const unsigned long length, const T *const data, const unsigned long offset=0) |
| Put data into an SDS item. | |
| template<typename T > | |
| void | Put (T value) |
| Insert a primitive value into the item. | |
| virtual void | PutExtra (const std::string &extra) |
| Put extra data into an SDS item. | |
| template<class ContainerType > | |
| void | Resize (const ContainerType &dims) |
| Change the dimensions of an SDS array. | |
| virtual void | ShallowCopy (const Id &source) |
| Shallow copy from a const sds::Id which will outlive this object. | |
| virtual void | ShallowCopy (Id *source, const bool outlives) |
| Shallow copy from sds::Id. | |
| virtual unsigned long | Size () const |
| Return the size of an SDS structure, as required for exporting. | |
| virtual unsigned long | SizeDefined () const |
| Return the size of an SDS structure, as required for exporting when fully defined. | |
| virtual void | ToSdsId (::SdsId *target, const bool outlives=false) |
| Shallow copy to an SdsId type. | |
| virtual std::string | toString (int maxlen=200) |
| Convert the structure to a string. | |
| void | Update () const |
| Indicate to DRAMA that the parameter has been updated. | |
| virtual void | ValidateCode (SdsCodeType requiredCode) const |
| Validate the code of the SDS item. | |
| virtual void | Write (const std::string &filename) const |
| Write the contents of the structure to a file. | |
Static Public Member Functions | |
| template<typename ContainerType > | |
| static Id | CreateArgCmdStruct (const ContainerType &values, const std::string &name="ArgStructure") |
| Factory constructor which creates a new "Arg" style SDS structure in the DRAMA Command style. | |
| template<typename T > | |
| static Id | CreateArgCmdStruct (const std::initializer_list< T > &values, const std::string &name="ArgStructure") |
| Factory constructor which creates a new "Arg" style SDS structure in the DRAMA Command style. | |
| template<typename T > | |
| static Id | CreateArgCmdStructSingle (const T value, const std::string &name="ArgStructure") |
| Factory constructor which creates a new "Arg" style SDS structure in the DRAMA Command style. | |
| static Id | CreateArgStruct (const std::string &name="ArgStructure") |
| Factory constructor which creates a new "Arg" style SDS structure. | |
| template<class ContainerType > | |
| static Id | CreateByAccess (ContainerType *container) |
| Factory constructor method that accesses an exported SDS structure found in a byte stream. | |
| template<class ContainerType > | |
| static Id | CreateByImport (const ContainerType &container) |
| Factory constructor method that imports an exported SDS structure found in a byte stream. | |
| static Id | CreateFromSdsId (const SdsId &item) |
| Factory constructor method that constructs an sds::Id item from an existing old C++ interface SdsId item. | |
| static Id | CreateFromSdsId (SdsId *item) |
| Factory constructor method that constructs an sds::Id item from an existing old C++ interface SdsId item. | |
| static Id | CreateFromSdsIdType (const SdsIdType item, const bool free=false, const bool del=false, const bool readfree=false) |
| Factory constructor method that constructs an sds::Id item from an existing C language SDS id. | |
| static Id | CreateFromSdsIdTypeCopy (const SdsIdType item) |
| Factory constructor method that constructs an sds::Id item by coping an existing C language SDS id. | |
| static Id | CreateNullItem () |
| Factory constructor method that constructs an null sds::Id item . | |
| static Id | CreateTopLevel (const std::string &name, const SdsCodeType code, const std::string &extra="") |
| Constructor which creates a new (non-array) top-level item. | |
| template<class ContainerType > | |
| static Id | CreateTopLevelArray (const std::string &name, const SdsCodeType code, const ContainerType &dims, const std::string &extra="") |
| Factory constructor method Constructor which creates a new array top-level item. | |
| static Id | CreateTopLevelArray (const std::string &name, const SdsCodeType code, const unsigned nElem, const std::string &extra="") |
| Factory constructor method Constructor which creates a new one-dimensional array top-level item. | |
| static Id | FromFile (const std::string &filename) |
| Factory constructor method that reads an SDS structure from a file. | |
Click here for the DRAMA home page and here for the AAO home page.
For more information, contact tony.farrell@mq.edu.au
Generated by