GRU - Generic Reusable Utilities
Typedefs | Enumerations | Functions
gru_variant.c File Reference
#include <log/gru_logger.h>
#include "gru_variant.h"

Typedefs

typedef enum conversion_stat_t_ conversion_stat_t
 

Enumerations

enum  conversion_stat_t_ { VAR_ERROR = 0 , VAR_SUCCESS = 1 , VAR_OUT_OF_RANGE = 2 , VAR_NOT_CONVERSIBLE = 4 }
 

Functions

bool gru_variant_set_string (gru_variant_t *variant, const char *str)
 Set the variant value to a string. More...
 
void gru_variant_set_integer (gru_variant_t *variant, uint64_t number)
 Set the variant value to an integer. More...
 
void gru_variant_clean (gru_variant_t *variant)
 Release the memory used by a variant (if any used at all). More...
 
gru_variant_t gru_variant_parse (const char *str)
 Parses a string and sets it to the most appropriate type. More...
 
bool gru_variant_equals_str (gru_variant_t *variant, const char *str)
 Simple equality check to test if the variant value matches a given string. More...
 

Typedef Documentation

◆ conversion_stat_t

Enumeration Type Documentation

◆ conversion_stat_t_

Enumerator
VAR_ERROR 
VAR_SUCCESS 
VAR_OUT_OF_RANGE 
VAR_NOT_CONVERSIBLE 

Function Documentation

◆ gru_variant_clean()

void gru_variant_clean ( gru_variant_t variant)

Release the memory used by a variant (if any used at all).

It's safe to pass any variant even if no memory is used at all

Parameters
variantthe variant to release

◆ gru_variant_equals_str()

bool gru_variant_equals_str ( gru_variant_t variant,
const char *  str 
)

Simple equality check to test if the variant value matches a given string.

Parameters
variantthe variant to compare with
strthe string to check
Returns
true if it's equal or false otherwise

◆ gru_variant_parse()

gru_variant_t gru_variant_parse ( const char *  str)

Parses a string and sets it to the most appropriate type.

Parameters
strthe string to parse
Returns
a variant (if all conversion fails, it defaults to string)

◆ gru_variant_set_integer()

void gru_variant_set_integer ( gru_variant_t variant,
uint64_t  number 
)

Set the variant value to an integer.

Parameters
variantthe variant to hold the data
numberthe number to set

◆ gru_variant_set_string()

bool gru_variant_set_string ( gru_variant_t variant,
const char *  str 
)

Set the variant value to a string.

Parameters
variantthe variant hold the data
strthe string to set
Returns
false if unable to allocate memory for the string or true otherwise