Groonga
Loading...
Searching...
No Matches
raw_string.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  grn_raw_string
 

Macros

#define GRN_RAW_STRING_INIT(string)
 
#define GRN_RAW_STRING_SET(string, bulk)
 
#define GRN_RAW_STRING_SET_CSTRING(string, cstring)
 
#define GRN_RAW_STRING_FILL(string, bulk)
 
#define GRN_RAW_STRING_EQUAL(string, other_string)
 
#define GRN_RAW_STRING_EQUAL_CSTRING(string, cstring)
 
#define GRN_RAW_STRING_EQUAL_CSTRING_CI(string, cstring)
 
#define GRN_RAW_STRING_START_WITH_CSTRING(string, cstring)
 
#define GRN_RAW_STRING_END_WITH_CSTRING(string, cstring)
 

Functions

GRN_API void grn_raw_string_lstrip (grn_ctx *ctx, grn_raw_string *string)
 
GRN_API bool grn_raw_string_have_sub_string (grn_ctx *ctx, grn_raw_string *string, grn_raw_string *sub_string)
 
GRN_API bool grn_raw_string_have_sub_string_cstring (grn_ctx *ctx, grn_raw_string *string, const char *sub_cstring)
 
GRN_API grn_raw_string grn_raw_string_substring (grn_ctx *ctx, const grn_raw_string *string, size_t start, int64_t length)
 

Macro Definition Documentation

◆ GRN_RAW_STRING_END_WITH_CSTRING

#define GRN_RAW_STRING_END_WITH_CSTRING (   string,
  cstring 
)
Value:
(cstring == NULL ? \
true : \
(string.length >= strlen(cstring) && \
memcmp(string.value + string.length - strlen(cstring), \
cstring, \
strlen(cstring)) == 0))

◆ GRN_RAW_STRING_EQUAL

#define GRN_RAW_STRING_EQUAL (   string,
  other_string 
)
Value:
(string.length == other_string.length && \
memcmp(string.value, other_string.value, string.length) == 0)

◆ GRN_RAW_STRING_EQUAL_CSTRING

#define GRN_RAW_STRING_EQUAL_CSTRING (   string,
  cstring 
)
Value:
(cstring == NULL ? \
(string.length == 0) : \
(string.length == strlen(cstring) && \
memcmp(string.value, cstring, string.length) == 0))

◆ GRN_RAW_STRING_EQUAL_CSTRING_CI

#define GRN_RAW_STRING_EQUAL_CSTRING_CI (   string,
  cstring 
)
Value:
(cstring == NULL ? \
(string.length == 0) : \
(string.length == strlen(cstring) && \
grn_strncasecmp(string.value, cstring, string.length) == 0))
#define grn_strncasecmp(string1, string2, n)
Definition portability.h:127

◆ GRN_RAW_STRING_FILL

#define GRN_RAW_STRING_FILL (   string,
  bulk 
)
Value:
do { \
if (bulk && GRN_TEXT_LEN(bulk) > 0) { \
string.value = GRN_TEXT_VALUE(bulk); \
string.length = GRN_TEXT_LEN(bulk); \
} \
} while (false)
#define GRN_TEXT_VALUE(obj)
Definition groonga.h:2785
#define GRN_TEXT_LEN(obj)
Definition groonga.h:2786

◆ GRN_RAW_STRING_INIT

#define GRN_RAW_STRING_INIT (   string)
Value:
do { \
string.value = NULL; \
string.length = 0; \
} while (false)

◆ GRN_RAW_STRING_SET

#define GRN_RAW_STRING_SET (   string,
  bulk 
)
Value:
do { \
if (bulk && GRN_TEXT_LEN(bulk) > 0) { \
string.value = GRN_TEXT_VALUE(bulk); \
string.length = GRN_TEXT_LEN(bulk); \
} else { \
string.value = NULL; \
string.length = 0; \
} \
} while (false)

◆ GRN_RAW_STRING_SET_CSTRING

#define GRN_RAW_STRING_SET_CSTRING (   string,
  cstring 
)
Value:
do { \
string.value = cstring; \
string.length = (cstring == NULL) ? 0 : strlen(cstring); \
} while (false)

◆ GRN_RAW_STRING_START_WITH_CSTRING

#define GRN_RAW_STRING_START_WITH_CSTRING (   string,
  cstring 
)
Value:
(cstring == NULL ? \
true : \
(string.length >= strlen(cstring) && \
memcmp(string.value, cstring, strlen(cstring)) == 0))

Function Documentation

◆ grn_raw_string_have_sub_string()

GRN_API bool grn_raw_string_have_sub_string ( grn_ctx ctx,
grn_raw_string string,
grn_raw_string sub_string 
)

◆ grn_raw_string_have_sub_string_cstring()

GRN_API bool grn_raw_string_have_sub_string_cstring ( grn_ctx ctx,
grn_raw_string string,
const char *  sub_cstring 
)

◆ grn_raw_string_lstrip()

GRN_API void grn_raw_string_lstrip ( grn_ctx ctx,
grn_raw_string string 
)

◆ grn_raw_string_substring()

GRN_API grn_raw_string grn_raw_string_substring ( grn_ctx ctx,
const grn_raw_string string,
size_t  start,
int64_t  length 
)