String

#include <jnc_String.h>

// structs

struct jnc_String;

// global variables

JNC_SELECT_ANY jnc_String jnc_g_nullString = { 0 };

// global functions

static
bool_t
jnc_String_isEmpty(const jnc_String* string);

bool_t
jnc_String_isEqual(
    const jnc_String* string,
    const jnc_String* string2
);

bool_t
jnc_String_isEqualIgnoreCase(
    const jnc_String* string,
    const jnc_String* string2
);

int
jnc_String_cmp(
    const jnc_String* string,
    const jnc_String* string2
);

int
jnc_String_cmpIgnoreCase(
    const jnc_String* string,
    const jnc_String* string2
);

size_t
jnc_String_hash(const jnc_String* string);

size_t
jnc_String_hashIgnoreCase(const jnc_String* string);

jnc_DataPtr
jnc_String_sz(const jnc_String* string);

static
jnc_DataPtr
jnc_String_szn(const jnc_String* string);

void
jnc_String_setPtr(
    jnc_String* string,
    jnc_DataPtr ptr,
    size_t length
);