ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
sla.h File Reference
#include "rosedll.h"
#include <stdlib.h>
Include dependency graph for sla.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ARGVCONST
 
#define SLA_FCN_PROTO(N, T)
 
#define SLA_FCN_BEGIN(N, T)   SLA_FCN_PROTO(N,T)
 
#define SLA_MOD(M)
 
#define SLA_CNV(C)
 

Functions

ROSE_UTIL_API void sla_set_debug (int d)
 
ROSE_UTIL_API int sla_none (int *argc, ARGVCONST char **argv, const char *flind, const char *assop, const char *pname, int argd)
 
 SLA_FCN_PROTO (sla_str, ARGVCONST char *)
 
 SLA_FCN_PROTO (sla_float, float)
 
 SLA_FCN_PROTO (sla_double, double)
 
 SLA_FCN_PROTO (sla_int, int)
 
 SLA_FCN_PROTO (sla_short, short)
 
 SLA_FCN_PROTO (sla_long, long)
 
 SLA_FCN_PROTO (sla_uint, unsigned int)
 
 SLA_FCN_PROTO (sla_ushort, unsigned short)
 
 SLA_FCN_PROTO (sla_ulong, unsigned long)
 
 SLA_FCN_PROTO (sla_char, char)
 

Macro Definition Documentation

#define ARGVCONST

Definition at line 50 of file sla.h.

#define SLA_FCN_PROTO (   N,
 
)
Value:
ROSE_UTIL_API int N( int *argc \
, ARGVCONST char **argv \
, const char *flind \
, const char *assop \
, const char *pname \
, T *value \
, int argd /* no default argument */ \
)

Definition at line 89 of file sla.h.

#define SLA_FCN_BEGIN (   N,
 
)    SLA_FCN_PROTO(N,T)

Definition at line 113 of file sla.h.

#define SLA_MOD (   M)
Value:
ARGVCONST char **rr, eol='\0'; \
int i, nvalue; \
rr = (ARGVCONST char**)malloc( (*argc)*sizeof(ARGVCONST char*) ); \
for ( i=0; i<*argc; i++ ) rr[i] = &eol; \
nvalue = sla_str( argc, argv, flind, assop, pname, rr, argd ); \
if ( nvalue > 0 && value != NULL ) { \
if ( *pname == '*' ) { \
for ( i=0; i<nvalue; i++ ) M( value+i, rr[i] ); \
} \
else { \
for ( i=0; i<nvalue; i++ ) M( value , rr[i] ); \
} \
} \
free(rr); \
return nvalue;

Definition at line 141 of file sla.h.

#define SLA_CNV (   C)
Value:
ARGVCONST char **rr, eol='\0'; \
int i, nvalue; \
rr = (ARGVCONST char**)malloc( (*argc)*sizeof(ARGVCONST char*) ); \
for ( i=0; i<*argc; i++ ) rr[i] = &eol; \
nvalue = sla_str( argc, argv, flind, assop, pname, rr, argd ); \
if ( nvalue > 0 && value != NULL ) { \
if ( *pname == '*' ) { \
for ( i=0; i<nvalue; i++ ) value[i] = C(rr[i]); \
} \
else { \
for ( i=0; i<nvalue; i++ ) value[0] = C(rr[i]); \
} \
} \
free(rr); \
return nvalue;

Definition at line 181 of file sla.h.

Function Documentation

ROSE_UTIL_API void sla_set_debug ( int  d)
ROSE_UTIL_API int sla_none ( int *  argc,
ARGVCONST char **  argv,
const char *  flind,
const char *  assop,
const char *  pname,
int  argd 
)
SLA_FCN_PROTO ( sla_str  ,
ARGVCONST char *   
)
SLA_FCN_PROTO ( sla_float  ,
float   
)
SLA_FCN_PROTO ( sla_double  ,
double   
)
SLA_FCN_PROTO ( sla_int  ,
int   
)
SLA_FCN_PROTO ( sla_short  ,
short   
)
SLA_FCN_PROTO ( sla_long  ,
long   
)
SLA_FCN_PROTO ( sla_uint  ,
unsigned  int 
)
SLA_FCN_PROTO ( sla_ushort  ,
unsigned  short 
)
SLA_FCN_PROTO ( sla_ulong  ,
unsigned  long 
)
SLA_FCN_PROTO ( sla_char  ,
char   
)