liba 0.1.15
An algorithm library based on C/C++
Loading...
Searching...
No Matches
basic string library
Collaboration diagram for basic string library:

Data Structures

struct  a_str
 instance structure for basic string More...
 

Macros

#define A_STR_INIT   {A_NULL, 0, 0}
 

Typedefs

typedef struct a_str a_str
 instance structure for basic string
 

Functions

char * a_str_ptr (a_str const *ctx)
 string for a pointer to string structure
 
size_t a_str_len (a_str const *ctx)
 length for a pointer to string structure
 
size_t a_str_mem (a_str const *ctx)
 memory for a pointer to string structure
 
char a_str_at_ (a_str const *ctx, size_t idx)
 access specified character for a pointer to string structure
 
char a_str_at (a_str const *ctx, size_t idx)
 access specified character for a pointer to string structure
 
char a_str_idx (a_str const *ctx, ptrdiff_t idx)
 access specified character for a pointer to string structure
 
void a_str_setlen_ (a_str *ctx, size_t num)
 set length for a pointer to string structure
 
int a_str_setlen (a_str *ctx, size_t num)
 set length for a pointer to string structure
 
void a_str_drop (a_str *ctx)
 drop all characters for a pointer to string structure
 
a_stra_str_new (void)
 allocate a pointer to string structure from memory
 
void a_str_die (a_str *ctx)
 deallocate a pointer to string structure
 
void a_str_ctor (a_str *ctx)
 constructor for string structure
 
void a_str_dtor (a_str *ctx)
 destructor for string structure
 
int a_str_copy (a_str *ctx, a_str const *obj)
 initialize a pointer to string structure by copying
 
void a_str_move (a_str *ctx, a_str *obj)
 initialize a pointer to string structure by moving
 
char * a_str_exit (a_str *ctx)
 terminate a pointer to string structure
 
int a_str_alloc (a_str *ctx, size_t mem)
 allocate memory for a pointer to string structure
 
int a_str_alloc_ (a_str *ctx, size_t mem)
 
int a_str_cmp_ (void const *p0, size_t n0, void const *p1, size_t n1)
 compare the memory block 0 with the memory block 1
 
int a_str_cmp (a_str const *lhs, a_str const *rhs)
 compare the string lhs with the string rhs
 
int a_str_cmpn (a_str const *ctx, void const *pdata, size_t nbyte)
 compare the string ctx with the memory block
 
int a_str_cmps (a_str const *ctx, void const *str)
 compare the string ctx with the C string str
 
int a_str_getc (a_str *ctx)
 get character for a pointer to string structure
 
int a_str_getc_ (a_str *ctx)
 
int a_str_putc (a_str *ctx, int c)
 put character to a pointer to string structure
 
int a_str_putc_ (a_str *ctx, int c)
 
size_t a_str_getn (a_str *ctx, void *pdata, size_t nbyte)
 get memory block to a pointer to string structure
 
size_t a_str_getn_ (a_str *ctx, void *pdata, size_t nbyte)
 
int a_str_setn (a_str *ctx, void const *pdata, size_t nbyte)
 set memory block to a pointer to string structure
 
int a_str_setn_ (a_str *ctx, void const *pdata, size_t nbyte)
 
int a_str_putn (a_str *ctx, void const *pdata, size_t nbyte)
 put memory block to a pointer to string structure
 
int a_str_putn_ (a_str *ctx, void const *pdata, size_t nbyte)
 
int a_str_sets (a_str *ctx, void const *str)
 set C string to a pointer to string structure
 
int a_str_sets_ (a_str *ctx, void const *str)
 
int a_str_puts (a_str *ctx, void const *str)
 put C string to a pointer to string structure
 
int a_str_puts_ (a_str *ctx, void const *str)
 
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_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_setf (a_str *ctx, char const *fmt,...)
 format string to a pointer to string structure
 
int a_str_putf (a_str *ctx, char const *fmt,...)
 format string append to 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
 
int a_str_set_ (a_str *ctx, a_str const *obj)
 
int a_str_put (a_str *ctx, a_str const *obj)
 put the string structure obj to the string structure ctx
 
int a_str_put_ (a_str *ctx, a_str const *obj)
 
size_t a_str_utflen (a_str const *ctx)
 length for a pointer to string structure using UTF-8
 

Detailed Description

Function Documentation

◆ a_str_alloc()

int a_str_alloc ( a_str * ctx,
size_t mem )

allocate memory for a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
[in]memnew memory capacity of string
Returns
the execution state of the function
Return values
0success
1failure

◆ a_str_at()

char a_str_at ( a_str const * ctx,
size_t idx )

access specified character for a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
[in]idxindex of character less than length
Returns
specified character
Return values
0out of bounds

◆ a_str_at_()

char a_str_at_ ( a_str const * ctx,
size_t idx )

access specified character for a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
[in]idxindex of character less than memory
Note
should check if string is empty
Returns
specified character

◆ a_str_cmp()

int a_str_cmp ( a_str const * lhs,
a_str const * rhs )

compare the string lhs with the string rhs

Parameters
[in]lhsstring structure to be compared
[in]rhsstring structure to be compared
Returns
relationship between the strings
Return values
<0string lhs < string rhs
>0string lhs > string rhs
0string lhs == string rhs

◆ a_str_cmp_()

int a_str_cmp_ ( void const * p0,
size_t n0,
void const * p1,
size_t n1 )

compare the memory block 0 with the memory block 1

Parameters
[in]p0points to memory block 0 to be compared
[in]n0length of memory block 0 to be compared
[in]p1points to memory block 1 to be compared
[in]n1length of memory block 1 to be compared
Returns
relationship between the memory blocks
Return values
<0memory block 0 < memory block 1
>0memory block 0 > memory block 1
0memory block 0 == memory block 1

◆ a_str_cmpn()

int a_str_cmpn ( a_str const * ctx,
void const * pdata,
size_t nbyte )

compare the string ctx with the memory block

Parameters
[in]ctxpoints to an instance of string structure
[in]pdatapoints to memory block to be compared
[in]nbytelength of memory block to be compared
Returns
relationship between the strings
Return values
<0string ctx < memory block
>0string ctx > memory block
0string ctx == memory block

◆ a_str_cmps()

int a_str_cmps ( a_str const * ctx,
void const * str )

compare the string ctx with the C string str

Parameters
[in]ctxpoints to an instance of string structure
[in]strstring terminated with a null character
Returns
relationship between the strings
Return values
<0string ctx < C string str
>0string ctx > C string str
0string ctx == C string str

◆ a_str_copy()

int a_str_copy ( a_str * ctx,
a_str const * obj )

initialize a pointer to string structure by copying

Parameters
[in]ctxpoints to an instance of string structure
[in]objinput source pointing to an instance
Returns
the execution state of the function
Return values
0success
1failure

◆ a_str_ctor()

void a_str_ctor ( a_str * ctx)

constructor for string structure

Parameters
[in]ctxpoints to an instance of string structure

◆ a_str_die()

void a_str_die ( a_str * ctx)

deallocate a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure

◆ a_str_drop()

void a_str_drop ( a_str * ctx)

drop all characters for a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure

◆ a_str_dtor()

void a_str_dtor ( a_str * ctx)

destructor for string structure

Parameters
[in]ctxpoints to an instance of string structure

◆ a_str_exit()

char * a_str_exit ( a_str * ctx)

terminate a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
Note
should use free to release this memory
Returns
string of string structure

◆ a_str_getc()

int a_str_getc ( a_str * ctx)

get character for a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
Returns
parsed character
Return values
~0failure

◆ a_str_getn()

size_t a_str_getn ( a_str * ctx,
void * pdata,
size_t nbyte )

get memory block to a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
[in]pdatapoints to memory block to get
[in]nbytelength of memory block to get
Returns
number of parsed characters

◆ a_str_idx()

char a_str_idx ( a_str const * ctx,
ptrdiff_t idx )

access specified character for a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
[in]idxindex of character -length < idx < length
Returns
specified character
Return values
0out of bounds

◆ a_str_len()

size_t a_str_len ( a_str const * ctx)

length for a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
Returns
size of length

◆ a_str_mem()

size_t a_str_mem ( a_str const * ctx)

memory for a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
Returns
size of memory

◆ a_str_move()

void a_str_move ( a_str * ctx,
a_str * obj )

initialize a pointer to string structure by moving

Parameters
[in]ctxpoints to an instance of string structure
[in]objinput source pointing to an instance

◆ a_str_ptr()

char * a_str_ptr ( a_str const * ctx)

string for a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
Returns
string

◆ a_str_put()

int a_str_put ( a_str * ctx,
a_str const * obj )

put the string structure obj to the string structure ctx

Parameters
[in]ctxpoints to an instance of string structure
[in]objinput source pointing to an instance
Returns
the execution state of the function
Return values
0success
1failure

◆ a_str_putc()

int a_str_putc ( a_str * ctx,
int c )

put character to a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
[in]ccharacter to be parsed
Returns
parsed character
Return values
~0failure

◆ a_str_putf()

int a_str_putf ( a_str * ctx,
char const * fmt,
... )

format string append to a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
[in]fmtformat of string to be parsed
Returns
number of parsed characters

◆ a_str_putn()

int a_str_putn ( a_str * ctx,
void const * pdata,
size_t nbyte )

put memory block to a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
[in]pdatapoints to memory block to put
[in]nbytelength of memory block to put
Returns
the execution state of the function
Return values
0success
1failure

◆ a_str_puts()

int a_str_puts ( a_str * ctx,
void const * str )

put C string to a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
[in]strstring terminated with a null character
Returns
the execution state of the function
Return values
0success
1failure

◆ a_str_putv()

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

Parameters
[in]ctxpoints to an instance of string structure
[in]fmtformat of string to be parsed
[in]vainstance of variable argument
Returns
number of parsed characters

◆ a_str_set()

int a_str_set ( a_str * ctx,
a_str const * obj )

set the string structure obj to the string structure ctx

Parameters
[in]ctxpoints to an instance of string structure
[in]objinput source pointing to an instance
Returns
the execution state of the function
Return values
0success
1failure

◆ a_str_setf()

int a_str_setf ( a_str * ctx,
char const * fmt,
... )

format string to a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
[in]fmtformat of string to be parsed
Returns
number of parsed characters

◆ a_str_setlen()

int a_str_setlen ( a_str * ctx,
size_t num )

set length for a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
[in]numnew length for a pointer to string structure
Returns
the execution state of the function
Return values
0success
1failure

◆ a_str_setlen_()

void a_str_setlen_ ( a_str * ctx,
size_t num )

set length for a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
[in]numnew length for a pointer to string structure
Note
length must less than memory

◆ a_str_setn()

int a_str_setn ( a_str * ctx,
void const * pdata,
size_t nbyte )

set memory block to a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
[in]pdatapoints to memory block to set
[in]nbytelength of memory block to set
Returns
the execution state of the function
Return values
0success
1failure

◆ a_str_sets()

int a_str_sets ( a_str * ctx,
void const * str )

set C string to a pointer to string structure

Parameters
[in]ctxpoints to an instance of string structure
[in]strstring terminated with a null character
Returns
the execution state of the function
Return values
0success
1failure

◆ a_str_setv()

int a_str_setv ( a_str * ctx,
char const * fmt,
va_list va )

format string to a pointer to string structure via va_list

Parameters
[in]ctxpoints to an instance of string structure
[in]fmtformat of string to be parsed
[in]vainstance of variable argument
Returns
number of parsed characters

◆ a_str_utflen()

size_t a_str_utflen ( a_str const * ctx)

length for a pointer to string structure using UTF-8

Parameters
[in]ctxpoints to an instance of string structure
Returns
number of code points