| version 1.19, 2002/08/16 20:31:43 |
version 1.20, 2002/08/27 13:12:33 |
|
|
| * 2. Optimalizations (in strdyn_explode_ar() and similar). |
* 2. Optimalizations (in strdyn_explode_ar() and similar). |
| */ |
*/ |
| |
|
| #ifdef PLATON_PREFIX |
#ifndef PLATON_FUNC |
| |
# define PLATON_FUNC(_name) _name |
| |
#endif |
| |
#ifndef PLATON_FUNC_STR |
| |
# define PLATON_FUNC_STR(_name) #_name |
| |
#endif |
| |
|
| #define strdyn_count(ar) FUNCTION(strdyn_get_size)(ar) |
#define strdyn_count(ar) PLATON_FUNC(strdyn_get_size)(ar) |
| #define strdyn_duplicate(ar) FUNCTION(strdyn_create_ar)(ar) |
#define strdyn_duplicate(ar) PLATON_FUNC(strdyn_create_ar)(ar) |
| #define strdyn_safe_duplicate(ar) FUNCTION(strdyn_safe_create_ar)(ar) |
#define strdyn_safe_duplicate(ar) PLATON_FUNC(strdyn_safe_create_ar)(ar) |
| #define strdyn_remove(ar, s) FUNCTION(strdyn_remove_str)(ar, s) |
#define strdyn_remove(ar, s) PLATON_FUNC(strdyn_remove_str)(ar, s) |
| #define strdyn_intersect(ar1, ar2) FUNCTION(strdyn_conjunct)(ar1, ar2) |
#define strdyn_intersect(ar1, ar2) PLATON_FUNC(strdyn_conjunct)(ar1, ar2) |
| #define strdyn_join(ar1, ar2) FUNCTION(strdyn_consolide)(ar1, ar2) |
#define strdyn_join(ar1, ar2) PLATON_FUNC(strdyn_consolide)(ar1, ar2) |
| #define strdyn_union(ar1, ar2) FUNCTION(strdyn_consolide)(ar1, ar2) |
#define strdyn_union(ar1, ar2) PLATON_FUNC(strdyn_consolide)(ar1, ar2) |
| #define strdyn_explode(str, sep) FUNCTION(strdyn_explode_str)(str, sep) |
#define strdyn_explode(str, sep) PLATON_FUNC(strdyn_explode_str)(str, sep) |
| #define strdyn_explode2(str, sep) FUNCTION(strdyn_explode2_str)(str, sep) |
#define strdyn_explode2(str, sep) PLATON_FUNC(strdyn_explode2_str)(str, sep) |
| #define strdyn_implode(str, sep) FUNCTION(strdyn_implode_str)(str, sep) |
#define strdyn_implode(str, sep) PLATON_FUNC(strdyn_implode_str)(str, sep) |
| #define strdyn_implode2(str, sep) FUNCTION(strdyn_implode2_str)(str, sep) |
#define strdyn_implode2(str, sep) PLATON_FUNC(strdyn_implode2_str)(str, sep) |
| #define strdyn_cmp(ar, s) FUNCTION(strdyn_compare)(ar, s) |
#define strdyn_cmp(ar, s) PLATON_FUNC(strdyn_compare)(ar, s) |
| #define strdyn_casecmp(ar, s) FUNCTION(strdyn_casecompare)(ar, s) |
#define strdyn_casecmp(ar, s) PLATON_FUNC(strdyn_casecompare)(ar, s) |
| #define strdyn_str(s, ar) FUNCTION(strdyn_str2)(s, ar, NULL) |
#define strdyn_str(s, ar) PLATON_FUNC(strdyn_str2)(s, ar, NULL) |
| |
|
| #else |
|
| |
|
| #define strdyn_count(ar) strdyn_get_size(ar) |
|
| #define strdyn_duplicate(ar) strdyn_create_ar(ar) |
|
| #define strdyn_safe_duplicate(ar) strdyn_safe_create_ar(ar) |
|
| #define strdyn_remove(ar, s) strdyn_remove_str(ar, s) |
|
| #define strdyn_intersect(ar1, ar2) strdyn_conjunct(ar1, ar2) |
|
| #define strdyn_join(ar1, ar2) strdyn_consolide(ar1, ar2) |
|
| #define strdyn_union(ar1, ar2) strdyn_consolide(ar1, ar2) |
|
| #define strdyn_explode(str, sep) strdyn_explode_str(str, sep) |
|
| #define strdyn_explode2(str, sep) strdyn_explode2_str(str, sep) |
|
| #define strdyn_implode(str, sep) strdyn_implode_str(str, sep) |
|
| #define strdyn_implode2(str, sep) strdyn_implode2_str(str, sep) |
|
| #define strdyn_cmp(ar, s) strdyn_compare(ar, s) |
|
| #define strdyn_casecmp(ar, s) strdyn_casecompare(ar, s) |
|
| #define strdyn_str(s, ar) strdyn_str2(s, ar, NULL) |
|
| |
|
| #endif |
|
| |
|
| #ifdef __cplusplus |
#ifdef __cplusplus |
| extern "C" { |
extern "C" { |
| #endif |
#endif |
| |
|
| #ifdef PLATON_PREFIX |
void PLATON_FUNC(strdyn_free)(char **ar); |
| void FUNCTION(strdyn_free)(char **ar); |
void PLATON_FUNC(strdyn_safe_free)(char **ar); |
| void FUNCTION(strdyn_safe_free)(char **ar); |
int PLATON_FUNC(strdyn_get_size)(char **ar); |
| int FUNCTION(strdyn_get_size)(char **ar); |
char **PLATON_FUNC(strdyn_create)(void); |
| char **FUNCTION(strdyn_create)(void); |
char **PLATON_FUNC(strdyn_create_va)(char *s1, ...); |
| char **FUNCTION(strdyn_create_va)(char *s1, ...); |
char **PLATON_FUNC(strdyn_create_ar)(char **ar); |
| char **FUNCTION(strdyn_create_ar)(char **ar); |
char **PLATON_FUNC(strdyn_safe_create_ar)(char **ar); |
| char **FUNCTION(strdyn_safe_create_ar)(char **ar); |
char **PLATON_FUNC(strdyn_add)(char **ar, const char *s); |
| char **FUNCTION(strdyn_add)(char **ar, const char *s); |
char **PLATON_FUNC(strdyn_add_va)(char **ar, ...); |
| char **FUNCTION(strdyn_add_va)(char **ar, ...); |
char **PLATON_FUNC(strdyn_add_ar)(char **ar, char * const *s_ar); |
| char **FUNCTION(strdyn_add_ar)(char **ar, char * const *s_ar); |
char **PLATON_FUNC(strdyn_remove_idx)(char **ar, int idx); |
| char **FUNCTION(strdyn_remove_idx)(char **ar, int idx); |
char **PLATON_FUNC(strdyn_remove_str)(char **ar, char *s); |
| char **FUNCTION(strdyn_remove_str)(char **ar, char *s); |
char **PLATON_FUNC(strdyn_remove_str_all)(char **ar, char *s); |
| char **FUNCTION(strdyn_remove_str_all)(char **ar, char *s); |
char **PLATON_FUNC(strdyn_remove_empty)(char **ar); |
| char **FUNCTION(strdyn_remove_empty)(char **ar); |
char **PLATON_FUNC(strdyn_remove_all)(char **ar); |
| char **FUNCTION(strdyn_remove_all)(char **ar); |
char **PLATON_FUNC(strdyn_explode_chr)(char *str, int sep); |
| char **FUNCTION(strdyn_explode_chr)(char *str, int sep); |
char **PLATON_FUNC(strdyn_explode2_chr)(char *str, int sep); |
| char **FUNCTION(strdyn_explode2_chr)(char *str, int sep); |
char **PLATON_FUNC(strdyn_explode_str)(char *str, char *sep); |
| char **FUNCTION(strdyn_explode_str)(char *str, char *sep); |
char **PLATON_FUNC(strdyn_explode2_str)(char *str, char *sep); |
| char **FUNCTION(strdyn_explode2_str)(char *str, char *sep); |
char **PLATON_FUNC(strdyn_explode_ar)(char *str, char **sep); |
| char **FUNCTION(strdyn_explode_ar)(char *str, char **sep); |
char **PLATON_FUNC(strdyn_explode2_ar)(char *str, char **sep); |
| char **FUNCTION(strdyn_explode2_ar)(char *str, char **sep); |
char *PLATON_FUNC(strdyn_implode_chr)(char **ar, int sep); |
| char *FUNCTION(strdyn_implode_chr)(char **ar, int sep); |
char *PLATON_FUNC(strdyn_implode2_chr)(char **ar, int sep); |
| char *FUNCTION(strdyn_implode2_chr)(char **ar, int sep); |
char *PLATON_FUNC(strdyn_implode_str)(char **ar, char *sep); |
| char *FUNCTION(strdyn_implode_str)(char **ar, char *sep); |
char *PLATON_FUNC(strdyn_implode2_str)(char **ar, char *str); |
| char *FUNCTION(strdyn_implode2_str)(char **ar, char *str); |
char **PLATON_FUNC(strdyn_conjunct)(char **ar1, char **ar2); |
| char **FUNCTION(strdyn_conjunct)(char **ar1, char **ar2); |
char **PLATON_FUNC(strdyn_consolide)(char **ar1, char **ar2); |
| char **FUNCTION(strdyn_consolide)(char **ar1, char **ar2); |
int PLATON_FUNC(strdyn_search)(char **ar, char *s); |
| int FUNCTION(strdyn_search)(char **ar, char *s); |
int PLATON_FUNC(strdyn_casesearch)(char **ar, char *s); |
| int FUNCTION(strdyn_casesearch)(char **ar, char *s); |
int PLATON_FUNC(strdyn_compare)(char **ar, char *s); |
| int FUNCTION(strdyn_compare)(char **ar, char *s); |
int PLATON_FUNC(strdyn_casecompare)(char **ar, char *s); |
| int FUNCTION(strdyn_casecompare)(char **ar, char *s); |
int PLATON_FUNC(strdyn_compare_all)(char **ar, char *s); |
| int FUNCTION(strdyn_compare_all)(char **ar, char *s); |
char *PLATON_FUNC(strdyn_str2)(char *s, char **ar, int *idx); |
| char *FUNCTION(strdyn_str2)(char *s, char **ar, int *idx); |
|
| #else |
|
| void strdyn_free(char **ar); |
|
| void strdyn_safe_free(char **ar); |
|
| int strdyn_get_size(char **ar); |
|
| char **strdyn_create(void); |
|
| char **strdyn_create_va(char *s1, ...); |
|
| char **strdyn_create_ar(char **ar); |
|
| char **strdyn_safe_create_ar(char **ar); |
|
| char **strdyn_add(char **ar, const char *s); |
|
| char **strdyn_add_va(char **ar, ...); |
|
| char **strdyn_add_ar(char **ar, char * const *s_ar); |
|
| char **strdyn_remove_idx(char **ar, int idx); |
|
| char **strdyn_remove_str(char **ar, char *s); |
|
| char **strdyn_remove_str_all(char **ar, char *s); |
|
| char **strdyn_remove_empty(char **ar); |
|
| char **strdyn_remove_all(char **ar); |
|
| char **strdyn_explode_chr(char *str, int sep); |
|
| char **strdyn_explode2_chr(char *str, int sep); |
|
| char **strdyn_explode_str(char *str, char *sep); |
|
| char **strdyn_explode2_str(char *str, char *sep); |
|
| char **strdyn_explode_ar(char *str, char **sep); |
|
| char **strdyn_explode2_ar(char *str, char **sep); |
|
| char *strdyn_implode_chr(char **ar, int sep); |
|
| char *strdyn_implode2_chr(char **ar, int sep); |
|
| char *strdyn_implode_str(char **ar, char *sep); |
|
| char *strdyn_implode2_str(char **ar, char *str); |
|
| char **strdyn_conjunct(char **ar1, char **ar2); |
|
| char **strdyn_consolide(char **ar1, char **ar2); |
|
| int strdyn_search(char **ar, char *s); |
|
| int strdyn_casesearch(char **ar, char *s); |
|
| int strdyn_compare(char **ar, char *s); |
|
| int strdyn_casecompare(char **ar, char *s); |
|
| int strdyn_compare_all(char **ar, char *s); |
|
| char *strdyn_str2(char *s, char **ar, int *idx); |
|
| #endif |
|
| |
|
| #ifdef __cplusplus |
#ifdef __cplusplus |
| } |
} |