A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://couchbase.github.io/couchbase-lite-core/C/html/group___f_l_slice.html below:

LiteCore: Slices

#define  kFLSliceNull   ((FLSlice){NULL, 0})   A convenient constant denoting a null slice.
  #define  FLSTR(STR)   ((FLSlice){("" STR), sizeof(("" STR))-1})   Macro version of FLStr, for use in initializing compile-time constants.
  static FLPURE int  FLMemCmp (const void *FL_NULLABLE a, const void *FL_NULLABLE b, size_t size)   Exactly like memcmp, but safely handles the case where a or b is NULL and size is 0 (by returning 0), instead of producing "undefined behavior" as per the C spec.
  static void  FLMemCpy (void *FL_NULLABLE dst, const void *FL_NULLABLE src, size_t size)   Exactly like memcmp, but safely handles the case where dst or src is NULL and size is 0 (as a no-op), instead of producing "undefined behavior" as per the C spec.
  static FLSlice  FLStr (const char *FL_NULLABLE str)   Returns a slice pointing to the contents of a C string.
  FLEECE_PUBLIC bool  FLSlice_Equal (FLSlice a, FLSlice b) FLPURE   Equality test of two slices.
  FLEECE_PUBLIC int  FLSlice_Compare (FLSlice, FLSlice) FLPURE   Lexicographic comparison of two slices; basically like memcmp(), but taking into account differences in length.
  FLEECE_PUBLIC uint32_t  FLSlice_Hash (FLSlice s) FLPURE   Computes a 32-bit hash of a slice's data, suitable for use in hash tables.
  FLEECE_PUBLIC bool  FLSlice_ToCString (FLSlice s, char *buffer, size_t capacity)   Copies a slice to a buffer, adding a trailing zero byte to make it a valid C string.
  FLEECE_PUBLIC FLSliceResult  FLSliceResult_New (size_t)   Allocates an FLSliceResult of the given size, without initializing the buffer.
  FLEECE_PUBLIC FLSliceResult  FLSlice_Copy (FLSlice)   Allocates an FLSliceResult, copying the given slice.
  static FLSliceResult  FLSliceResult_CreateWith (const void *FL_NULLABLE bytes, size_t size)   Allocates an FLSliceResult, copying size bytes starting at buf.
  FLEECE_PUBLIC void  _FLBuf_Retain (const void *FL_NULLABLE)   FLEECE_PUBLIC void  _FLBuf_Release (const void *FL_NULLABLE)   static FLSliceResult  FLSliceResult_Retain (FLSliceResult s)   Increments the ref-count of a FLSliceResult.
  static void  FLSliceResult_Release (FLSliceResult s)   Decrements the ref-count of a FLSliceResult, freeing its memory if it reached zero.
  static FLSlice  FLSliceResult_AsSlice (FLSliceResult sr)   Type-casts a FLSliceResult to FLSlice, since C doesn't know it's a subclass.
  FLEECE_PUBLIC void  FL_WipeMemory (void *dst, size_t size)   Writes zeroes to size bytes of memory starting at dst.
  ◆ FLSTR #define FLSTR ( STR )    ((FLSlice){("" STR), sizeof(("" STR))-1})

Macro version of FLStr, for use in initializing compile-time constants.

STR must be a C string literal. Has zero runtime overhead.

◆ kFLSliceNull #define kFLSliceNull   ((FLSlice){NULL, 0})

A convenient constant denoting a null slice.

◆ FLHeapSlice

A heap-allocated, reference-counted slice.

This type is really just a hint in an API that the data can be retained instead of copied, by assigning it to an alloc_slice. You can just treat it like FLSlice.

◆ FLString ◆ FLStringResult ◆ _FLBuf_Release() ◆ _FLBuf_Retain() ◆ FL_WipeMemory()

Writes zeroes to size bytes of memory starting at dst.

Unlike a call to memset, these writes cannot be optimized away by the compiler. This is useful for securely removing traces of passwords or encryption keys.

◆ FLMemCmp()

Exactly like memcmp, but safely handles the case where a or b is NULL and size is 0 (by returning 0), instead of producing "undefined behavior" as per the C spec.

◆ FLMemCpy()

Exactly like memcmp, but safely handles the case where dst or src is NULL and size is 0 (as a no-op), instead of producing "undefined behavior" as per the C spec.

◆ FLSlice_Compare()

Lexicographic comparison of two slices; basically like memcmp(), but taking into account differences in length.

◆ FLSlice_Copy() ◆ FLSlice_Equal()

Equality test of two slices.

◆ FLSlice_Hash()

Computes a 32-bit hash of a slice's data, suitable for use in hash tables.

◆ FLSlice_ToCString()

Copies a slice to a buffer, adding a trailing zero byte to make it a valid C string.

If there is not enough capacity the slice will be truncated, but the trailing zero byte is always written.

Parameters
s The FLSlice to copy. buffer Where to copy the bytes. At least capacity bytes must be available. capacity The maximum number of bytes to copy (including the trailing 0.)
Returns
True if the entire slice was copied, false if it was truncated.
◆ FLSliceResult_AsSlice() ◆ FLSliceResult_CreateWith() ◆ FLSliceResult_New()

Allocates an FLSliceResult of the given size, without initializing the buffer.

◆ FLSliceResult_Release()

Decrements the ref-count of a FLSliceResult, freeing its memory if it reached zero.

◆ FLSliceResult_Retain() ◆ FLStr()

Returns a slice pointing to the contents of a C string.

It's OK to pass NULL; this returns an empty slice.

Note
If the string is a literal, it's more efficient to use FLSTR instead.
Performance is O(n) with the length of the string, since it has to call strlen.

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4