renamed some functions, variables, definitions, etc to shorten names.
- renamed global to gbl - renamed local to lcl
This commit is contained in:
@ -594,23 +594,23 @@ public:
|
||||
|
||||
enum Global
|
||||
{
|
||||
GBL_ARGC = QSE_AWK_GLOBAL_ARGC,
|
||||
GBL_ARGV = QSE_AWK_GLOBAL_ARGV,
|
||||
GBL_CONVFMT = QSE_AWK_GLOBAL_CONVFMT,
|
||||
GBL_FILENAME = QSE_AWK_GLOBAL_FILENAME,
|
||||
GBL_FNR = QSE_AWK_GLOBAL_FNR,
|
||||
GBL_FS = QSE_AWK_GLOBAL_FS,
|
||||
GBL_IGNORECASE = QSE_AWK_GLOBAL_IGNORECASE,
|
||||
GBL_NF = QSE_AWK_GLOBAL_NF,
|
||||
GBL_NR = QSE_AWK_GLOBAL_NR,
|
||||
GBL_OFILENAME = QSE_AWK_GLOBAL_OFILENAME,
|
||||
GBL_OFMT = QSE_AWK_GLOBAL_OFMT,
|
||||
GBL_OFS = QSE_AWK_GLOBAL_OFS,
|
||||
GBL_ORS = QSE_AWK_GLOBAL_ORS,
|
||||
GBL_RLENGTH = QSE_AWK_GLOBAL_RLENGTH,
|
||||
GBL_RS = QSE_AWK_GLOBAL_RS,
|
||||
GBL_RSTART = QSE_AWK_GLOBAL_RSTART,
|
||||
GBL_SUBSEP = QSE_AWK_GLOBAL_SUBSEP
|
||||
GBL_ARGC = QSE_AWK_GBL_ARGC,
|
||||
GBL_ARGV = QSE_AWK_GBL_ARGV,
|
||||
GBL_CONVFMT = QSE_AWK_GBL_CONVFMT,
|
||||
GBL_FILENAME = QSE_AWK_GBL_FILENAME,
|
||||
GBL_FNR = QSE_AWK_GBL_FNR,
|
||||
GBL_FS = QSE_AWK_GBL_FS,
|
||||
GBL_IGNORECASE = QSE_AWK_GBL_IGNORECASE,
|
||||
GBL_NF = QSE_AWK_GBL_NF,
|
||||
GBL_NR = QSE_AWK_GBL_NR,
|
||||
GBL_OFILENAME = QSE_AWK_GBL_OFILENAME,
|
||||
GBL_OFMT = QSE_AWK_GBL_OFMT,
|
||||
GBL_OFS = QSE_AWK_GBL_OFS,
|
||||
GBL_ORS = QSE_AWK_GBL_ORS,
|
||||
GBL_RLENGTH = QSE_AWK_GBL_RLENGTH,
|
||||
GBL_RS = QSE_AWK_GBL_RS,
|
||||
GBL_RSTART = QSE_AWK_GBL_RSTART,
|
||||
GBL_SUBSEP = QSE_AWK_GBL_SUBSEP
|
||||
};
|
||||
|
||||
/** Represents the execution context */
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include <qse/cmn/map.h>
|
||||
#include <qse/cmn/str.h>
|
||||
|
||||
/****o* awk/awk interpreter
|
||||
/****o* AWK/AWK Interpreter
|
||||
* DESCRIPTION
|
||||
* The library includes an AWK interpreter that can be embedded into other
|
||||
* applications or can run stand-alone.
|
||||
@ -33,8 +33,22 @@
|
||||
******
|
||||
*/
|
||||
|
||||
/****t* AWK/qse_awk_t
|
||||
* NAME
|
||||
* qse_awk_t - define an AWK type
|
||||
* SYNOPSIS
|
||||
*/
|
||||
typedef struct qse_awk_t qse_awk_t;
|
||||
/******/
|
||||
|
||||
/****t* AWK/qse_awk_rtx_t
|
||||
* NAME
|
||||
* qse_awk_rtx_t - define an AWK runtime context type
|
||||
* SYNOPSIS
|
||||
*/
|
||||
typedef struct qse_awk_rtx_t qse_awk_rtx_t; /* (R)untime con(T)e(X)t */
|
||||
/******/
|
||||
|
||||
typedef struct qse_awk_val_t qse_awk_val_t;
|
||||
typedef struct qse_awk_eio_t qse_awk_eio_t; /* (E)xternal (IO) */
|
||||
|
||||
@ -434,35 +448,35 @@ enum qse_awk_eio_mode_t
|
||||
QSE_AWK_EIO_CONSOLE_WRITE = 1
|
||||
};
|
||||
|
||||
enum qse_awk_global_id_t
|
||||
enum qse_awk_gbl_id_t
|
||||
{
|
||||
/* this table should match gtab in parse.c.
|
||||
* in addition, qse_awk_rtx_setglobal also counts
|
||||
* in addition, qse_awk_rtx_setgbl also counts
|
||||
* on the order of these values */
|
||||
|
||||
QSE_AWK_GLOBAL_ARGC,
|
||||
QSE_AWK_GLOBAL_ARGV,
|
||||
QSE_AWK_GLOBAL_CONVFMT,
|
||||
QSE_AWK_GLOBAL_FILENAME,
|
||||
QSE_AWK_GLOBAL_FNR,
|
||||
QSE_AWK_GLOBAL_FS,
|
||||
QSE_AWK_GLOBAL_IGNORECASE,
|
||||
QSE_AWK_GLOBAL_NF,
|
||||
QSE_AWK_GLOBAL_NR,
|
||||
QSE_AWK_GLOBAL_OFILENAME,
|
||||
QSE_AWK_GLOBAL_OFMT,
|
||||
QSE_AWK_GLOBAL_OFS,
|
||||
QSE_AWK_GLOBAL_ORS,
|
||||
QSE_AWK_GLOBAL_RLENGTH,
|
||||
QSE_AWK_GLOBAL_RS,
|
||||
QSE_AWK_GLOBAL_RSTART,
|
||||
QSE_AWK_GLOBAL_SUBSEP,
|
||||
QSE_AWK_GBL_ARGC,
|
||||
QSE_AWK_GBL_ARGV,
|
||||
QSE_AWK_GBL_CONVFMT,
|
||||
QSE_AWK_GBL_FILENAME,
|
||||
QSE_AWK_GBL_FNR,
|
||||
QSE_AWK_GBL_FS,
|
||||
QSE_AWK_GBL_IGNORECASE,
|
||||
QSE_AWK_GBL_NF,
|
||||
QSE_AWK_GBL_NR,
|
||||
QSE_AWK_GBL_OFILENAME,
|
||||
QSE_AWK_GBL_OFMT,
|
||||
QSE_AWK_GBL_OFS,
|
||||
QSE_AWK_GBL_ORS,
|
||||
QSE_AWK_GBL_RLENGTH,
|
||||
QSE_AWK_GBL_RS,
|
||||
QSE_AWK_GBL_RSTART,
|
||||
QSE_AWK_GBL_SUBSEP,
|
||||
|
||||
/* these are not not the actual IDs and are used internally only
|
||||
* Make sure you update these values properly if you add more
|
||||
* ID definitions, however */
|
||||
QSE_AWK_MIN_GLOBAL_ID = QSE_AWK_GLOBAL_ARGC,
|
||||
QSE_AWK_MAX_GLOBAL_ID = QSE_AWK_GLOBAL_SUBSEP
|
||||
QSE_AWK_MIN_GBL_ID = QSE_AWK_GBL_ARGC,
|
||||
QSE_AWK_MAX_GBL_ID = QSE_AWK_GBL_SUBSEP
|
||||
};
|
||||
|
||||
enum qse_awk_val_type_t
|
||||
@ -485,12 +499,12 @@ enum qse_awk_val_ref_id_t
|
||||
/* keep these items in the same order as corresponding items
|
||||
* in tree.h */
|
||||
QSE_AWK_VAL_REF_NAMED,
|
||||
QSE_AWK_VAL_REF_GLOBAL,
|
||||
QSE_AWK_VAL_REF_LOCAL,
|
||||
QSE_AWK_VAL_REF_GBL,
|
||||
QSE_AWK_VAL_REF_LCL,
|
||||
QSE_AWK_VAL_REF_ARG,
|
||||
QSE_AWK_VAL_REF_NAMEDIDX,
|
||||
QSE_AWK_VAL_REF_GLOBALIDX,
|
||||
QSE_AWK_VAL_REF_LOCALIDX,
|
||||
QSE_AWK_VAL_REF_GBLIDX,
|
||||
QSE_AWK_VAL_REF_LCLIDX,
|
||||
QSE_AWK_VAL_REF_ARGIDX,
|
||||
QSE_AWK_VAL_REF_POS
|
||||
};
|
||||
@ -618,7 +632,7 @@ extern qse_awk_val_t* qse_awk_val_zero;
|
||||
/** represents a numeric value 1 */
|
||||
extern qse_awk_val_t* qse_awk_val_one;
|
||||
|
||||
/****f* awk/qse_awk_open
|
||||
/****f* AWK/qse_awk_open
|
||||
* NAME
|
||||
* qse_awk_open - create an awk object
|
||||
* DESCRIPTION
|
||||
@ -637,7 +651,7 @@ qse_awk_t* qse_awk_open (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_close
|
||||
/****f* AWK/qse_awk_close
|
||||
* NAME
|
||||
* qse_awk_close - destroy an awk object
|
||||
* DESCRIPTION
|
||||
@ -653,7 +667,7 @@ int qse_awk_close (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_getmmgr
|
||||
/****f* AWK/qse_awk_getmmgr
|
||||
* NAME
|
||||
* qse_awk_getmmgr - get the memory manager
|
||||
* DESCRIPTION
|
||||
@ -665,7 +679,7 @@ qse_mmgr_t* qse_awk_getmmgr (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_setmmgr
|
||||
/****f* AWK/qse_awk_setmmgr
|
||||
* NAME
|
||||
* qse_awk_setmmgr - set the extension
|
||||
* DESCRIPTION
|
||||
@ -680,7 +694,7 @@ void qse_awk_setmmgr (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_getxtn
|
||||
/****f* AWK/qse_awk_getxtn
|
||||
* NAME
|
||||
* qse_awk_getxtn - get the extension
|
||||
* DESCRIPTION
|
||||
@ -695,7 +709,7 @@ void* qse_awk_getxtn (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_getccls
|
||||
/****f* AWK/qse_awk_getccls
|
||||
* NAME
|
||||
* qse_awk_getccls - get a character classifier
|
||||
* SYNOPSIS
|
||||
@ -705,7 +719,7 @@ qse_ccls_t* qse_awk_getccls (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_setccls
|
||||
/****f* AWK/qse_awk_setccls
|
||||
* NAME
|
||||
* qse_awk_setccls - set the character classfier
|
||||
* SYNOPSIS
|
||||
@ -716,7 +730,7 @@ void qse_awk_setccls (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_getprmfns
|
||||
/****f* AWK/qse_awk_getprmfns
|
||||
* NAME
|
||||
* qse_awk_getprmfns - get primitive functions
|
||||
* SYNOPSIS
|
||||
@ -726,7 +740,7 @@ qse_awk_prmfns_t* qse_awk_getprmfns (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_setprmfns
|
||||
/****f* AWK/qse_awk_setprmfns
|
||||
* NAME
|
||||
* qse_awk_setprmfns - set primitive functions
|
||||
* SYNOPSIS
|
||||
@ -737,7 +751,7 @@ void qse_awk_setprmfns (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_clear
|
||||
/****f* AWK/qse_awk_clear
|
||||
* NAME
|
||||
* qse_awk_clear - clear a qse_awk_t object
|
||||
* DESCRIPTION
|
||||
@ -753,7 +767,7 @@ int qse_awk_clear (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_geterrstr
|
||||
/****f* AWK/qse_awk_geterrstr
|
||||
* NAME
|
||||
* qse_awk_geterrstr - get a format string for an error
|
||||
* DESCRIPTION
|
||||
@ -767,7 +781,7 @@ const qse_char_t* qse_awk_geterrstr (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_seterrstr
|
||||
/****f* AWK/qse_awk_seterrstr
|
||||
* NAME
|
||||
* qse_awk_geterrstr - set a format string for an error
|
||||
* DESCRIPTION
|
||||
@ -886,34 +900,74 @@ int qse_awk_setword (
|
||||
qse_size_t nlen
|
||||
);
|
||||
|
||||
/****f* awk/qse_awk_addglobal
|
||||
/****f* AWK/qse_awk_addgbl
|
||||
* NAME
|
||||
* qse_awk_addglobal - add an intrinsic global variable.
|
||||
* qse_awk_addgbl - add an intrinsic global variable.
|
||||
* RETURN
|
||||
* The qse_awk_addglobal() function returns the ID of the global variable
|
||||
* The qse_awk_addgbl() function returns the ID of the global variable
|
||||
* added on success and -1 on failure.
|
||||
* SYNOPSIS
|
||||
*/
|
||||
int qse_awk_addglobal (
|
||||
int qse_awk_addgbl (
|
||||
qse_awk_t* awk,
|
||||
const qse_char_t* name,
|
||||
qse_size_t len
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_delglobal
|
||||
/****f* AWK/qse_awk_delgbl
|
||||
* NAME
|
||||
* qse_awk_delglobal - delete an instrinsic global variable.
|
||||
* qse_awk_delgbl - delete an instrinsic global variable.
|
||||
* SYNOPSIS
|
||||
*/
|
||||
int qse_awk_delglobal (
|
||||
int qse_awk_delgbl (
|
||||
qse_awk_t* awk,
|
||||
const qse_char_t* name,
|
||||
qse_size_t len
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_parse
|
||||
/****f* AWK/qse_awk_addfnc
|
||||
* NAME
|
||||
* qse_awk_addfnc - add an intrinsic function
|
||||
* SYNOPSIS
|
||||
*/
|
||||
void* qse_awk_addfnc (
|
||||
qse_awk_t* awk,
|
||||
const qse_char_t* name,
|
||||
qse_size_t name_len,
|
||||
int when_valid,
|
||||
qse_size_t min_args,
|
||||
qse_size_t max_args,
|
||||
const qse_char_t* arg_spec,
|
||||
int (*handler)(qse_awk_rtx_t*,const qse_char_t*,qse_size_t)
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* AWK/qse_awk_delfnc
|
||||
* NAME
|
||||
* qse_awk_delfnc - delete an intrinsic function
|
||||
* SYNOPSIS
|
||||
*/
|
||||
int qse_awk_delfnc (
|
||||
qse_awk_t* awk,
|
||||
const qse_char_t* name,
|
||||
qse_size_t len
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* AWK/qse_awk_clrfnc
|
||||
* NAME
|
||||
* qse_awk_clrfnc - delete all intrinsic functions
|
||||
* SYNOPSIS
|
||||
*/
|
||||
void qse_awk_clrfnc (
|
||||
qse_awk_t* awk
|
||||
);
|
||||
/*****/
|
||||
|
||||
|
||||
/****f* AWK/qse_awk_parse
|
||||
* NAME
|
||||
* qse_awk_parse - parse source code
|
||||
* SYNOPSIS
|
||||
@ -924,43 +978,7 @@ int qse_awk_parse (
|
||||
);
|
||||
/******/
|
||||
|
||||
|
||||
/****f* awk/qse_awk_opensimple
|
||||
* NAME
|
||||
* qse_awk_opensimple - create an awk object
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_awk_t* qse_awk_opensimple (
|
||||
qse_size_t xtnsize /* size of extension area in bytes */
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_parsesimple
|
||||
* NAME
|
||||
* qse_awk_parsesimple - parse source code
|
||||
* SYNOPSIS
|
||||
*/
|
||||
int qse_awk_parsesimple (
|
||||
qse_awk_t* awk,
|
||||
const void* isp /* source file names or source string */,
|
||||
int ist /* QSE_AWK_PARSE_FILES, QSE_AWK_PARSE_STRING */,
|
||||
const qse_char_t* osf /* an output source file name */
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_runsimple
|
||||
* NAME
|
||||
* qse_awk_runsimple - run a parsed program
|
||||
* SYNOPSIS
|
||||
*/
|
||||
int qse_awk_runsimple (
|
||||
qse_awk_t* awk,
|
||||
qse_char_t** icf /* input console files */,
|
||||
qse_awk_runcbs_t* cbs /* callbacks */
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_run
|
||||
/****f* AWK/qse_awk_run
|
||||
* NAME
|
||||
* qse_awk_run - execute a parsed program
|
||||
* DESCRIPTION
|
||||
@ -987,29 +1005,126 @@ int qse_awk_run (
|
||||
);
|
||||
/******/
|
||||
|
||||
/* functions to manipulate intrinsic functions */
|
||||
void* qse_awk_addfnc (
|
||||
/****f* AWK/qse_awk_opensimple
|
||||
* NAME
|
||||
* qse_awk_opensimple - create an awk object
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_awk_t* qse_awk_opensimple (
|
||||
qse_size_t xtnsize /* size of extension area in bytes */
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* AWK/qse_awk_parsesimple
|
||||
* NAME
|
||||
* qse_awk_parsesimple - parse source code
|
||||
* SYNOPSIS
|
||||
*/
|
||||
int qse_awk_parsesimple (
|
||||
qse_awk_t* awk,
|
||||
const qse_char_t* name,
|
||||
qse_size_t name_len,
|
||||
int when_valid,
|
||||
qse_size_t min_args,
|
||||
qse_size_t max_args,
|
||||
const qse_char_t* arg_spec,
|
||||
int (*handler)(qse_awk_rtx_t*,const qse_char_t*,qse_size_t)
|
||||
const void* isp /* source file names or source string */,
|
||||
int ist /* QSE_AWK_PARSE_FILES, QSE_AWK_PARSE_STRING */,
|
||||
const qse_char_t* osf /* an output source file name */
|
||||
);
|
||||
/******/
|
||||
|
||||
int qse_awk_delfnc (
|
||||
/****f* AWK/qse_awk_runsimple
|
||||
* NAME
|
||||
* qse_awk_runsimple - run a parsed program
|
||||
* SYNOPSIS
|
||||
*/
|
||||
int qse_awk_runsimple (
|
||||
qse_awk_t* awk,
|
||||
const qse_char_t* name,
|
||||
qse_size_t len
|
||||
qse_char_t** icf /* input console files */,
|
||||
qse_awk_runcbs_t* cbs /* callbacks */
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* AWK/qse_awk_alloc
|
||||
* NAME
|
||||
* qse_awk_alloc - allocate dynamic memory
|
||||
* RETURN
|
||||
* the pointer to the memory space allocated on success, QSE_NULL on failure
|
||||
* SYNOPSIS
|
||||
*/
|
||||
void* qse_awk_alloc (
|
||||
qse_awk_t* awk /* the pointer to a qse_awk_t instance */,
|
||||
qse_size_t size /* the size of memory to allocate in bytes */
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* AWK/qse_awk_free
|
||||
* NAME
|
||||
* qse_awk_free - free dynamic memory
|
||||
* SYNOPSIS
|
||||
*/
|
||||
void qse_awk_free (
|
||||
qse_awk_t* awk /* the pointer to a qse_awk_t instance */,
|
||||
void* ptr /* the pointer to the memory space to free */
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* AWK/qse_awk_strdup
|
||||
* NAME
|
||||
* qse_awk_strdup - duplicate a null-terminated string
|
||||
* DESCRIPTION
|
||||
* The qse_awk_strdup() function is used to duplicate a string using
|
||||
* the memory manager used by the associated qse_awk_t instance.
|
||||
* The new string should be freed using the qse_awk_free() function.
|
||||
* RETURN
|
||||
* The qse_awk_strdup() function returns the pointer to a new string which
|
||||
* is a duplicate of the string s. It returns QSE_NULL on failure.
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_char_t* qse_awk_strdup (
|
||||
qse_awk_t* awk /* the pointer to a qse_awk_t instance */,
|
||||
const qse_char_t* str /* the pointer to a string */
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* AWK/qse_awk_strxdup
|
||||
* NAME
|
||||
* qse_awk_strxdup - duplicate a length-delimited string
|
||||
* DESCRIPTION
|
||||
* The qse_awk_strxdup() function is used to duplicate a string whose length
|
||||
* is as long as len characters using the memory manager used by the
|
||||
* qse_awk_t instance. The new string should be freed using the qse_awk_free()
|
||||
* function.
|
||||
* RETURN
|
||||
* The qse_awk_strxdup() function returns the pointer to a new string which
|
||||
* is a duplicate of the string s on success. It returns QSE_NULL on failure.
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_char_t* qse_awk_strxdup (
|
||||
qse_awk_t* awk,
|
||||
const qse_char_t* str,
|
||||
qse_size_t len
|
||||
);
|
||||
/******/
|
||||
|
||||
qse_long_t qse_awk_strxtolong (
|
||||
qse_awk_t* awk,
|
||||
const qse_char_t* str,
|
||||
qse_size_t len,
|
||||
int base,
|
||||
const qse_char_t** endptr
|
||||
);
|
||||
|
||||
void qse_awk_clrfnc (
|
||||
qse_awk_t* awk
|
||||
qse_real_t qse_awk_strxtoreal (
|
||||
qse_awk_t* awk,
|
||||
const qse_char_t* str,
|
||||
qse_size_t len,
|
||||
const qse_char_t** endptr
|
||||
);
|
||||
|
||||
/****f* awk/qse_awk_stopall
|
||||
qse_size_t qse_awk_longtostr (
|
||||
qse_long_t value,
|
||||
int radix,
|
||||
const qse_char_t* prefix,
|
||||
qse_char_t* buf,
|
||||
qse_size_t size
|
||||
);
|
||||
/****f* AWK/qse_awk_stopall
|
||||
* NAME
|
||||
* qse_awk_stopall - stop all runtime contexts
|
||||
* DESCRIPTION
|
||||
@ -1022,7 +1137,7 @@ void qse_awk_stopall (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_shouldstop
|
||||
/****f* AWK/qse_awk_shouldstop
|
||||
* NAME
|
||||
* qse_awk_shouldstop - test if qse_awk_rtx_stop() is called
|
||||
* SYNOPSIS
|
||||
@ -1032,7 +1147,7 @@ qse_bool_t qse_awk_rtx_shouldstop (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_rtx_stop
|
||||
/****f* AWK/qse_awk_rtx_stop
|
||||
* NAME
|
||||
* qse_awk_rtx_stop - stop a runtime context
|
||||
* DESCRIPTION
|
||||
@ -1045,7 +1160,7 @@ void qse_awk_rtx_stop (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_rtx_getnargs
|
||||
/****f* AWK/qse_awk_rtx_getnargs
|
||||
* NAME
|
||||
* qse_awk_rtx_getnargs - get the number of arguments passed to qse_awk_run()
|
||||
* SYNOPSIS
|
||||
@ -1055,7 +1170,7 @@ qse_size_t qse_awk_rtx_getnargs (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_rtx_getarg
|
||||
/****f* AWK/qse_awk_rtx_getarg
|
||||
* NAME
|
||||
* qse_awk_rtx_getarg - get an argument passed to qse_awk_run
|
||||
* SYNOPSIS
|
||||
@ -1066,37 +1181,37 @@ qse_awk_val_t* qse_awk_rtx_getarg (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_rtx_getglobal
|
||||
/****f* AWK/qse_awk_rtx_getgbl
|
||||
* NAME
|
||||
* qse_awk_rtx_getglobal - gets the value of a global variable
|
||||
* qse_awk_rtx_getgbl - gets the value of a global variable
|
||||
* INPUTS
|
||||
* * rtx - a runtime context
|
||||
* * id - a global variable ID. It is one of the predefined global
|
||||
* variable IDs or a value returned by qse_awk_addglobal().
|
||||
* variable IDs or a value returned by qse_awk_addgbl().
|
||||
* RETURN
|
||||
* The pointer to a value is returned. This function never fails
|
||||
* so long as the ID is valid. Otherwise, you may fall into trouble.
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_awk_val_t* qse_awk_rtx_getglobal (
|
||||
qse_awk_val_t* qse_awk_rtx_getgbl (
|
||||
qse_awk_rtx_t* rtx,
|
||||
int id
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_rtx_setglobal
|
||||
/****f* AWK/qse_awk_rtx_setgbl
|
||||
* NAME
|
||||
* qse_awk_rtx_setglobal - set the value of a global variable
|
||||
* qse_awk_rtx_setgbl - set the value of a global variable
|
||||
* SYNOPSIS
|
||||
*/
|
||||
int qse_awk_rtx_setglobal (
|
||||
int qse_awk_rtx_setgbl (
|
||||
qse_awk_rtx_t* rtx,
|
||||
int id,
|
||||
qse_awk_val_t* val
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_rtx_setretval
|
||||
/****f* AWK/qse_awk_rtx_setretval
|
||||
* NAME
|
||||
* qse_awk_rtx_setretval - set the return value
|
||||
* DESCRIPTION
|
||||
@ -1114,7 +1229,7 @@ void qse_awk_rtx_setretval (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_rtx_setfilename
|
||||
/****f* AWK/qse_awk_rtx_setfilename
|
||||
* NAME
|
||||
* qse_awk_rtx_setfilename - set FILENAME
|
||||
* SYNOPSIS
|
||||
@ -1126,7 +1241,7 @@ int qse_awk_rtx_setfilename (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_rtx_setofilename
|
||||
/****f* AWK/qse_awk_rtx_setofilename
|
||||
* NAME
|
||||
* qse_awk_rtx_setofilename - set OFILENAME
|
||||
* SYNOPSIS
|
||||
@ -1138,7 +1253,7 @@ int qse_awk_rtx_setofilename (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_rtx_getawk
|
||||
/****f* AWK/qse_awk_rtx_getawk
|
||||
* NAME
|
||||
* qse_awk_rtx_getawk - get the owning awk object
|
||||
* SYNOPSIS
|
||||
@ -1148,7 +1263,7 @@ qse_awk_t* qse_awk_rtx_getawk (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_rtx_getmmgr
|
||||
/****f* AWK/qse_awk_rtx_getmmgr
|
||||
* NAME
|
||||
* qse_awk_rtx_getmmgr - get the memory manager of a runtime context
|
||||
* SYNOPSIS
|
||||
@ -1158,7 +1273,7 @@ qse_mmgr_t* qse_awk_rtx_getmmgr (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_rtx_getdata
|
||||
/****f* AWK/qse_awk_rtx_getdata
|
||||
* NAME
|
||||
* qse_awk_rtx_getdata - get the user-specified data for a runtime context
|
||||
* SYNOPSIS
|
||||
@ -1168,7 +1283,7 @@ void* qse_awk_rtx_getdata (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_rtx_getnvmap
|
||||
/****f* AWK/qse_awk_rtx_getnvmap
|
||||
* NAME
|
||||
* qse_awk_rtx_getnvmap - get the map of named variables
|
||||
* SYNOPSIS
|
||||
@ -1178,9 +1293,9 @@ qse_map_t* qse_awk_rtx_getnvmap (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_rtx_geterrnum
|
||||
/****f* AWK/qse_awk_rtx_geterrnum
|
||||
* NAME
|
||||
* qse_awk_rtx_geterrnum - get the error number of a runtime context
|
||||
* qse_awk_rtx_geterrnum - get an error code of a runtime context
|
||||
* SYNOPSIS
|
||||
*/
|
||||
int qse_awk_rtx_geterrnum (
|
||||
@ -1237,91 +1352,6 @@ int qse_awk_rtx_setrec (
|
||||
qse_size_t len
|
||||
);
|
||||
|
||||
/****f* awk/qse_awk_alloc
|
||||
* NAME
|
||||
* qse_awk_alloc - allocate dynamic memory
|
||||
* RETURN
|
||||
* the pointer to the memory area allocated on success, QSE_NULL on failure
|
||||
* SYNOPSIS
|
||||
*/
|
||||
void* qse_awk_alloc (
|
||||
qse_awk_t* awk /* the pointer to a qse_awk_t instance */,
|
||||
qse_size_t size /* the size of memory to allocate in bytes */
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_free
|
||||
* NAME
|
||||
* qse_awk_free - free dynamic memory
|
||||
* SYNOPSIS
|
||||
*/
|
||||
void qse_awk_free (
|
||||
qse_awk_t* awk /* the pointer to a qse_awk_t instance */,
|
||||
void* ptr /* the pointer to the memory area to free */
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_strdup
|
||||
* NAME
|
||||
* qse_awk_strdup - duplicate a null-terminated string
|
||||
* DESCRIPTION
|
||||
* The qse_awk_strdup() function is used to duplicate a string using
|
||||
* the memory manager used by the associated qse_awk_t instance.
|
||||
* The new string should be freed using the qse_awk_free() function.
|
||||
* RETURN
|
||||
* The qse_awk_strdup() function returns the pointer to a new string which
|
||||
* is a duplicate of the string s. It returns QSE_NULL on failure.
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_char_t* qse_awk_strdup (
|
||||
qse_awk_t* awk /* the pointer to a qse_awk_t instance */,
|
||||
const qse_char_t* str /* the pointer to a string */
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_strxdup
|
||||
* NAME
|
||||
* qse_awk_strxdup - duplicate a length-delimited string
|
||||
* DESCRIPTION
|
||||
* The qse_awk_strxdup() function is used to duplicate a string whose length
|
||||
* is as long as len characters using the memory manager used by the
|
||||
* qse_awk_t instance. The new string should be freed using the qse_awk_free()
|
||||
* function.
|
||||
* RETURN
|
||||
* The qse_awk_strxdup() function returns the pointer to a new string which
|
||||
* is a duplicate of the string s on success. It returns QSE_NULL on failure.
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_char_t* qse_awk_strxdup (
|
||||
qse_awk_t* awk,
|
||||
const qse_char_t* str,
|
||||
qse_size_t len
|
||||
);
|
||||
/******/
|
||||
|
||||
qse_long_t qse_awk_strxtolong (
|
||||
qse_awk_t* awk,
|
||||
const qse_char_t* str,
|
||||
qse_size_t len,
|
||||
int base,
|
||||
const qse_char_t** endptr
|
||||
);
|
||||
|
||||
qse_real_t qse_awk_strxtoreal (
|
||||
qse_awk_t* awk,
|
||||
const qse_char_t* str,
|
||||
qse_size_t len,
|
||||
const qse_char_t** endptr
|
||||
);
|
||||
|
||||
qse_size_t qse_awk_longtostr (
|
||||
qse_long_t value,
|
||||
int radix,
|
||||
const qse_char_t* prefix,
|
||||
qse_char_t* buf,
|
||||
qse_size_t size
|
||||
);
|
||||
|
||||
/* value manipulation functions */
|
||||
qse_awk_val_t* qse_awk_rtx_makeintval (
|
||||
qse_awk_rtx_t* rtx,
|
||||
@ -1413,7 +1443,7 @@ qse_char_t* qse_awk_rtx_valtostr (
|
||||
qse_size_t* len
|
||||
);
|
||||
|
||||
/****f* awk/qse_awk_rtx_valtonum
|
||||
/****f* AWK/qse_awk_rtx_valtonum
|
||||
* NAME
|
||||
* qse_awk_rtx_valtonum - convert a value to a number
|
||||
* DESCRIPTION
|
||||
@ -1443,7 +1473,7 @@ int qse_awk_rtx_valtonum (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* awk/qse_awk_rtx_strtonum
|
||||
/****f* AWK/qse_awk_rtx_strtonum
|
||||
* NAME
|
||||
* qse_awk_rtx_strtonum - convert a string to a number
|
||||
* SYNOPSIS
|
||||
|
@ -68,15 +68,13 @@ qse_size_t qse_mblen (
|
||||
qse_size_t mblen
|
||||
);
|
||||
|
||||
/****f* qse.cmn.chr/qse_mbtowc
|
||||
/****f* Common/qse_mbtowc
|
||||
* NAME
|
||||
* qse_mbtowc - convert a multibyte sequence to a wide character.
|
||||
*
|
||||
* RETURN
|
||||
* The qse_mbtowc() function returns 0 if an invalid multibyte sequence is
|
||||
* detected, mblen + 1 if the sequence is incomplete. It returns the number
|
||||
* of bytes processed to form a wide character.
|
||||
*
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_size_t qse_mbtowc (
|
||||
@ -86,15 +84,13 @@ qse_size_t qse_mbtowc (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.chr/qse_wctomb
|
||||
/****f* Common/qse_wctomb
|
||||
* NAME
|
||||
* qse_wctomb - convert a wide character to a multibyte sequence
|
||||
*
|
||||
* RETURN
|
||||
* The qse_wctomb() functions returns 0 if the wide character is illegal,
|
||||
* mblen + 1 if mblen is not large enough to hold the multibyte sequence.
|
||||
* On successful conversion, it returns the number of bytes in the sequence.
|
||||
*
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_size_t qse_wctomb (
|
||||
|
@ -114,7 +114,7 @@ extern "C" {
|
||||
|
||||
QSE_DEFINE_COMMON_FUNCTIONS (fio)
|
||||
|
||||
/****f* qse.cmn.fio/qse_fio_open
|
||||
/****f* Common/qse_fio_open
|
||||
* NAME
|
||||
* qse_fio_open - open a file
|
||||
*
|
||||
@ -133,7 +133,7 @@ qse_fio_t* qse_fio_open (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.fio/qse_fio_close
|
||||
/****f* Common/qse_fio_close
|
||||
* NAME
|
||||
* qse_fio_close - close a file
|
||||
*
|
||||
@ -156,7 +156,7 @@ void qse_fio_fini (
|
||||
qse_fio_t* fio
|
||||
);
|
||||
|
||||
/****f* qse.cmn.fio/qse_fio_gethandle
|
||||
/****f* Common/qse_fio_gethandle
|
||||
* NAME
|
||||
* qse_fio_gethandle - get the native file handle
|
||||
* SYNOPSIS
|
||||
@ -166,7 +166,7 @@ qse_fio_hnd_t qse_fio_gethandle (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.fio/qse_fio_sethandle
|
||||
/****f* Common/qse_fio_sethandle
|
||||
* NAME
|
||||
* qse_fio_sethandle - set the file handle
|
||||
* WARNING
|
||||
@ -192,7 +192,7 @@ int qse_fio_truncate (
|
||||
qse_fio_off_t size
|
||||
);
|
||||
|
||||
/****f* qse.cmn.fio/qse_fio_read
|
||||
/****f* Common/qse_fio_read
|
||||
* NAME
|
||||
* qse_fio_read - read data
|
||||
* SYNOPSIS
|
||||
@ -204,7 +204,7 @@ qse_ssize_t qse_fio_read (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.fio/qse_fio_write
|
||||
/****f* Common/qse_fio_write
|
||||
* NAME
|
||||
* qse_fio_write - write data
|
||||
*
|
||||
@ -223,7 +223,7 @@ qse_ssize_t qse_fio_write (
|
||||
/******/
|
||||
|
||||
|
||||
/****f* qse.cmn.fio/qse_fio_flush
|
||||
/****f* Common/qse_fio_flush
|
||||
* NAME
|
||||
* qse_fio_flush - flush data
|
||||
*
|
||||
@ -238,7 +238,7 @@ qse_ssize_t qse_fio_flush (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.fio/qse_fio_chmod
|
||||
/****f* Common/qse_fio_chmod
|
||||
* NAME
|
||||
* qse_fio_chmod - change the file mode
|
||||
* SYNOPSIS
|
||||
@ -249,7 +249,7 @@ int qse_fio_chmod (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.fio/qse_fio_sync
|
||||
/****f* Common/qse_fio_sync
|
||||
* NAME
|
||||
* qse_fio_sync - synchronize file contents into storage media
|
||||
* DESCRIPTION
|
||||
|
@ -22,12 +22,12 @@
|
||||
#include <qse/types.h>
|
||||
#include <qse/macros.h>
|
||||
|
||||
/****o* qse.cmn.lda/linear dynamic array
|
||||
/****o* Common/linear dynamic array
|
||||
* DESCRIPTION
|
||||
* <qse/cmn/lda.h> provides a linear dynamic array. It grows as more items
|
||||
* <Common.h> provides a linear dynamic array. It grows as more items
|
||||
* are added.
|
||||
*
|
||||
* #include <qse/cmn/lda.h>
|
||||
* #include <Common.h>
|
||||
******
|
||||
*/
|
||||
|
||||
@ -62,7 +62,7 @@ typedef enum qse_lda_walk_t qse_lda_walk_t;
|
||||
|
||||
|
||||
|
||||
/****b* qse.cmn.lda/qse_lda_copier_t
|
||||
/****t* Common/qse_lda_copier_t
|
||||
* NAME
|
||||
* qse_lda_copier_t - define a node contruction callback
|
||||
*
|
||||
@ -91,7 +91,7 @@ typedef void* (*qse_lda_copier_t) (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****b* qse.cmn.lda/qse_lda_freeer_t
|
||||
/****t* Common/qse_lda_freeer_t
|
||||
* NAME
|
||||
* qse_lda_freeer_t - define a node destruction callback
|
||||
* SYNOPSIS
|
||||
@ -103,7 +103,7 @@ typedef void (*qse_lda_freeer_t) (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****t* qse.cmn.lda/qse_lda_comper_t
|
||||
/****t* Common/qse_lda_comper_t
|
||||
* NAME
|
||||
* qse_lda_comper_t - define a data comparator
|
||||
*
|
||||
@ -126,7 +126,7 @@ typedef int (*qse_lda_comper_t) (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****t* qse.cmn.lda/qse_lda_keeper_t
|
||||
/****t* Common/qse_lda_keeper_t
|
||||
* NAME
|
||||
* qse_lda_keeper_t - define a value keeper
|
||||
*
|
||||
@ -145,7 +145,7 @@ typedef void (*qse_lda_keeper_t) (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****t* qse.cmn.lda/qse_lda_sizer_t
|
||||
/****t* Common/qse_lda_sizer_t
|
||||
* NAME
|
||||
* qse_lda_sizer_t - define an array size calculator
|
||||
*
|
||||
@ -167,7 +167,7 @@ typedef qse_lda_walk_t (*qse_lda_walker_t) (
|
||||
void* arg /* user-defined data */
|
||||
);
|
||||
|
||||
/****s* qse.cmn.lda/qse_lda_t
|
||||
/****s* Common/qse_lda_t
|
||||
* NAME
|
||||
* qse_lda_t - define a linear dynamic array
|
||||
*
|
||||
@ -208,7 +208,7 @@ extern "C" {
|
||||
|
||||
QSE_DEFINE_COMMON_FUNCTIONS (lda)
|
||||
|
||||
/****f* qse.cmn.lda/qse_lda_open
|
||||
/****f* Common/qse_lda_open
|
||||
* NAME
|
||||
* qse_lda_open - create a linear dynamic array
|
||||
*
|
||||
@ -221,7 +221,7 @@ qse_lda_t* qse_lda_open (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.lda/qse_lda_close
|
||||
/****f* Common/qse_lda_close
|
||||
* NAME
|
||||
* qse_lda_close - destroy a linear dynamic array
|
||||
*
|
||||
@ -232,7 +232,7 @@ void qse_lda_close (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.lda/qse_lda_init
|
||||
/****f* Common/qse_lda_init
|
||||
* NAME
|
||||
* qse_lda_init - initialize a linear dynamic array
|
||||
*
|
||||
@ -245,7 +245,7 @@ qse_lda_t* qse_lda_init (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.lda/qse_lda_fini
|
||||
/****f* Common/qse_lda_fini
|
||||
* NAME
|
||||
* qse_lda_fini - deinitialize a linear dynamic array
|
||||
*
|
||||
@ -260,7 +260,7 @@ int qse_lda_getscale (
|
||||
qse_lda_t* lda /* a lda */
|
||||
);
|
||||
|
||||
/****f* qse.cmn.lda/qse_lda_setscale
|
||||
/****f* Common/qse_lda_setscale
|
||||
* NAME
|
||||
* qse_lda_setscale - set the scale factor
|
||||
*
|
||||
@ -285,7 +285,7 @@ qse_lda_copier_t qse_lda_getcopier (
|
||||
qse_lda_t* lda /* a lda */
|
||||
);
|
||||
|
||||
/****f* qse.cmn.lda/qse_lda_setcopier
|
||||
/****f* Common/qse_lda_setcopier
|
||||
* NAME
|
||||
* qse_lda_setcopier - specify how to clone an element
|
||||
*
|
||||
@ -309,7 +309,7 @@ qse_lda_freeer_t qse_lda_getfreeer (
|
||||
qse_lda_t* lda /* a lda */
|
||||
);
|
||||
|
||||
/****f* qse.cmn.lda/qse_lda_setfreeer
|
||||
/****f* Common/qse_lda_setfreeer
|
||||
* NAME
|
||||
* qse_lda_setfreeer - specify how to destroy an element
|
||||
*
|
||||
@ -390,7 +390,7 @@ qse_size_t qse_lda_update (
|
||||
qse_size_t dlen
|
||||
);
|
||||
|
||||
/****f* qse.cmn.lda/qse_lda_delete
|
||||
/****f* Common/qse_lda_delete
|
||||
* NAME
|
||||
* qse_lda_delete - delete data
|
||||
*
|
||||
@ -410,7 +410,7 @@ qse_size_t qse_lda_delete (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.lda/qse_lda_uplete
|
||||
/****f* Common/qse_lda_uplete
|
||||
* NAME
|
||||
* qse_lda_uplete - delete data node
|
||||
*
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include <qse/types.h>
|
||||
#include <qse/macros.h>
|
||||
|
||||
/****o* qse.cmn.map/hash map
|
||||
/****o* Common/Hash Map
|
||||
* DESCRIPTION
|
||||
* A hash map maintains buckets for key/value pairs with the same key hash
|
||||
* chained under the same bucket.
|
||||
@ -49,7 +49,7 @@ typedef struct qse_map_pair_t qse_map_pair_t;
|
||||
typedef enum qse_map_walk_t qse_map_walk_t;
|
||||
typedef enum qse_map_id_t qse_map_id_t;
|
||||
|
||||
/****b* qse.cmn.map/qse_map_copier_t
|
||||
/****t* Common/qse_map_copier_t
|
||||
* NAME
|
||||
* qse_map_copier_t - define a pair contruction callback
|
||||
* SYNOPSIS
|
||||
@ -61,7 +61,7 @@ typedef void* (*qse_map_copier_t) (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****b* qse.cmn.map/qse_map_freeer_t
|
||||
/****t* Common/qse_map_freeer_t
|
||||
* NAME
|
||||
* qse_map_freeer_t - define a key/value destruction callback
|
||||
* SYNOPSIS
|
||||
@ -80,7 +80,7 @@ typedef qse_size_t (*qse_map_hasher_t) (
|
||||
qse_size_t klen /* the length of a key in bytes */
|
||||
);
|
||||
|
||||
/****t* qse.cmn.map/qse_map_comper_t
|
||||
/****t* Common/qse_map_comper_t
|
||||
* NAME
|
||||
* qse_map_comper_t - define a key comparator
|
||||
*
|
||||
@ -103,7 +103,7 @@ typedef int (*qse_map_comper_t) (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****t* qse.cmn.map/qse_map_keeper_t
|
||||
/****t* Common/qse_map_keeper_t
|
||||
* NAME
|
||||
* qse_map_keeper_t - define a value keeper
|
||||
*
|
||||
@ -122,7 +122,7 @@ typedef void (*qse_map_keeper_t) (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****t* qse.cmn.map/qse_map_sizer_t
|
||||
/****t* Common/qse_map_sizer_t
|
||||
* NAME
|
||||
* qse_map_sizer_t - define a bucket size calculator
|
||||
*
|
||||
@ -139,7 +139,7 @@ typedef qse_size_t (*qse_map_sizer_t) (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****t* qse.cmn.map/qse_map_walker_t
|
||||
/****t* Common/qse_map_walker_t
|
||||
* NAME
|
||||
* qse_map_walker_t - define a pair visitor
|
||||
*
|
||||
@ -152,7 +152,7 @@ typedef qse_map_walk_t (*qse_map_walker_t) (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****s* qse.cmn.map/qse_map_pair_t
|
||||
/****s* Common/qse_map_pair_t
|
||||
* NAME
|
||||
* qse_map_pair_t - define a pair
|
||||
*
|
||||
@ -177,7 +177,7 @@ struct qse_map_pair_t
|
||||
};
|
||||
/*****/
|
||||
|
||||
/****s* qse.cmn.map/qse_map_t
|
||||
/****s* Common/qse_map_t
|
||||
* NAME
|
||||
* qse_map_t - define a hash map
|
||||
*
|
||||
@ -206,7 +206,7 @@ struct qse_map_t
|
||||
#define QSE_MAP_COPIER_SIMPLE ((qse_map_copier_t)1)
|
||||
#define QSE_MAP_COPIER_INLINE ((qse_map_copier_t)2)
|
||||
|
||||
/****d* qse.cmn.map/QSE_MAP_SIZE
|
||||
/****d* Common/QSE_MAP_SIZE
|
||||
* NAME
|
||||
* QSE_MAP_SIZE - get the number of pairs
|
||||
* DESCRIPTION
|
||||
@ -216,7 +216,7 @@ struct qse_map_t
|
||||
#define QSE_MAP_SIZE(m) ((m)->size)
|
||||
/*****/
|
||||
|
||||
/****d* qse.cmn.map/QSE_MAP_CAPA
|
||||
/****d* Common/QSE_MAP_CAPA
|
||||
* NAME
|
||||
* QSE_MAP_CAPA - get the capacity of a map
|
||||
*
|
||||
@ -253,7 +253,7 @@ extern "C" {
|
||||
|
||||
QSE_DEFINE_COMMON_FUNCTIONS (map)
|
||||
|
||||
/****f* qse.cmn.map/qse_map_open
|
||||
/****f* Common/qse_map_open
|
||||
* NAME
|
||||
* qse_map_open - creates a hash map
|
||||
* DESCRIPTION
|
||||
@ -280,7 +280,7 @@ qse_map_t* qse_map_open (
|
||||
/******/
|
||||
|
||||
|
||||
/****f* qse.cmn.map/qse_map_close
|
||||
/****f* Common/qse_map_close
|
||||
* NAME
|
||||
* qse_map_close - destroy a hash map
|
||||
* DESCRIPTION
|
||||
@ -317,7 +317,7 @@ int qse_map_getscale (
|
||||
qse_map_id_t id /* QSE_MAP_KEY or QSE_MAP_VAL */
|
||||
);
|
||||
|
||||
/****f* qse.cmn.map/qse_map_setscale
|
||||
/****f* Common/qse_map_setscale
|
||||
* NAME
|
||||
* qse_map_setscale - set the scale factor
|
||||
*
|
||||
@ -344,7 +344,7 @@ qse_map_copier_t qse_map_getcopier (
|
||||
qse_map_id_t id /* QSE_MAP_KEY or QSE_MAP_VAL */
|
||||
);
|
||||
|
||||
/****f* qse.cmn.map/qse_map_setcopier
|
||||
/****f* Common/qse_map_setcopier
|
||||
* NAME
|
||||
* qse_map_setcopier - specify how to clone an element
|
||||
*
|
||||
@ -370,7 +370,7 @@ qse_map_freeer_t qse_map_getfreeer (
|
||||
qse_map_id_t id /* QSE_MAP_KEY or QSE_MAP_VAL */
|
||||
);
|
||||
|
||||
/****f* qse.cmn.map/qse_map_setfreeer
|
||||
/****f* Common/qse_map_setfreeer
|
||||
* NAME
|
||||
* qse_map_setfreeer - specify how to destroy an element
|
||||
*
|
||||
@ -424,7 +424,7 @@ void qse_map_setsizer (
|
||||
qse_map_sizer_t sizer
|
||||
);
|
||||
|
||||
/****f* qse.cmn.map/qse_map_search
|
||||
/****f* Common/qse_map_search
|
||||
* NAME
|
||||
* qse_map_search - find a pair with a matching key
|
||||
* DESCRIPTION
|
||||
@ -443,7 +443,7 @@ qse_map_pair_t* qse_map_search (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.map/qse_map_upsert
|
||||
/****f* Common/qse_map_upsert
|
||||
* NAME
|
||||
* qse_map_upsert - update an existing pair or inesrt a new pair
|
||||
* DESCRIPTION
|
||||
@ -465,7 +465,7 @@ qse_map_pair_t* qse_map_upsert (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.map/qse_map_insert
|
||||
/****f* Common/qse_map_insert
|
||||
* NAME
|
||||
* qse_map_insert - insert a new pair with a key and a value
|
||||
* DESCRIPTION
|
||||
|
@ -25,7 +25,7 @@
|
||||
typedef struct qse_opt_t qse_opt_t;
|
||||
typedef struct qse_opt_lng_t qse_opt_lng_t;
|
||||
|
||||
/****t* qse.cmn.opt/qse_opt_lng_t
|
||||
/****t* Common/qse_opt_lng_t
|
||||
* NAME
|
||||
* qse_opt_lng_t - define a long option
|
||||
* SYNOPSIS
|
||||
@ -37,7 +37,7 @@ struct qse_opt_lng_t
|
||||
};
|
||||
/*****/
|
||||
|
||||
/****t* qse.cmn.opt/qse_opt_t
|
||||
/****t* Common/qse_opt_t
|
||||
* NAME
|
||||
* qse_opt_t - define a command line option table
|
||||
* SYNOPSIS
|
||||
@ -67,7 +67,7 @@ struct qse_opt_t
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/****f* qse.cmn.opt/qse_getopt
|
||||
/****f* Common/qse_getopt
|
||||
* NAME
|
||||
* qse_getopt - process command line options
|
||||
* DESCRIPTION
|
||||
|
@ -101,7 +101,7 @@ struct qse_pio_pin_t
|
||||
qse_pio_t* self;
|
||||
};
|
||||
|
||||
/****s* cmn/qse_pio_t
|
||||
/****s* Common/qse_pio_t
|
||||
* NAME
|
||||
* qse_pio_t - define an pipe IO type
|
||||
* SYNOPSIS
|
||||
@ -128,7 +128,7 @@ extern "C" {
|
||||
|
||||
QSE_DEFINE_COMMON_FUNCTIONS (pio)
|
||||
|
||||
/****f* cmn/qse_pio_open
|
||||
/****f* Common/qse_pio_open
|
||||
* NAME
|
||||
* qse_pio_open - open pipes to a child process
|
||||
*
|
||||
@ -146,7 +146,7 @@ qse_pio_t* qse_pio_open (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_pio_close
|
||||
/****f* Common/qse_pio_close
|
||||
* NAME
|
||||
* qse_pio_close - close pipes to a child process
|
||||
*
|
||||
@ -157,7 +157,7 @@ void qse_pio_close (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_pio_init
|
||||
/****f* Common/qse_pio_init
|
||||
* NAME
|
||||
* qse_pio_init - initialize pipes to a child process
|
||||
*
|
||||
@ -171,7 +171,7 @@ qse_pio_t* qse_pio_init (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_pio_fini
|
||||
/****f* Common/qse_pio_fini
|
||||
* NAME
|
||||
* qse_pio_fini - finalize pipes to a child process
|
||||
*
|
||||
@ -192,7 +192,7 @@ void qse_pio_setflags (
|
||||
int op
|
||||
);
|
||||
|
||||
/****f* cmn/qse_pio_geterrnum
|
||||
/****f* Common/qse_pio_geterrnum
|
||||
* NAME
|
||||
* qse_pio_geterrnum - get an error code
|
||||
*
|
||||
@ -203,7 +203,7 @@ qse_pio_err_t qse_pio_geterrnum (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_pio_geterrmsg
|
||||
/****f* Common/qse_pio_geterrmsg
|
||||
* NAME
|
||||
* qse_pio_geterrstr - transllate an error code to a string
|
||||
*
|
||||
@ -218,7 +218,7 @@ const qse_char_t* qse_pio_geterrstr (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_pio_gethandle
|
||||
/****f* Common/qse_pio_gethandle
|
||||
* NAME
|
||||
* qse_pio_gethandle - get native handle
|
||||
*
|
||||
@ -230,7 +230,7 @@ qse_pio_hnd_t qse_pio_gethandle (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_pio_getchild
|
||||
/****f* Common/qse_pio_getchild
|
||||
* NAME
|
||||
* qse_pio_getchild - get the PID of a child process
|
||||
*
|
||||
@ -241,7 +241,7 @@ qse_pio_pid_t qse_pio_getchild (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_pio_read
|
||||
/****f* Common/qse_pio_read
|
||||
* NAME
|
||||
* qse_pio_read - read data
|
||||
* SYNOPSIS
|
||||
@ -254,7 +254,7 @@ qse_ssize_t qse_pio_read (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_pio_write
|
||||
/****f* Common/qse_pio_write
|
||||
* NAME
|
||||
* qse_pio_write - write data
|
||||
* DESCRIPTION
|
||||
@ -270,7 +270,7 @@ qse_ssize_t qse_pio_write (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_pio_flush
|
||||
/****f* Common/qse_pio_flush
|
||||
* NAME
|
||||
* qse_pio_flush - flush data
|
||||
*
|
||||
@ -282,7 +282,7 @@ qse_ssize_t qse_pio_flush (
|
||||
);
|
||||
/*****/
|
||||
|
||||
/****f* cmn/qse_pio_end
|
||||
/****f* Common/qse_pio_end
|
||||
* NAME
|
||||
* qse_pio_end - close native handle
|
||||
*
|
||||
@ -294,7 +294,7 @@ void qse_pio_end (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_pio_wait
|
||||
/****f* Common/qse_pio_wait
|
||||
* NAME
|
||||
* qse_pio_wait - wait for a child process
|
||||
* DESCRIPTION
|
||||
@ -315,7 +315,7 @@ int qse_pio_wait (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_pio_kill
|
||||
/****f* Common/qse_pio_kill
|
||||
* NAME
|
||||
* qse_pio_kill - terminate the child process
|
||||
* NOTES
|
||||
|
@ -128,7 +128,7 @@ qse_ssize_t qse_sio_putsn (
|
||||
qse_size_t size
|
||||
);
|
||||
|
||||
/****f* qse.cmn.sio/qse_sio_getpos
|
||||
/****f* Common/qse_sio_getpos
|
||||
* NAME
|
||||
* qse_sio_getpos - get the stream position
|
||||
*
|
||||
|
@ -22,15 +22,15 @@
|
||||
#include <qse/types.h>
|
||||
#include <qse/macros.h>
|
||||
|
||||
/****o* qse.cmn.sll/singly linked list
|
||||
/****o* Common/Singly Linked List
|
||||
* DESCRIPTION
|
||||
* <qse/cmn/sll.h> provides a singly linked list
|
||||
* <qse/cmn/sll.h> provides a singly linked list.
|
||||
*
|
||||
* #include <qse/cmn/sll.h>
|
||||
******
|
||||
*/
|
||||
|
||||
/****t* qse.cmn.sll/qse_sll_walk_t
|
||||
/****t* Common/qse_sll_walk_t
|
||||
* NAME
|
||||
* qse_sll_walk_t - define return values for qse_sll_walker_t
|
||||
* SEE ALSO
|
||||
@ -48,7 +48,7 @@ typedef struct qse_sll_t qse_sll_t;
|
||||
typedef struct qse_sll_node_t qse_sll_node_t;
|
||||
typedef enum qse_sll_walk_t qse_sll_walk_t;
|
||||
|
||||
/****b* qse.cmn.sll/qse_sll_copier_t
|
||||
/****t* Common/qse_sll_copier_t
|
||||
* NAME
|
||||
* qse_sll_copier_t - define a node contruction callback
|
||||
* DESCRIPTION
|
||||
@ -74,7 +74,7 @@ typedef void* (*qse_sll_copier_t) (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****b* qse.cmn.sll/qse_sll_freeer_t
|
||||
/****t* Common/qse_sll_freeer_t
|
||||
* NAME
|
||||
* qse_sll_freeer_t - define a node destruction callback
|
||||
* SYNOPSIS
|
||||
@ -86,7 +86,7 @@ typedef void (*qse_sll_freeer_t) (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****t* qse.cmn.sll/qse_sll_comper_t
|
||||
/****t* Common/qse_sll_comper_t
|
||||
* NAME
|
||||
* qse_sll_comper_t - define a data comparator
|
||||
*
|
||||
@ -109,7 +109,7 @@ typedef int (*qse_sll_comper_t) (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****b* qse.cmn.sll/qse_sll_walker_t
|
||||
/****t* Common/qse_sll_walker_t
|
||||
* NAME
|
||||
* qse_sll_walker_t - define a list traversal callback for each node
|
||||
*
|
||||
@ -132,7 +132,7 @@ typedef qse_sll_walk_t (*qse_sll_walker_t) (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****s* qse.cmn.sll/qse_sll_t
|
||||
/****s* Common/qse_sll_t
|
||||
* NAME
|
||||
* qse_sll_t - define a singly linked list
|
||||
*
|
||||
@ -156,7 +156,7 @@ struct qse_sll_t
|
||||
};
|
||||
/******/
|
||||
|
||||
/****s* cmn/qse_sll_node_t
|
||||
/****s* Common/qse_sll_node_t
|
||||
* NAME
|
||||
* qse_sll_node_t - define a list node
|
||||
* DESCRIPTION
|
||||
@ -186,7 +186,7 @@ struct qse_sll_node_t
|
||||
#define QSE_SLL_SIZE(sll) ((sll)->size)
|
||||
#define QSE_SLL_SCALE(sll) ((sll)->scale)
|
||||
|
||||
/****d* cmn/QSE_SLL_DPTR
|
||||
/****d* Common/QSE_SLL_DPTR
|
||||
* NAME
|
||||
* QSE_SLL_DPTR - get the data pointer in a node
|
||||
* SYNOPSIS
|
||||
@ -194,7 +194,7 @@ struct qse_sll_node_t
|
||||
#define QSE_SLL_DPTR(node) ((node)->dptr)
|
||||
/******/
|
||||
|
||||
/****d* cmn/QSE_SLL_DLEN
|
||||
/****d* Common/QSE_SLL_DLEN
|
||||
* NAME
|
||||
* QSE_SLL_DLEN - get the length of data in a node
|
||||
* SYNOPSIS
|
||||
@ -202,7 +202,7 @@ struct qse_sll_node_t
|
||||
#define QSE_SLL_DLEN(node) ((node)->dlen)
|
||||
/******/
|
||||
|
||||
/****d* cmn/QSE_SLL_NEXT
|
||||
/****d* Common/QSE_SLL_NEXT
|
||||
* NAME
|
||||
* QSE_SLL_NEXT - get the next node
|
||||
* SYNOPSIS
|
||||
@ -216,7 +216,7 @@ extern "C" {
|
||||
|
||||
QSE_DEFINE_COMMON_FUNCTIONS (sll)
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_open
|
||||
/****f* Common/qse_sll_open
|
||||
* NAME
|
||||
* qse_sll_open - create a singly linked list with extension area
|
||||
*
|
||||
@ -246,7 +246,7 @@ qse_sll_t* qse_sll_open (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_close
|
||||
/****f* Common/qse_sll_close
|
||||
* NAME
|
||||
* qse_sll_close - destroy a singly linked list
|
||||
*
|
||||
@ -261,7 +261,7 @@ void qse_sll_close (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_init
|
||||
/****f* Common/qse_sll_init
|
||||
* NAME
|
||||
* qse_sll_init - initialize a singly linked list
|
||||
*
|
||||
@ -283,7 +283,7 @@ qse_sll_t* qse_sll_init (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_fini
|
||||
/****f* Common/qse_sll_fini
|
||||
* NAME
|
||||
* qse_sll_init - deinitialize a singly linked list
|
||||
*
|
||||
@ -294,7 +294,7 @@ void qse_sll_fini (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_getsize
|
||||
/****f* Common/qse_sll_getsize
|
||||
* NAME
|
||||
* qse_sll_getsize - get the number of nodes
|
||||
*
|
||||
@ -310,7 +310,7 @@ qse_size_t qse_sll_getsize (
|
||||
/******/
|
||||
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_getscale
|
||||
/****f* Common/qse_sll_getscale
|
||||
* NAME
|
||||
* qse_sll_getscale - get the scale factor
|
||||
*
|
||||
@ -321,7 +321,7 @@ int qse_sll_getscale (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_setscale
|
||||
/****f* Common/qse_sll_setscale
|
||||
* NAME
|
||||
* qse_sll_setscale - set the scale factor
|
||||
*
|
||||
@ -342,7 +342,7 @@ void qse_sll_setscale (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_getcopier
|
||||
/****f* Common/qse_sll_getcopier
|
||||
* NAME
|
||||
* qse_sll_getfreeer - get the data copier
|
||||
*
|
||||
@ -353,7 +353,7 @@ qse_sll_copier_t qse_sll_getcopier (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_setcopier
|
||||
/****f* Common/qse_sll_setcopier
|
||||
* NAME
|
||||
* qse_sll_setcopier - set a data copier
|
||||
*
|
||||
@ -373,7 +373,7 @@ void qse_sll_setcopier (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_getfreeer
|
||||
/****f* Common/qse_sll_getfreeer
|
||||
* NAME
|
||||
* qse_sll_getfreeer - get the data freeer
|
||||
*
|
||||
@ -384,7 +384,7 @@ qse_sll_freeer_t qse_sll_getfreeer (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_setfreeer
|
||||
/****f* Common/qse_sll_setfreeer
|
||||
* NAME
|
||||
* qse_sll_setfreeer - set a data freeer
|
||||
*
|
||||
@ -399,7 +399,7 @@ void qse_sll_setfreeer (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_getcomper
|
||||
/****f* Common/qse_sll_getcomper
|
||||
* NAME
|
||||
* qse_sll_getcomper - get the data comparator
|
||||
*
|
||||
@ -410,7 +410,7 @@ qse_sll_comper_t qse_sll_getcomper (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_setcomper
|
||||
/****f* Common/qse_sll_setcomper
|
||||
* NAME
|
||||
* qse_sll_setcomper - set the data comparator
|
||||
*
|
||||
@ -422,7 +422,7 @@ void qse_sll_setcomper (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_gethead
|
||||
/****f* Common/qse_sll_gethead
|
||||
* NAME
|
||||
* qse_sll_gethead - get the head node
|
||||
*
|
||||
@ -433,7 +433,7 @@ qse_sll_node_t* qse_sll_gethead (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_gettail
|
||||
/****f* Common/qse_sll_gettail
|
||||
* NAME
|
||||
* qse_sll_gettail - get the tail node
|
||||
*
|
||||
@ -444,7 +444,7 @@ qse_sll_node_t* qse_sll_gettail (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_search
|
||||
/****f* Common/qse_sll_search
|
||||
* NAME
|
||||
* qse_sll_search - find a node
|
||||
*
|
||||
@ -471,7 +471,7 @@ qse_sll_node_t* qse_sll_search (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_insert
|
||||
/****f* Common/qse_sll_insert
|
||||
* NAME
|
||||
* qse_sll_insert - insert data to a new node
|
||||
*
|
||||
@ -494,7 +494,7 @@ qse_sll_node_t* qse_sll_insert (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_delete
|
||||
/****f* Common/qse_sll_delete
|
||||
* NAME
|
||||
* qse_sll_delete - delete a node
|
||||
*
|
||||
@ -509,7 +509,7 @@ void qse_sll_delete (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_clear
|
||||
/****f* Common/qse_sll_clear
|
||||
* NAME
|
||||
* qse_sll_clear - delete all nodes
|
||||
*
|
||||
@ -545,7 +545,7 @@ void qse_sll_poptail (
|
||||
qse_sll_t* sll
|
||||
);
|
||||
|
||||
/****f* qse.cmn.sll/qse_sll_walk
|
||||
/****f* Common/qse_sll_walk
|
||||
* NAME
|
||||
* qse_sll_walk - traverse s singly linked list
|
||||
*
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include <qse/types.h>
|
||||
#include <qse/macros.h>
|
||||
|
||||
/****o* cmn/string
|
||||
/****o* Common/String
|
||||
* DESCRIPTION
|
||||
* <qse/cmn/str.h> defines various functions, types, macros to manipulate
|
||||
* strings.
|
||||
@ -34,7 +34,6 @@
|
||||
******
|
||||
*/
|
||||
|
||||
|
||||
#define QSE_STR_LEN(s) ((s)->len)
|
||||
#define QSE_STR_PTR(s) ((s)->ptr)
|
||||
#define QSE_STR_CAPA(s) ((s)->capa)
|
||||
@ -44,7 +43,7 @@
|
||||
typedef struct qse_str_t qse_str_t;
|
||||
typedef qse_size_t (*qse_str_sizer_t) (qse_str_t* data, qse_size_t hint);
|
||||
|
||||
/****s* cmn/qse_str_t
|
||||
/****s* Common/qse_str_t
|
||||
* NAME
|
||||
* qse_str_t - define a dynamically resizable string
|
||||
* SYNOPSIS
|
||||
@ -143,7 +142,7 @@ int qse_strxncmp (
|
||||
int qse_strcasecmp (
|
||||
const qse_char_t* s1, const qse_char_t* s2, qse_ccls_t* ccls);
|
||||
|
||||
/****f* cmn/qse_strxncasecmp
|
||||
/****f* Common/qse_strxncasecmp
|
||||
* NAME
|
||||
* qse_strxncasecmp - compare strings ignoring case
|
||||
* DESCRIPTION
|
||||
@ -260,7 +259,7 @@ void qse_str_fini (
|
||||
qse_str_t* str
|
||||
);
|
||||
|
||||
/****f* cmn/qse_str_yield
|
||||
/****f* Common/qse_str_yield
|
||||
* NAME
|
||||
* qse_str_yield - yield the buffer
|
||||
*
|
||||
@ -281,7 +280,7 @@ int qse_str_yield (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_str_getsizer
|
||||
/****f* Common/qse_str_getsizer
|
||||
* NAME
|
||||
* qse_str_getsizer - get the sizer
|
||||
* RETURN
|
||||
@ -292,7 +291,7 @@ qse_str_sizer_t qse_str_getsizer (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_str_setsizer
|
||||
/****f* Common/qse_str_setsizer
|
||||
* NAME
|
||||
* qse_str_setsizer - specify a sizer
|
||||
* DESCRIPTION
|
||||
@ -380,7 +379,7 @@ qse_size_t qse_str_nccat (
|
||||
qse_size_t len
|
||||
);
|
||||
|
||||
/****f* cmn/qse_strspl
|
||||
/****f* Common/qse_strspl
|
||||
* NAME
|
||||
* qse_strspl - split a string
|
||||
* SYNOPSIS
|
||||
@ -394,7 +393,7 @@ int qse_strspl (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_mbstowcs
|
||||
/****f* Common/qse_mbstowcs
|
||||
* NAME
|
||||
* qse_mbstowcs - convert a multibyte string to a wide character string
|
||||
* SYNOPSIS
|
||||
@ -406,7 +405,7 @@ qse_size_t qse_mbstowcs (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_mbsntowcsn
|
||||
/****f* Common/qse_mbsntowcsn
|
||||
* NAME
|
||||
* qse_mbsntowcsn - convert a multibyte string to a wide character string
|
||||
* RETURN
|
||||
@ -421,7 +420,7 @@ qse_size_t qse_mbsntowcsn (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_wcstombslen
|
||||
/****f* Common/qse_wcstombslen
|
||||
* NAME
|
||||
* qse_wcstombslen - get the length
|
||||
* DESCRIPTION
|
||||
@ -440,7 +439,7 @@ qse_size_t qse_wcstombslen (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_wcsntombsnlen
|
||||
/****f* Common/qse_wcsntombsnlen
|
||||
* NAME
|
||||
* qse_wcsntombsnlen - get the length
|
||||
* DESCRIPTION
|
||||
@ -460,7 +459,7 @@ qse_size_t qse_wcsntombsnlen (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_wcstombs
|
||||
/****f* Common/qse_wcstombs
|
||||
* NAME
|
||||
* qse_wcstombs - convert a wide character string to a multibyte string.
|
||||
* DESCRIPTION
|
||||
@ -483,7 +482,7 @@ qse_size_t qse_wcstombs (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_wcsntombsn
|
||||
/****f* Common/qse_wcsntombsn
|
||||
* NAME
|
||||
* qse_wcstombs - convert a wide character string to a multibyte string
|
||||
* RETURN
|
||||
@ -498,7 +497,7 @@ qse_size_t qse_wcsntombsn (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_wcstombs_strict
|
||||
/****f* Common/qse_wcstombs_strict
|
||||
* NAME
|
||||
* qse_wcstombs_strict - convert a wide character string to a multibyte string.
|
||||
* DESCRIPTION
|
||||
|
@ -72,7 +72,7 @@ struct qse_btime_t
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/****f* qse.cmn.time/qse_gettime
|
||||
/****f* Common/qse_gettime
|
||||
* NAME
|
||||
* qse_gettime - get the current time
|
||||
* SYNPOSIS
|
||||
@ -82,7 +82,7 @@ int qse_gettime (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.time/qse_settime
|
||||
/****f* Common/qse_settime
|
||||
* NAME
|
||||
* qse_settime - set the current time
|
||||
* SYNOPSIS
|
||||
@ -93,7 +93,7 @@ int qse_settime (
|
||||
/******/
|
||||
|
||||
|
||||
/****f* qse.cmn.time/qse_gmtime
|
||||
/****f* Common/qse_gmtime
|
||||
* NAME
|
||||
* qse_gmtime - convert numeric time to broken-down time
|
||||
* SYNOPSIS
|
||||
@ -104,7 +104,7 @@ int qse_gmtime (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.time/qse_localtime
|
||||
/****f* Common/qse_localtime
|
||||
* NAME
|
||||
* qse_localtime - convert numeric time to broken-down time
|
||||
* SYNOPSIS
|
||||
@ -115,7 +115,7 @@ int qse_localtime (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.time/qse_timegm
|
||||
/****f* Common/qse_timegm
|
||||
* NAME
|
||||
* qse_timegm - convert broken-down time to numeric time
|
||||
*
|
||||
@ -127,7 +127,7 @@ int qse_timegm (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.time/qse_timelocal
|
||||
/****f* Common/qse_timelocal
|
||||
* NAME
|
||||
* qse_timelocal - convert broken-down time to numeric time
|
||||
*
|
||||
@ -139,7 +139,7 @@ int qse_timelcoal (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.cmn.time/qse_strftime
|
||||
/****f* Common/qse_strftime
|
||||
* NAME
|
||||
* qse_strftime - format time
|
||||
*
|
||||
|
@ -64,7 +64,7 @@ enum
|
||||
|
||||
typedef struct qse_tio_t qse_tio_t;
|
||||
|
||||
/****t* cmn/qse_tio_io_t
|
||||
/****t* Common/qse_tio_io_t
|
||||
* NAME
|
||||
* qse_tio_io_t - define a text IO handler type
|
||||
* SYNOPSIS
|
||||
@ -77,7 +77,7 @@ typedef qse_ssize_t (*qse_tio_io_t) (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****s* cmn/qse_tio_t
|
||||
/****s* Common/qse_tio_t
|
||||
* NAME
|
||||
* qse_tio_t - define a text IO type
|
||||
* DESCRIPTION
|
||||
@ -114,7 +114,7 @@ extern "C" {
|
||||
|
||||
QSE_DEFINE_COMMON_FUNCTIONS (tio)
|
||||
|
||||
/****f* cmn/qse_tio_open
|
||||
/****f* Common/qse_tio_open
|
||||
* NAME
|
||||
* qse_tio_open - create an text IO processor
|
||||
* SYNOPSIS
|
||||
@ -125,7 +125,7 @@ qse_tio_t* qse_tio_open (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_tio_close
|
||||
/****f* Common/qse_tio_close
|
||||
* NAME
|
||||
* qse_tio_close - destroy an text IO processor
|
||||
* SYNOPSIS
|
||||
@ -135,7 +135,7 @@ int qse_tio_close (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_tio_init
|
||||
/****f* Common/qse_tio_init
|
||||
* NAME
|
||||
* qse_tio_init - initialize an text IO processor
|
||||
* SYNOPSIS
|
||||
@ -146,7 +146,7 @@ qse_tio_t* qse_tio_init (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_tio_fini
|
||||
/****f* Common/qse_tio_fini
|
||||
* NAME
|
||||
* qse_tio_fini - finalize an text IO processor
|
||||
* SYNOPSIS
|
||||
@ -156,7 +156,7 @@ int qse_tio_fini (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_tio_geterrnum
|
||||
/****f* Common/qse_tio_geterrnum
|
||||
* NAME
|
||||
* qse_tio_geterrnum - get an error code
|
||||
*
|
||||
@ -167,7 +167,7 @@ qse_tio_err_t qse_tio_geterrnum (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_tio_geterrmsg
|
||||
/****f* Common/qse_tio_geterrmsg
|
||||
* NAME
|
||||
* qse_tio_geterrmsg - translate an error code to a string
|
||||
* RETURN
|
||||
@ -178,7 +178,7 @@ const qse_char_t* qse_tio_geterrmsg (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_tio_attachin
|
||||
/****f* Common/qse_tio_attachin
|
||||
* NAME
|
||||
* qse_tio_attachin - attaches an input handler
|
||||
* RETURN
|
||||
@ -192,7 +192,7 @@ int qse_tio_attachin (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_tio_detachin
|
||||
/****f* Common/qse_tio_detachin
|
||||
* NAME
|
||||
* qse_tio_detachin - detach an input handler
|
||||
* RETURN
|
||||
@ -204,7 +204,7 @@ int qse_tio_detachin (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_tio_attachout
|
||||
/****f* Common/qse_tio_attachout
|
||||
* NAME
|
||||
* qse_tio_attachout - attaches an output handler
|
||||
* RETURN
|
||||
@ -218,7 +218,7 @@ int qse_tio_attachout (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_tio_detachout
|
||||
/****f* Common/qse_tio_detachout
|
||||
* NAME
|
||||
* qse_tio_detachout - detaches an output handler
|
||||
* RETURN
|
||||
@ -230,7 +230,7 @@ int qse_tio_detachout (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_tio_flush
|
||||
/****f* Common/qse_tio_flush
|
||||
* NAME
|
||||
* qse_tio_flush - flush the output buffer
|
||||
* RETURNS
|
||||
@ -243,7 +243,7 @@ qse_ssize_t qse_tio_flush (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_tio_purge
|
||||
/****f* Common/qse_tio_purge
|
||||
* NAME
|
||||
* qse_tio_purge - empty input and output buffers
|
||||
* SYNOPSIS
|
||||
@ -253,7 +253,7 @@ void qse_tio_purge (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_tio_read
|
||||
/****f* Common/qse_tio_read
|
||||
* NAME
|
||||
* qse_tio_read - read text
|
||||
* SYNOPSIS
|
||||
@ -265,7 +265,7 @@ qse_ssize_t qse_tio_read (
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* cmn/qse_tio_write
|
||||
/****f* Common/qse_tio_write
|
||||
* NAME
|
||||
* qse_tio_write - write text
|
||||
* DESCRIPTION
|
||||
|
@ -16,27 +16,10 @@
|
||||
# define QSE_NULL ((void*)0)
|
||||
#endif
|
||||
|
||||
/****d* qse/QSE_TRUE,qse/QSE_FALSE
|
||||
* NAME
|
||||
* QSE_TRUE - represent a boolean true
|
||||
* QSE_FALSE - represent a boolean false
|
||||
******
|
||||
*/
|
||||
#define QSE_TRUE (0 == 0)
|
||||
|
||||
/*#define QSE_TRUE (0 == 0)
|
||||
#define QSE_FALSE (0 != 0)
|
||||
|
||||
|
||||
/****d* qse/QSE_ALIVE,qse/QSE_ZOMBIE,qse/QSE_DEAD
|
||||
* NAME
|
||||
* QSE_ALIVE - represent a living state
|
||||
* QSE_ZOMBIE - represent a zombie state
|
||||
* QSE_DEAD - represent a dead state
|
||||
******
|
||||
*/
|
||||
#define QSE_ALIVE 1
|
||||
#define QSE_ZOMBIE 0
|
||||
#define QSE_DEAD -1
|
||||
|
||||
*/
|
||||
|
||||
#define QSE_MCHAR_EOF ((qse_mcint_t)-1)
|
||||
#define QSE_WCHAR_EOF ((qse_wcint_t)-1)
|
||||
@ -157,7 +140,7 @@
|
||||
# define QSE_END_NAMESPACE2(y,x) }}
|
||||
#endif
|
||||
|
||||
/****d* qse/QSE_DEFINE_COMMON_FIELDS
|
||||
/****d* Base/QSE_DEFINE_COMMON_FIELDS
|
||||
* NAME
|
||||
* QSE_DEFINE_COMMON_FIELDS - define common fields
|
||||
* SYNOPSIS
|
||||
@ -166,7 +149,7 @@
|
||||
qse_mmgr_t* mmgr;
|
||||
/******/
|
||||
|
||||
/****d* qse/QSE_DEFINE_COMMON_FUNCTIONS
|
||||
/****d* Base/QSE_DEFINE_COMMON_FUNCTIONS
|
||||
* NAME
|
||||
* QSE_DEFINE_COMMON_FUNCTIONS - define common functions
|
||||
* SYNOPSIS
|
||||
@ -177,7 +160,7 @@ qse_mmgr_t* qse_##name##_getmmgr (qse_##name##_t* name); \
|
||||
void* qse_##name##_getxtn (qse_##name##_t* name);
|
||||
/******/
|
||||
|
||||
/****d* qse/QSE_IMPLEMENT_COMMON_FUNCTIONS
|
||||
/****d* Base/QSE_IMPLEMENT_COMMON_FUNCTIONS
|
||||
* NAME
|
||||
* QSE_IMPLEMENT_COMMON_FUNCTIONS - implement common functions
|
||||
* SYNOPSIS
|
||||
|
@ -7,7 +7,7 @@
|
||||
#ifndef _QSE_TYPES_H_
|
||||
#define _QSE_TYPES_H_
|
||||
|
||||
/****o* qse/basic types
|
||||
/****o* Base/Basic Types
|
||||
* DESCRIPTION
|
||||
* <qse/types.h> defines various common basic types. They are designed to be
|
||||
* cross-platform. These types are preferred over native data types in many
|
||||
@ -30,27 +30,40 @@
|
||||
# error unsupported operating system
|
||||
#endif
|
||||
|
||||
/****t* qse/qse_bool_t
|
||||
/****t* Base/qse_bool_t
|
||||
* NAME
|
||||
* qse_bool_t - define a boolean type
|
||||
* DESCRIPTION
|
||||
* The qse_bool_t type defines a boolean type that can represent QSE_TRUE
|
||||
* and QSE_FALSE.
|
||||
******
|
||||
* SYNOPSIS
|
||||
*/
|
||||
typedef int qse_bool_t;
|
||||
enum qse_bool_t
|
||||
{
|
||||
QSE_TRUE = (0 == 0),
|
||||
QSE_FALSE = (0 != 0)
|
||||
};
|
||||
/******/
|
||||
typedef enum qse_bool_t qse_bool_t;
|
||||
|
||||
/****t* qse/qse_tri_t
|
||||
/****t* Base/qse_tri_t
|
||||
* NAME
|
||||
* qse_tri_t - define a tri-state type
|
||||
* DESCRIPTION
|
||||
* The qse_tri_t type defines a tri-state type that can represent QSE_ALIVE,
|
||||
* QSE_ZOMBIE, and QSE_DEAD.
|
||||
******
|
||||
* SYNOPSIS
|
||||
*/
|
||||
typedef int qse_tri_t;
|
||||
enum qse_tri_t
|
||||
{
|
||||
QSE_ALIVE = 1,
|
||||
QSE_ZOMBIE = 0,
|
||||
QSE_DEAD = -1
|
||||
};
|
||||
/******/
|
||||
typedef enum qse_tri_t qse_tri_t;
|
||||
|
||||
/****t* qse/qse_int_t,qse/qse_uint_t
|
||||
/****t* Base/qse_int_t,Base/qse_uint_t
|
||||
* NAME
|
||||
* qse_int_t - define a signed integer type as large as a pointer type
|
||||
* qse_uint_t - define an unsigned integer type as large as a pointer type
|
||||
@ -82,7 +95,7 @@ typedef int qse_tri_t;
|
||||
# error unsupported pointer size
|
||||
#endif
|
||||
|
||||
/****t* qse/qse_long_t,qse/qse_ulong_t
|
||||
/****t* Base/qse_long_t,Base/qse_ulong_t
|
||||
* NAME
|
||||
* qse_long_t - define the largest signed integer type supported
|
||||
* qse_ulong_t - define the largest unsigned integer type supported
|
||||
@ -99,7 +112,7 @@ typedef int qse_tri_t;
|
||||
typedef unsigned long qse_ulong_t;
|
||||
#endif
|
||||
|
||||
/****t* qse/qse_int8_t,qse/qse_uint8_t
|
||||
/****t* Base/qse_int8_t,Base/qse_uint8_t
|
||||
* NAME
|
||||
* qse_int8_t - define an 8-bit signed integer type
|
||||
* qse_uint8_t - define an 8-bit unsigned integer type
|
||||
@ -113,7 +126,7 @@ typedef int qse_tri_t;
|
||||
typedef unsigned __int8 qse_uint8_t;
|
||||
#endif
|
||||
|
||||
/****t* qse/qse_int16_t,qse/qse_uint16_t
|
||||
/****t* Base/qse_int16_t,Base/qse_uint16_t
|
||||
* NAME
|
||||
* qse_int16_t - define a 16-bit signed integer type
|
||||
* qse_uint16_t - define a 16-bit unsigned integer type
|
||||
@ -127,7 +140,7 @@ typedef int qse_tri_t;
|
||||
typedef unsigned __int16 qse_uint16_t;
|
||||
#endif
|
||||
|
||||
/****t* qse/qse_int32_t,qse/qse_uint32_t
|
||||
/****t* Base/qse_int32_t,Base/qse_uint32_t
|
||||
* NAME
|
||||
* qse_int32_t - define a 32-bit signed integer type
|
||||
* qse_uint32_t - define a 32-bit unsigned integer type
|
||||
@ -144,7 +157,7 @@ typedef int qse_tri_t;
|
||||
typedef unsigned __int32 qse_uint32_t;
|
||||
#endif
|
||||
|
||||
/****t* qse/qse_int64_t,qse/qse_uint64_t
|
||||
/****t* Base/qse_int64_t,Base/qse_uint64_t
|
||||
* NAME
|
||||
* qse_int64_t - define a 64-bit signed integer type
|
||||
* qse_uint64_t - define a 64-bit unsigned integer type
|
||||
@ -194,14 +207,14 @@ typedef int qse_tri_t;
|
||||
typedef unsigned __int128 qse_uint128_t;
|
||||
#endif
|
||||
|
||||
/****t* qse/qse_byte_t
|
||||
/****t* Base/qse_byte_t
|
||||
* NAME
|
||||
* qse_byte_t - define a byte type
|
||||
******
|
||||
*/
|
||||
typedef qse_uint8_t qse_byte_t;
|
||||
|
||||
/****t* qse/qse_size_t
|
||||
/****t* Base/qse_size_t
|
||||
* NAME
|
||||
* qse_size_t - define an unsigned integer type that can hold a pointer value
|
||||
******
|
||||
@ -212,14 +225,14 @@ typedef qse_uint8_t qse_byte_t;
|
||||
typedef qse_uint_t qse_size_t;
|
||||
#endif
|
||||
|
||||
/****t* qse/qse_ssize_t
|
||||
/****t* Base/qse_ssize_t
|
||||
* NAME
|
||||
* qse_ssize_t - define an signed integer type that can hold a pointer value
|
||||
******
|
||||
*/
|
||||
typedef qse_int_t qse_ssize_t;
|
||||
|
||||
/****t* qse/qse_word_t
|
||||
/****t* Base/qse_word_t
|
||||
* NAME
|
||||
* qse_word_t - define an integer type identical to qse_uint_t
|
||||
******
|
||||
@ -240,7 +253,7 @@ typedef qse_uint_t qse_word_t;
|
||||
typedef double qse_real_t;
|
||||
#endif
|
||||
|
||||
/****t* qse/qse_mchar_t,qse/qse_mcint_t
|
||||
/****t* Base/qse_mchar_t,Base/qse_mcint_t
|
||||
* NAME
|
||||
* qse_mchar_t - define a multi-byte character
|
||||
* qse_mcint_t - define a type that can hold qse_mchar_t and QSE_MCHAR_EOF
|
||||
@ -249,7 +262,7 @@ typedef qse_uint_t qse_word_t;
|
||||
typedef char qse_mchar_t;
|
||||
typedef int qse_mcint_t;
|
||||
|
||||
/****t* qse/qse_wchar_t,qse/qse_wcint_t
|
||||
/****t* Base/qse_wchar_t,Base/qse_wcint_t
|
||||
* NAME
|
||||
* qse_wchar_t - define a wide character
|
||||
* qse_wcint_t - define a type that can hold qse_wchar_t and QSE_WCHAR_EOF
|
||||
@ -308,7 +321,7 @@ typedef int qse_mcint_t;
|
||||
# error unsupported size of wchar_t
|
||||
#endif
|
||||
|
||||
/****t* qse/qse_char_t,qse/qse_cint_t
|
||||
/****t* Base/qse_char_t,Base/qse_cint_t
|
||||
* NAME
|
||||
* qse_char_t - define a character
|
||||
* qse_cint_t - define a type that can hold qse_char_t and QSE_CHAR_EOF
|
||||
@ -350,7 +363,7 @@ typedef struct qse_cstr_t qse_cstr_t;
|
||||
typedef struct qse_mmgr_t qse_mmgr_t;
|
||||
typedef struct qse_ccls_t qse_ccls_t;
|
||||
|
||||
/****t* qse/qse_xstr_t
|
||||
/****t* Base/qse_xstr_t
|
||||
* NAME
|
||||
* qse_xstr_t - combine a pointer and length
|
||||
* SYNOPSIS
|
||||
@ -362,7 +375,7 @@ struct qse_xstr_t
|
||||
};
|
||||
/******/
|
||||
|
||||
/****t* qse/qse_cstr_t
|
||||
/****t* Base/qse_cstr_t
|
||||
* NAME
|
||||
* qse_cstr_t - combine a constant pointer and length
|
||||
* SYNOPSIS
|
||||
@ -374,7 +387,7 @@ struct qse_cstr_t
|
||||
};
|
||||
/******/
|
||||
|
||||
/****t* qse/qse_mmgr_t
|
||||
/****t* Base/qse_mmgr_t
|
||||
* NAME
|
||||
* qse_mmgr_t - define a memory manager
|
||||
* SYNOPSIS
|
||||
@ -388,7 +401,7 @@ struct qse_mmgr_t
|
||||
};
|
||||
/******/
|
||||
|
||||
/****t* qse/qse_ccls_type_t
|
||||
/****t* Base/qse_ccls_type_t
|
||||
* NAME
|
||||
* qse_ccls_type_t - define character class types
|
||||
* SYNOPSIS
|
||||
@ -411,7 +424,7 @@ enum qse_ccls_type_t
|
||||
|
||||
typedef enum qse_ccls_type_t qse_ccls_type_t;
|
||||
|
||||
/****t* qse/qse_ccls_t
|
||||
/****t* Base/qse_ccls_t
|
||||
* NAME
|
||||
* qse_mmgr_t - define a character classifier
|
||||
* SYNOPSIS
|
||||
|
Reference in New Issue
Block a user