20#define A_STR_INIT {A_NULL, 0, 0}
72 return idx < ctx->
num_ ? ctx->
ptr_[idx] : 0;
85 return num < ctx->
num_ ? ctx->
ptr_[num] : 0;
115#if defined(__cplusplus)
232A_EXTERN
int a_str_getc_(
a_str *ctx);
242A_EXTERN
int a_str_putc_(
a_str *ctx,
int c);
264A_EXTERN
int a_str_setn_(
a_str *ctx,
void const *pdata,
a_size nbyte);
276A_EXTERN
int a_str_putn_(
a_str *ctx,
void const *pdata,
a_size nbyte);
287A_EXTERN
int a_str_sets_(
a_str *ctx,
void const *str);
298A_EXTERN
int a_str_puts_(
a_str *ctx,
void const *str);
307A_EXTERN A_FORMAT(__printf__, 2, 0) int
a_str_setv(
a_str *ctx,
char const *fmt, va_list va);
316A_EXTERN A_FORMAT(__printf__, 2, 0)
int a_str_putv(
a_str *ctx,
char const *fmt, va_list va);
343A_EXTERN
int a_str_set_(
a_str *ctx,
a_str const *obj);
354A_EXTERN
int a_str_put_(
a_str *ctx,
a_str const *obj);
363#if defined(__cplusplus)
char * a_str_ptr(a_str const *ctx)
string for a pointer to string structure
Definition str.h:38
int a_str_putn(a_str *ctx, void const *pdata, a_size nbyte)
put memory block to a pointer to string structure
int a_str_put(a_str *ctx, a_str const *obj)
put the string structure obj to the string structure ctx
char a_str_at(a_str const *ctx, a_size idx)
access specified character for a pointer to string structure
Definition str.h:70
a_str * a_str_new(void)
allocate a pointer to string structure from memory
void a_str_move(a_str *ctx, a_str *obj)
initialize a pointer to string structure by moving
char a_str_at_(a_str const *ctx, a_size idx)
access specified character for a pointer to string structure
Definition str.h:61
int a_str_getc(a_str *ctx)
get character for a pointer to string structure
a_size a_str_getn(a_str *ctx, void *pdata, a_size nbyte)
get memory block to a pointer to string structure
int a_str_cmpn(a_str const *ctx, void const *pdata, a_size nbyte)
compare the string ctx with the memory block
void a_str_drop(a_str *ctx)
drop all characters for a pointer to string structure
Definition str.h:113
void a_str_ctor(a_str *ctx)
constructor for string structure
int a_str_setv(a_str *ctx, char const *fmt, va_list va)
format string to a pointer to string structure via va_list
int a_str_puts(a_str *ctx, void const *str)
put C string to a pointer to string structure
int a_str_putc(a_str *ctx, int c)
put character to a pointer to string structure
char * a_str_exit(a_str *ctx)
terminate a pointer to string structure
int a_str_set(a_str *ctx, a_str const *obj)
set the string structure obj to the string structure ctx
void a_str_setlen_(a_str *ctx, a_size num)
set length for a pointer to string structure
Definition str.h:94
void a_str_die(a_str *ctx)
deallocate a pointer to string structure
int a_str_putf(a_str *ctx, char const *fmt,...)
format string append to a pointer to string structure
a_size a_str_len(a_str const *ctx)
length for a pointer to string structure
Definition str.h:45
a_size a_str_mem(a_str const *ctx)
memory for a pointer to string structure
Definition str.h:52
int a_str_copy(a_str *ctx, a_str const *obj)
initialize a pointer to string structure by copying
int a_str_cmps(a_str const *ctx, void const *str)
compare the string ctx with the C string str
int a_str_alloc(a_str *ctx, a_size mem)
allocate memory for a pointer to string structure
int a_str_setf(a_str *ctx, char const *fmt,...)
format string to a pointer to string structure
int a_str_setn(a_str *ctx, void const *pdata, a_size nbyte)
set memory block to a pointer to string structure
char a_str_idx(a_str const *ctx, a_diff idx)
access specified character for a pointer to string structure
Definition str.h:82
int a_str_sets(a_str *ctx, void const *str)
set C string to a pointer to string structure
int a_str_cmp(a_str const *lhs, a_str const *rhs)
compare the string lhs with the string rhs
int a_str_setlen(a_str *ctx, a_size num)
set length for a pointer to string structure
Definition str.h:104
a_size a_str_utflen(a_str const *ctx)
length for a pointer to string structure using UTF-8
void a_str_dtor(a_str *ctx)
destructor for string structure
int a_str_putv(a_str *ctx, char const *fmt, va_list va)
format string append to a pointer to string structure via va_list
int a_str_cmp_(void const *p0, a_size n0, void const *p1, a_size n1)
compare the memory block 0 with the memory block 1
ptrdiff_t a_diff
signed integer type returned when subtracting two pointers
Definition a.h:780
#define a_size_c(x)
static cast to a_size
Definition a.h:820
size_t a_size
unsigned integer type returned by the sizeof operator
Definition a.h:823
@ A_SUCCESS
Definition a.h:1217
@ A_FAILURE
Definition a.h:1218
instance structure for basic string
Definition str.h:27
a_size mem_
Definition str.h:30
char * ptr_
Definition str.h:28
a_size num_
Definition str.h:29