Functions
Dynamic String Functions.

Dynamic string functions. More...

Functions

TRIO_PUBLIC_STRING trio_string_t * trio_string_create (int initial_size)
 Create a new dynamic string. More...
 
TRIO_PUBLIC_STRING void trio_string_destroy (trio_string_t *self)
 Deallocate the dynamic string and its contents. More...
 
TRIO_PUBLIC_STRING char * trio_string_get (trio_string_t *self, int offset)
 Get a pointer to the content. More...
 
TRIO_PUBLIC_STRING char * trio_string_extract (trio_string_t *self)
 Extract the content. More...
 
TRIO_PUBLIC_STRING void trio_xstring_set (trio_string_t *self, char *buffer)
 Set the content of the dynamic string. More...
 
TRIO_PUBLIC_STRING int trio_string_append (trio_string_t *self, trio_string_t *other)
 Append the second string to the first. More...
 
TRIO_PUBLIC_STRING int trio_string_contains (trio_string_t *self, trio_string_t *other)
 Search for the first occurrence of second parameter in the first. More...
 

Detailed Description

Dynamic string functions.

SYNOPSIS

cc ... -ltrio -lm

#include <triostr.h>

DESCRIPTION

Function Documentation

◆ trio_string_append()

TRIO_PUBLIC_STRING int trio_string_append ( trio_string_t *  self,
trio_string_t *  other 
)

Append the second string to the first.

Parameters
selfDynamic string to be modified.
otherDynamic string to copy from.
Returns
Boolean value indicating success or failure.

◆ trio_string_contains()

TRIO_PUBLIC_STRING int trio_string_contains ( trio_string_t *  self,
trio_string_t *  other 
)

Search for the first occurrence of second parameter in the first.

Parameters
selfDynamic string to be modified.
otherDynamic string to copy from.
Returns
Boolean value indicating success or failure.

References trio_contains().

◆ trio_string_create()

TRIO_PUBLIC_STRING trio_string_t * trio_string_create ( int  initial_size)

Create a new dynamic string.

Parameters
initial_sizeInitial size of the buffer.
Returns
Newly allocated dynamic string, or NULL if memory allocation failed.

◆ trio_string_destroy()

TRIO_PUBLIC_STRING void trio_string_destroy ( trio_string_t *  self)

Deallocate the dynamic string and its contents.

Parameters
selfDynamic string

References trio_destroy().

◆ trio_string_extract()

TRIO_PUBLIC_STRING char * trio_string_extract ( trio_string_t *  self)

Extract the content.

Parameters
selfDynamic String
Returns
Content of dynamic string.

The content is removed from the dynamic string. This enables destruction of the dynamic string without deallocation of the content.

◆ trio_string_get()

TRIO_PUBLIC_STRING char * trio_string_get ( trio_string_t *  self,
int  offset 
)

Get a pointer to the content.

Parameters
selfDynamic string.
offsetOffset into content.
Returns
Pointer to the content.

Offset can be zero, positive, or negative. If offset is zero, then the start of the content will be returned. If offset is positive, then a pointer to offset number of characters from the beginning of the content is returned. If offset is negative, then a pointer to offset number of characters from the ending of the string, starting at the terminating zero, is returned.

◆ trio_xstring_set()

TRIO_PUBLIC_STRING void trio_xstring_set ( trio_string_t *  self,
char *  buffer 
)

Set the content of the dynamic string.

Parameters
selfDynamic String
bufferThe new content.

Sets the content of the dynamic string to a copy buffer. An existing content will be deallocated first, if necessary.

Remarks
This function will make a copy of buffer. You are responsible for deallocating buffer yourself.

References trio_destroy(), and trio_duplicate().