libamxc  1.10.3
C Generic Data Containers
amxc_string.h File Reference

Ambiorix string API header file. More...

#include <stddef.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdarg.h>
#include <amxc/amxc_common.h>
#include <amxc/amxc_llist.h>

Go to the source code of this file.

Data Structures

struct  _amxc_string
 The string structure. More...
 

Macros

#define AMXC_STRING_MAX   SIZE_MAX
 
#define amxc_string_from_llist_it(ll_it)    amxc_container_of(ll_it, amxc_string_t, it)
 Get the pointer to a string structure from an amxc linked list iterator. More...
 

Typedefs

typedef struct _amxc_string amxc_string_t
 The string structure. More...
 
typedef enum _amxc_string_flags amxc_string_flags_t
 amxc_string_set_at possible flags More...
 
typedef int(* amxc_string_is_char_fn_t) (int c)
 Definition of the signature of the "is char" callback function. More...
 
typedef bool(* amxc_string_is_safe_cb_t) (const char *replacement)
 Checks if given replacement is safe to be included in a bigger string in a particular language. More...
 

Enumerations

enum  _amxc_string_flags { amxc_string_no_flags = 0x00 , amxc_string_insert = 0x00 , amxc_string_overwrite = 0x01 }
 amxc_string_set_at possible flags More...
 

Functions

int amxc_string_new (amxc_string_t **string, const size_t length)
 Allocates a string. More...
 
void amxc_string_delete (amxc_string_t **string)
 Frees the previously allocated string. More...
 
int amxc_string_init (amxc_string_t *const string, const size_t length)
 Initializes a string. More...
 
void amxc_string_clean (amxc_string_t *const string)
 Frees the string buffer and reset length attributes. More...
 
void amxc_string_reset (amxc_string_t *const string)
 Resets the buffer, reset the content to all 0. More...
 
int amxc_string_copy (amxc_string_t *const dest, const amxc_string_t *const src)
 Copies the content. More...
 
int amxc_string_grow (amxc_string_t *const string, const size_t length)
 Grows the string buffer. More...
 
int amxc_string_shrink (amxc_string_t *const string, const size_t length)
 Shrinks the string buffer. More...
 
int amxc_string_set_at (amxc_string_t *const string, const size_t pos, const char *const text, const size_t length, const amxc_string_flags_t flags)
 Set text in the string buffer at a certain position. More...
 
int amxc_string_remove_at (amxc_string_t *const string, const size_t pos, size_t length)
 Removes part of the text in the string buffer. More...
 
const char * amxc_string_get (const amxc_string_t *const string, const size_t offset)
 Gets the content of the string buffer. More...
 
char * amxc_string_take_buffer (amxc_string_t *const string)
 Takes the string buffer. More...
 
int amxc_string_push_buffer (amxc_string_t *const string, char *buffer, size_t length)
 Sets the string buffer. More...
 
char * amxc_string_dup (const amxc_string_t *const string, const size_t start, size_t length)
 Creates a full or partial copy of the text in the string buffer. More...
 
void amxc_string_triml (amxc_string_t *const string, amxc_string_is_char_fn_t fn)
 Trim left. More...
 
void amxc_string_trimr (amxc_string_t *const string, amxc_string_is_char_fn_t fn)
 Trim right. More...
 
void amxc_string_trim (amxc_string_t *const string, amxc_string_is_char_fn_t fn)
 Trim. More...
 
int amxc_string_vsetf (amxc_string_t *const string, const char *fmt, va_list ap)
 Sets the content of the string using printf like formatting. More...
 
int amxc_string_setf (amxc_string_t *const string, const char *fmt,...) __attribute__((format(printf
 Sets the content of the string using printf like formatting. More...
 
int int amxc_string_vsetf_checked (amxc_string_t *const string, amxc_string_is_safe_cb_t is_safe_cb, const char *fmt, va_list args)
 va_list version of amxc_string_setf_checked More...
 
int amxc_string_setf_checked (amxc_string_t *target_string, amxc_string_is_safe_cb_t is_safe_cb, const char *fmt,...) __attribute__((format(printf
 Sets the content of a string using printf like formatting while performing safety checks on the replacements. More...
 
int int amxc_string_vappendf (amxc_string_t *const string, const char *fmt, va_list ap)
 Appends a formatted string to a string. More...
 
int amxc_string_appendf (amxc_string_t *const string, const char *fmt,...) __attribute__((format(printf
 Appends a formatted string to a string. More...
 
int int amxc_string_vappendf_checked (amxc_string_t *target_string, amxc_string_is_safe_cb_t is_safe_cb, const char *fmt, va_list args)
 va_list version of amxc_string_appendf_checked More...
 
int amxc_string_appendf_checked (amxc_string_t *string, amxc_string_is_safe_cb_t is_safe_cb, const char *fmt,...) __attribute__((format(printf
 Appends a formatted string while performing safety checks on the replacements. More...
 
int int amxc_string_vprependf (amxc_string_t *const string, const char *fmt, va_list ap)
 Prepends a formatted string to a string. More...
 
int amxc_string_prependf (amxc_string_t *const string, const char *fmt,...) __attribute__((format(printf
 Prepends a formatted string to a string. More...
 
int bool amxc_string_is_numeric (const amxc_string_t *const string)
 Checks if a string is fully numeric. More...
 
int amxc_string_search (const amxc_string_t *const string, const char *needle, uint32_t start_pos)
 Searches a sub-string in a string. More...
 
int amxc_string_replace (amxc_string_t *const string, const char *needle, const char *newstr, uint32_t max)
 Replaces a number of sub-string occurrences in a string. More...
 
int amxc_string_to_upper (amxc_string_t *const string)
 Converts all lower case characters to upper case. More...
 
int amxc_string_to_lower (amxc_string_t *const string)
 Converts all upper case characters to lower case. More...
 
AMXC_INLINE int amxc_string_append (amxc_string_t *const string, const char *const text, const size_t length)
 Appends text to the end of the current content of the string buffer. More...
 
AMXC_INLINE int amxc_string_prepend (amxc_string_t *const string, const char *const text, const size_t length)
 Inserts text at the beginning of the current content of the string buffer. More...
 
AMXC_INLINE size_t amxc_string_buffer_length (const amxc_string_t *const string)
 Gets the current size of the allocate string buffer. More...
 
AMXC_INLINE size_t amxc_string_text_length (const amxc_string_t *const string)
 Gets the current size of the used string buffer. More...
 
AMXC_INLINE bool amxc_string_is_empty (const amxc_string_t *const string)
 Checks if the string is empty. More...
 
AMXC_INLINE int amxc_string_insert_at (amxc_string_t *const string, const size_t pos, const char *text, size_t length)
 Inserts a string of the given length into a string at a certain position. More...
 
size_t amxc_string_set (amxc_string_t *const string, const char *text)
 Sets a 0 terminated string in the string buffer. More...
 
int amxc_string_bytes_2_hex_binary (amxc_string_t *const string, const char bytes[], const uint32_t len, const char *sep)
 Creates a hexbinary string from an array of bytes. More...
 
int amxc_string_hex_binary_2_bytes (const amxc_string_t *const string, char **bytes, uint32_t *len, const char *sep)
 Creates an array of bytes from a hex binary string. More...
 

Detailed Description

Ambiorix string API header file.

Definition in file amxc_string.h.

Macro Definition Documentation

◆ AMXC_STRING_MAX

#define AMXC_STRING_MAX   SIZE_MAX

Definition at line 71 of file amxc_string.h.