46#ifdef DRAMA_ALLOW_CPP_STDLIB
60#if defined(__cplusplus) || defined(__STDC__) || defined (VAXC)
61# define ARGCONST const
73#define ARGEXTERN __declspec(dllexport)
74#elif defined(DRAMA_STATIC)
75#define ARGEXTERN extern
77#define ARGEXTERN __declspec(dllimport)
81#define ARGEXTERN extern
87#define ARG_NEWCPP_OVERLOADS 1
90ARGEXTERN
void ArgNew(SdsIdType *
id, StatusType * ARGCONST status);
91ARGEXTERN
void ArgPutc(SdsIdType
id, ARGCONST
char *name,
char value,
92 StatusType * ARGCONST status);
93ARGEXTERN
void ArgPuts(SdsIdType
id, ARGCONST
char *name,
short value,
94 StatusType * ARGCONST status);
95ARGEXTERN
void ArgPutus(SdsIdType
id, ARGCONST
char *name,
unsigned short value,
96 StatusType * ARGCONST status);
97ARGEXTERN
void ArgPuti(SdsIdType
id, ARGCONST
char *name,
long value,
98 StatusType * ARGCONST status);
99ARGEXTERN
void ArgPuti64(SdsIdType
id, ARGCONST
char *name, INT64 value,
100 StatusType * ARGCONST status);
102ARGEXTERN
void ArgPutu(SdsIdType
id, ARGCONST
char *name,
unsigned long value,
103 StatusType * ARGCONST status);
105ARGEXTERN
void ArgPutu64(SdsIdType
id, ARGCONST
char *name, UINT64 value,
106 StatusType * ARGCONST status);
108ARGEXTERN
void ArgPutf(SdsIdType
id, ARGCONST
char *name,
float value,
109 StatusType * ARGCONST status);
110ARGEXTERN
void ArgPutd(SdsIdType
id, ARGCONST
char *name,
double value,
111 StatusType * ARGCONST status);
112ARGEXTERN
void ArgPutString(SdsIdType
id, ARGCONST
char *name, ARGCONST
char *value,
113 StatusType * ARGCONST status);
114ARGEXTERN
void ArgGetc(SdsIdType
id, ARGCONST
char *name,
char *value,
115 StatusType * ARGCONST status);
116ARGEXTERN
void ArgGets(SdsIdType
id, ARGCONST
char *name,
short *value,
117 StatusType * ARGCONST status);
118ARGEXTERN
void ArgGetus(SdsIdType
id, ARGCONST
char *name,
unsigned short *value,
119 StatusType * ARGCONST status);
120ARGEXTERN
void ArgGeti(SdsIdType
id, ARGCONST
char *name,
long *value,
121 StatusType * ARGCONST status);
122ARGEXTERN
void ArgGeti64(SdsIdType
id, ARGCONST
char *name, INT64 *value,
123 StatusType * ARGCONST status);
125ARGEXTERN
void ArgGetu(SdsIdType
id, ARGCONST
char *name,
unsigned long *value,
126 StatusType * ARGCONST status);
127ARGEXTERN
void ArgGetu64(SdsIdType
id, ARGCONST
char *name, UINT64 *value,
128 StatusType * ARGCONST status);
130ARGEXTERN
void ArgGetf(SdsIdType
id, ARGCONST
char *name,
float *value,
131 StatusType * ARGCONST status);
132ARGEXTERN
void ArgGetd(SdsIdType
id, ARGCONST
char *name,
double *value,
133 StatusType * ARGCONST status);
134ARGEXTERN
void ArgGetString(SdsIdType
id, ARGCONST
char *name,
long len,
char *value,
135 StatusType * ARGCONST status);
136ARGEXTERN
void ArgDelete(SdsIdType
id, StatusType * ARGCONST status);
139ARGEXTERN
void ArgCvt (ARGCONST
void * SrcAddr, SdsCodeType SrcType, SdsCodeType DstType,
140 void * DstAddr,
unsigned long int DstLen ,
141 StatusType * ARGCONST status);
142ARGEXTERN
void ArgLook (
char *SrcAddr,
int USFlag,
int MinFlag, SdsCodeType *DstType,
143 StatusType * ARGCONST status);
146ARGEXTERN
void ArgToString (SdsIdType
id,
int maxlen,
int *length,
char *
string,
147 StatusType * ARGCONST status);
149typedef void (*ArgListFuncType)(
152 StatusType * status);
153ARGEXTERN
void ArgSdsList(SdsIdType
id,
unsigned buflen,
char *buffer,
154 ArgListFuncType func,
void * client_data,
155 StatusType * ARGCONST status);
158ARGEXTERN
void ArgFind(SdsIdType parent_id, ARGCONST
char *name,
160 StatusType * ARGCONST status);
162ARGEXTERN
void ArgCheckItem(SdsIdType
id,
163 SdsCodeType code,
long ndims,
164 long * ARGCONST dims,
165 StatusType * ARGCONST status);
172ARGEXTERN
void ArgPut1DArrayD(SdsIdType
id,
176 StatusType * status);
179ARGEXTERN
void ArgPut1DArrayDElem(SdsIdType
id,
184 StatusType *
const status);
187ARGEXTERN
void ArgPut1DArrayI(SdsIdType
id,
191 StatusType * status);
194ARGEXTERN
void ArgPut1DArrayIElem(SdsIdType
id,
199 StatusType *
const status);
201ARGEXTERN
void ArgPut1DArrayB(SdsIdType
id,
204 const unsigned char data[],
205 StatusType * status);
208ARGEXTERN
void ArgPut1DArrayBElem(SdsIdType
id,
213 StatusType *
const status);
217ARGEXTERN
void ArgPut1DArrayS(SdsIdType
id,
222 StatusType * status);
225ARGEXTERN
void ArgPut1DArraySElem(SdsIdType
id,
231 StatusType *
const status);
268 Arg& operator=(
const Arg&);
295 Arg (
const SdsIdType item=0,
const bool free=
false,
296 const bool del =
false,
const bool readfree =
false) :
297 SdsId(item,free,del,readfree) {
315 Arg (
bool , StatusType *
const status,
316 const char *
const name =
"ArgStructure") :
317 SdsId(name, SDS_STRUCT,status) {
332 void New (StatusType *
const status,
333 const char *
const name =
"ArgStructure") {
338 Arg tid(
true,status, name);
357 StatusType *
const status) :
358 SdsId(0,false,false,false) {
367 ArgFind(source,name,&tid,status);
387 void ToString(
int maxlen,
int *length,
char *
string,
388 StatusType *
const status)
390 ArgToString(*
this,maxlen,length,
string,status);
408 void toString(
int maxlen,
int *length,
char *
string,
409 StatusType *
const status) {
410 ToString(maxlen, length,
string, status);
445 ArgCheckItem(*
this, code, ndims, dims, status);
468 void Put (
const char *name,
bool value, StatusType *
const status) {
469 unsigned short v = (int)value;
470 ArgPutus(*
this,name,v,status);
487 void Put (
const char *name,
char value, StatusType *
const status) {
488 ArgPutc(*
this,name,value,status);
504 void Put (
const char *name,
short value, StatusType *
const status) {
505 ArgPuts(*
this,name,value,status);
522 void Put (
const char *name,
unsigned short value,
523 StatusType *
const status) {
524 ArgPutus(*
this,name,value,status);
542 void Put (
const char *name, INT32 value, StatusType *
const status) {
543 ArgPuti(*
this,name,value,status);
561 void Put (
const char *name, UINT32 value, StatusType *
const status) {
562 ArgPutu(*
this,name,value,status);
579 void Put (
const char *name, INT64 value, StatusType *
const status) {
580 ArgPuti64(*
this,name,value,status);
597 void Put (
const char *name, UINT64 value, StatusType *
const status) {
598 ArgPutu64(*
this,name,value,status);
615 void Put (
const char *name,
float value, StatusType *
const status) {
616 ArgPutf(*
this,name,value,status);
633 void Put (
const char *name,
double value, StatusType *
const status) {
634 ArgPutd(*
this,name,value,status);
653#ifndef DRAMA_ALLOW_CPP_STDLIB
655 void Put (
const char *name,
const char *value, StatusType *
const status) {
656 ArgPutString(*
this,name,value,status);
676 void Get (
const char *name,
bool * value,
677 StatusType *
const status)
const {
679 ArgGetus(*
this,name,&v,status);
680 *value = v ? true :
false;
707 void Put (
const char *name,
const long dim,
const double data[],
708 StatusType *
const status) {
709 ArgPut1DArrayD(*
this, name, dim, data, status);
736 void Put (
const char *name,
const long dim,
const unsigned index,
737 const double data, StatusType *
const status) {
738 ArgPut1DArrayDElem(*
this, name, dim, index, data, status);
766 void Put (
const char *name,
const long dim,
const INT32 data[],
767 StatusType *
const status) {
768 ArgPut1DArrayI(*
this, name, dim, data, status);
793 void Put (
const char *name,
const long dim,
const unsigned index,
794 const INT32 data, StatusType *
const status) {
795 ArgPut1DArrayIElem(*
this, name, dim, index, data, status);
823 void Put (
const char *name,
const long dim,
const unsigned char data[],
824 StatusType *
const status) {
825 ArgPut1DArrayB(*
this, name, dim, data, status);
851 void Put (
const char *name,
const long dim,
const unsigned index,
852 const unsigned char data, StatusType *
const status) {
853 ArgPut1DArrayBElem(*
this, name, dim, index, data, status);
885 void Put (
const char *name,
const long slen,
const long dim,
const char *data[],
886 StatusType *
const status) {
887 ArgPut1DArrayS(*
this, name, slen, dim, data, status);
920 void Put (
const char *name,
const long slen,
const long dim,
const unsigned index,
921 const char *data, StatusType *
const status) {
922 ArgPut1DArraySElem(*
this, name, slen, dim, index, data, status);
938 void Get (
const char *name,
char * value, StatusType *
const status)
const {
939 ArgGetc(*
this,name,value,status);
953 void Get (
const char *name,
short * value, StatusType *
const status)
const {
954 ArgGets(*
this,name,value,status);
969 void Get (
const char *name,
unsigned short * value,
970 StatusType *
const status)
const {
971 ArgGetus(*
this,name,value,status);
986 void Get (
const char *name, INT32 * value, StatusType *
const status )
const{
988 ArgGeti(*
this,name,&v,status);
1004 void Get (
const char *name, UINT32 * value,
1005 StatusType *
const status)
const {
1007 ArgGetu(*
this,name,&v,status);
1023 void Get (
const char *name, INT64 * value, StatusType *
const status)
const{
1024 ArgGeti64(*
this,name,value,status);
1039 void Get (
const char *name, UINT64 * value, StatusType *
const status)
const{
1040 ArgGetu64(*
this,name,value,status);
1055 void Get (
const char *name,
float * value, StatusType *
const status)
const{
1056 ArgGetf(*
this,name,value,status);
1070 void Get (
const char *name,
double * value, StatusType *
const status)
const {
1071 ArgGetd(*
this,name,value,status);
1086 void Get (
const char *name,
long len,
char * value,
1087 StatusType *
const status)
const{
1088 ArgGetString(*
this,name,len,value,status);
1108 static void List(
const SdsId &
id,
unsigned buflen,
char *buffer,
1109 ArgListFuncType func,
void * client_data,
1110 StatusType * ARGCONST status) {
1111 ArgSdsList(
id,buflen,buffer,func,client_data,status);
1124 void List(StatusType *
const status)
const {
1125 SdsList(*
this,status);
1134 void List(FILE *to, StatusType *
const status)
const {
1135 SdsListTo(to, *
this,status);
1160 void Get(
const unsigned long length,
1162 StatusType *
const status,
1163 unsigned long *actlen = 0,
1164 const unsigned long offset=0)
const {
1165 SdsId::Get(length,data,status,actlen,offset);
1187 void Put(
const unsigned long length,
1189 StatusType *
const status,
1190 const unsigned long offset=0)
1211 unsigned long int DstLen ,
1214 SdsIdType
id = SdsIdType(*
this);
1215 ArgCvt(&
id, ARG_SDS, DstType, DstAddr, DstLen, status);
1233 StatusType *status) :
1234 SdsId(0, false, false, false)
1237 SdsIndex(source,index,&tid,status);
1241#ifdef DRAMA_ALLOW_CPP_STDLIB
1266 const std::string &name,
1267 StatusType *
const status) :
1268 SdsId(0,false,false,false) {
1270 ArgFind(source,name.c_str(),&tid,status);
1285 const std::string &extraData,
1286 StatusType *
const status) {
1288 if (*status != STATUS__OK)
return;
1289 SdsId item(*
this, name.c_str(), status);
1320 void Put (
const std::string &name,
bool value,
1321 StatusType *
const status,
1322 const std::string &extraData=
"") {
1323 unsigned short v = (int)value;
1324 ArgPutus(*
this,name.c_str(),v,status);
1326 if (extraData !=
"")
1351 void Put (
const std::string &name,
1353 StatusType *
const status,
1354 const std::string &extraData=
"") {
1355 ArgPutc(*
this,name.c_str(),value,status);
1356 if (extraData !=
"")
1381 void Put (
const std::string &name,
1383 StatusType *
const status,
1384 const std::string &extraData=
"") {
1385 ArgPuts(*
this,name.c_str(),value,status);
1386 if (extraData !=
"")
1408 void Put (
const std::string &name,
unsigned short value,
1409 StatusType *
const status) {
1410 ArgPutus(*
this,name.c_str(),value,status);
1433 void Put (
const std::string &name,
1435 StatusType *
const status,
1436 const std::string &extraData=
"") {
1437 ArgPuti(*
this,name.c_str(),value,status);
1438 if (extraData !=
"")
1464 void Put (
const std::string &name,
1466 StatusType *
const status,
1467 const std::string &extraData=
"") {
1468 ArgPutu(*
this,name.c_str(),value,status);
1469 if (extraData !=
"")
1496 void Put (
const std::string &name,
1498 StatusType *
const status,
1499 const std::string &extraData=
"") {
1500 ArgPuti64(*
this,name.c_str(),value,status);
1501 if (extraData !=
"")
1527 void Put (
const std::string &name,
1529 StatusType *
const status,
1530 const std::string &extraData=
"") {
1531 ArgPutu64(*
this,name.c_str(),value,status);
1532 if (extraData !=
"")
1558 void Put (
const std::string &name,
1560 StatusType *
const status,
1561 const std::string &extraData=
"") {
1562 ArgPutf(*
this,name.c_str(),value,status);
1563 if (extraData !=
"")
1590 void Put (
const std::string &name,
1592 StatusType *
const status,
1593 const std::string &extraData=
"") {
1594 ArgPutd(*
this,name.c_str(),value,status);
1595 if (extraData !=
"")
1623 const std::string &value,
1625 const std::string &extraData=
"") {
1626 ArgPutString(*
this, name, value.c_str(), status);
1627 if (extraData !=
"")
1637 void Put (
const char *name,
1639 StatusType *
const status,
1640 const std::string &extraData=
"") {
1641 ArgPutString(*
this,name,value,status);
1642 if (extraData !=
"")
1672 void Put(
const std::string &name,
1673 const std::string &value,
1675 const std::string &extraData=
"") {
1676 ArgPutString(*
this, name.c_str(), value.c_str(), status);
1677 if (extraData !=
"")
1699 void Get (
const std::string &name,
bool * value,
1700 StatusType *
const status)
const{
1702 ArgGetus(*
this,name.c_str(),&v,status);
1703 *value = v ? true :
false;
1719 void Get (
const std::string &name,
char * value, StatusType *
const status)
const {
1720 ArgGetc(*
this,name.c_str(),value,status);
1736 void Get (
const std::string &name,
short * value, StatusType *
const status)
const {
1737 ArgGets(*
this,name.c_str(),value,status);
1754 void Get (
const std::string &name,
unsigned short * value,
1755 StatusType *
const status)
const{
1756 ArgGetus(*
this,name.c_str(),value,status);
1773 void Get (
const std::string &name, INT32 * value,
1774 StatusType *
const status)
const {
1775 Get(name.c_str(), value, status);
1792 void Get (
const std::string &name, UINT32 * value,
1793 StatusType *
const status)
const{
1794 Get(name.c_str(), value, status);
1811 void Get (
const std::string &name, INT64 * value, StatusType *
const status)
const {
1812 ArgGeti64(*
this,name.c_str(),value,status);
1828 void Get (
const std::string &name, UINT64 * value, StatusType *
const status)
const {
1829 ArgGetu64(*
this,name.c_str(),value,status);
1845 void Get (
const std::string &name,
float * value, StatusType *
const status)
const {
1846 ArgGetf(*
this,name.c_str(),value,status);
1862 void Get (
const std::string &name,
double * value, StatusType *
const status)
const {
1863 ArgGetd(*
this,name.c_str(),value,status);
1889 int buflen = 100)
const {
1892 Arg ItemId(*
this, name, status);
1893 if (*status != STATUS__OK)
return;
1895 char tname[SDS_C_NAMELEN];
1898 unsigned long dims[SDS_C_MAXARRAYDIMS];
1901 ItemId.
Info(tname, &code, &ndims, dims, status);
1902 if (*status != STATUS__OK)
return;
1904 if ((code == SDS_CHAR)&&(ndims == 1))
1907 buflen = dims[0] + 1;
1910 buffer =
new char[buflen];
1913 *status = ARG__MALLOCERR;
1916 ArgGetString(*
this, name, buflen, buffer, status);
1917 if (*status == STATUS__OK)
1947 void Get(
const std::string &name,
1950 int buflen = 100)
const {
1951 Get(name.c_str(), value, status, buflen);
1968 void ToString(std::string *s, StatusType *
const status,
int maxlen=200)
1973 char *
string =
new char[maxlen];
1978 ArgToString(*
this,maxlen,&length,&
string[0],status);
1979 if (*status != STATUS__OK)
2001 void toString(std::string *s, StatusType *
const status,
int maxlen=200) {
void Get(const char *name, UINT64 *value, StatusType *const status) const
Fetch a unsigned 64 bit integer value from a named component of the Arg structure.
Definition arg.h:1039
void Put(const char *name, short value, StatusType *const status)
Insert a short value into a named component of the Arg structure.
Definition arg.h:504
void Get(const char *name, UINT32 *value, StatusType *const status) const
Fetch an unsigned 32 bit integer value from a named component of the Arg structure.
Definition arg.h:1004
void Put(const char *name, INT64 value, StatusType *const status)
Insert a 64 bit integer value into a named component of the Arg structure.
Definition arg.h:579
void PutExtra(const std::string &name, const std::string &extraData, StatusType *const status)
Put the extra data of a named item.
Definition arg.h:1284
static void List(const SdsId &id, unsigned buflen, char *buffer, ArgListFuncType func, void *client_data, StatusType *ARGCONST status)
List an SDS structure through a print function.
Definition arg.h:1108
void Put(const std::string &name, unsigned short value, StatusType *const status)
Insert an unsigned short value into a named component of the Arg structure.
Definition arg.h:1408
Arg(bool, StatusType *const status, const char *const name="ArgStructure")
Arg constructor which creates a new SDS structure.
Definition arg.h:315
void Put(const std::string &name, float value, StatusType *const status, const std::string &extraData="")
Insert an float size real value into a named component of the Arg structure.
Definition arg.h:1558
void Put(const unsigned long length, void *const data, StatusType *const status, const unsigned long offset=0)
Put data into an SDS item.
Definition arg.h:1187
void Get(const char *name, char *value, StatusType *const status) const
Fetch a char value from a named component of the Arg structure.
Definition arg.h:938
void Get(const char *name, INT32 *value, StatusType *const status) const
Fetch a 32 bit integer value from a named component of the Arg structure.
Definition arg.h:986
void Put(const char *name, char value, StatusType *const status)
Insert a char value into a named component of the Arg structure.
Definition arg.h:487
void Get(const std::string &name, std::string *value, StatusType *status, int buflen=100) const
Fetch a string value as a std::string from a named component of the Arg structure.
Definition arg.h:1947
void Put(const char *name, const long slen, const long dim, const char *data[], StatusType *const status)
Insert an array of string into a named component of the Arg structure.
Definition arg.h:885
void Put(const std::string &name, INT64 value, StatusType *const status, const std::string &extraData="")
Insert a 64 bit integer value into a named component of the Arg structure.
Definition arg.h:1496
void Get(const char *name, short *value, StatusType *const status) const
Fetch a short integer value from a named component of the Arg structure.
Definition arg.h:953
void List(StatusType *const status) const
List the contents of the structure to standard output.
Definition arg.h:1124
void Put(const std::string &name, INT32 value, StatusType *const status, const std::string &extraData="")
Insert a 32 bit integer value into a named component of the Arg structure.
Definition arg.h:1433
void Get(const char *name, std::string *value, StatusType *status, int buflen=100) const
Fetch a string value as a std::string from a named component of the Arg structure.
Definition arg.h:1886
void Get(const char *name, long len, char *value, StatusType *const status) const
Fetch a string value as a char * from a named component of the Arg structure.
Definition arg.h:1086
void Put(const char *name, unsigned short value, StatusType *const status)
Insert an unsigned short value into a named component of the Arg structure.
Definition arg.h:522
void Get(const std::string &name, unsigned short *value, StatusType *const status) const
Fetch an unsigned short integer value from a named component of the Arg structure.
Definition arg.h:1754
void Put(const char *name, UINT64 value, StatusType *const status)
Insert an unsigned 64 bit integer value into a named component of the Arg structure.
Definition arg.h:597
void Put(const char *name, const long slen, const long dim, const unsigned index, const char *data, StatusType *const status)
Insert an 1D string array element.
Definition arg.h:920
void Get(const char *name, bool *value, StatusType *const status) const
Insert a char * string into a named component of the Arg structure.
Definition arg.h:676
void Get(const std::string &name, UINT32 *value, StatusType *const status) const
Fetch a 32 bit unsigned integer value from a named component of the Arg structure.
Definition arg.h:1792
Arg(const SdsId &source, const long index, StatusType *status)
Constructor which returns an id to a structured item indexed by position.
Definition arg.h:1231
void Get(const std::string &name, INT64 *value, StatusType *const status) const
Fetch a 64 bit integer value from a named component of the Arg structure.
Definition arg.h:1811
void ToString(int maxlen, int *length, char *string, StatusType *const status)
Convert the structure to a string.
Definition arg.h:387
void Get(const std::string &name, float *value, StatusType *const status) const
Fetch a float size real value from a named component of the Arg structure.
Definition arg.h:1845
void Get(const std::string &name, INT32 *value, StatusType *const status) const
Fetch a 32 bit integer value from a named component of the Arg structure.
Definition arg.h:1773
void Put(const char *name, INT32 value, StatusType *const status)
Insert a 32 bit integer value into a named component of the Arg structure.
Definition arg.h:542
void Put(const char *name, const std::string &value, StatusType *status, const std::string &extraData="")
Insert a std::string into a named component of the Arg structure.
Definition arg.h:1622
void Put(const std::string &name, double value, StatusType *const status, const std::string &extraData="")
Insert an double size real value into a named component of the Arg structure.
Definition arg.h:1590
void Put(const char *name, const long dim, const unsigned index, const unsigned char data, StatusType *const status)
Insert an 1D unsigned char array element.
Definition arg.h:851
void Get(const std::string &name, UINT64 *value, StatusType *const status) const
Fetch a unsigned 64 bit integer value from a named component of the Arg structure.
Definition arg.h:1828
void Get(const char *name, INT64 *value, StatusType *const status) const
Fetch a 64 bit integer value from a named component of the Arg structure.
Definition arg.h:1023
void Put(const char *name, const long dim, const INT32 data[], StatusType *const status)
Insert an array of INT32 into a named component of the Arg structure.
Definition arg.h:766
void Put(const std::string &name, short value, StatusType *const status, const std::string &extraData="")
Insert a short value into a named component of the Arg structure.
Definition arg.h:1381
void Put(const char *name, UINT32 value, StatusType *const status)
Insert an unsigned 32 bit integer into a named component of the Arg structure.
Definition arg.h:561
void toString(std::string *s, StatusType *const status, int maxlen=200)
Convert the structure to a string This method attempts to convert the SDS structure maintained by thi...
Definition arg.h:2001
void Put(const char *name, const long dim, const unsigned index, const double data, StatusType *const status)
Insert an 1D double array element.
Definition arg.h:736
void ToString(std::string *s, StatusType *const status, int maxlen=200)
Convert the structure to a string.
Definition arg.h:1968
void Put(const char *name, const long dim, const unsigned index, const INT32 data, StatusType *const status)
Insert an 1D INT32 array element.
Definition arg.h:793
void Get(const std::string &name, char *value, StatusType *const status) const
Fetch a char value from a named component of the Arg structure.
Definition arg.h:1719
void Get(const std::string &name, double *value, StatusType *const status) const
Fetch a double size real value from a named component of the Arg structure.
Definition arg.h:1862
void Put(const char *name, float value, StatusType *const status)
Insert an float size real value into a named component of the Arg structure.
Definition arg.h:615
Arg(const SdsId &source, const char *const name, StatusType *const status)
Constructor which returns an id to a named item of another item.
Definition arg.h:356
void Put(const std::string &name, UINT64 value, StatusType *const status, const std::string &extraData="")
Insert an unsigned 64 bit integer value into a named component of the Arg structure.
Definition arg.h:1527
void List(FILE *to, StatusType *const status) const
List the contents of the structure to a file.
Definition arg.h:1134
Arg(const SdsIdType item=0, const bool free=false, const bool del=false, const bool readfree=false)
Arg constructor to access an item created by C language SDS.
Definition arg.h:295
void Put(const std::string &name, char value, StatusType *const status, const std::string &extraData="")
Insert a char value into a named component of the Arg structure.
Definition arg.h:1351
void Convert(SdsCodeType DstType, void *DstAddr, unsigned long int DstLen, StatusType *status)
Convert the data in this item to another (normally scalar) type.
Definition arg.h:1209
void Get(const char *name, double *value, StatusType *const status) const
Fetch a double size real value from a named component of the Arg structure.
Definition arg.h:1070
void Get(const std::string &name, bool *value, StatusType *const status) const
Fetch a boolean value from a named component of the Arg structure.
Definition arg.h:1699
void Put(const std::string &name, UINT32 value, StatusType *const status, const std::string &extraData="")
Insert an unsigned 32 bit integer value into a named component of the Arg structure.
Definition arg.h:1464
void Get(const char *name, unsigned short *value, StatusType *const status) const
Fetch an unsigned short integer value from a named component of the Arg structure.
Definition arg.h:969
void Put(const char *name, const long dim, const double data[], StatusType *const status)
Insert an array of double into a named component of the Arg structure.
Definition arg.h:707
void Put(const std::string &name, const std::string &value, StatusType *status, const std::string &extraData="")
Insert a std::string into a named component of the Arg structure.
Definition arg.h:1672
void Put(const char *name, bool value, StatusType *const status)
Insert a boolean value into a named component of the Arg structure.
Definition arg.h:468
void Get(const std::string &name, short *value, StatusType *const status) const
Fetch a short integer value from a named component of the Arg structure.
Definition arg.h:1736
void CheckItem(SdsCodeType code, StatusType *status, long ndims=-1, long *dims=0)
Check an item has a required structure.
Definition arg.h:440
void New(StatusType *const status, const char *const name="ArgStructure")
Create a new Arg structure within this object.
Definition arg.h:332
Arg(const SdsId &source, const std::string &name, StatusType *const status)
Constructor which returns an id to a named item of another item.
Definition arg.h:1265
void Put(const std::string &name, bool value, StatusType *const status, const std::string &extraData="")
Insert a boolean value into a named component of the Arg structure.
Definition arg.h:1320
void Get(const char *name, float *value, StatusType *const status) const
Fetch a float size real value from a named component of the Arg structure.
Definition arg.h:1055
void Put(const char *name, const long dim, const unsigned char data[], StatusType *const status)
Insert an array of unsigned char into a named component of the Arg structure.
Definition arg.h:823
void Put(const char *name, double value, StatusType *const status)
Insert an double size real value into a named component of the Arg structure.
Definition arg.h:633
void Get(const unsigned long length, void *const data, StatusType *const status, unsigned long *actlen=0, const unsigned long offset=0) const
Get data from an SDS item.
Definition arg.h:1160
void toString(int maxlen, int *length, char *string, StatusType *const status)
Convert the structure to a string.
Definition arg.h:408
A C++ Interface to the SDS Arg library.
Definition arg.h:263
virtual void Get(const unsigned long length, void *const data, StatusType *const status, unsigned long *actlen=0, const unsigned long offset=0) const
Get data from an SDS item.
Definition sds.h:1380
void Info(char *const name, SdsCodeType *const code, long *const ndims, unsigned long *const dims, StatusType *const status) const
Return information about an SDS item.
Definition sds.h:1435
void PutExtra(const long nextra, const char *const extra, StatusType *const status)
Put extra data into an SDS item.
Definition sds.h:1640
void ShallowCopy(SdsId &source, const bool outlives=true)
Shallow copy from SdsId.
Definition sds.h:1932
virtual void Put(const unsigned long length, void *const data, StatusType *const status, const unsigned long offset=0)
Put data into an SDS item.
Definition sds.h:1619
A C++ Interface to the handling SDS structures.
Definition sds.h:761