34 #ifndef GRPC_SUPPORT_SLICE_H 
   35 #define GRPC_SUPPORT_SLICE_H 
   68 #define GPR_SLICE_INLINED_SIZE (sizeof(size_t) + sizeof(gpr_uint8 *) - 1) 
   93 #define GPR_SLICE_START_PTR(slice)                  \ 
   94   ((slice).refcount ? (slice).data.refcounted.bytes \ 
   95                     : (slice).data.inlined.bytes) 
   96 #define GPR_SLICE_LENGTH(slice)                      \ 
   97   ((slice).refcount ? (slice).data.refcounted.length \ 
   98                     : (slice).data.inlined.length) 
   99 #define GPR_SLICE_SET_LENGTH(slice, newlen)                       \ 
  100   ((slice).refcount ? ((slice).data.refcounted.length = (size_t)(newlen)) \ 
  101                     : ((slice).data.inlined.length = (gpr_uint8)(newlen))) 
  102 #define GPR_SLICE_END_PTR(slice) \ 
  103   GPR_SLICE_START_PTR(slice) + GPR_SLICE_LENGTH(slice) 
  104 #define GPR_SLICE_IS_EMPTY(slice) (GPR_SLICE_LENGTH(slice) == 0) 
  126                                  void (*destroy)(
void *, 
size_t));
 
gpr_slice gpr_slice_sub(gpr_slice s, size_t begin, size_t end)
gpr_slice gpr_slice_new_with_len(void *p, size_t len, void(*destroy)(void *, size_t))
gpr_slice gpr_slice_split_head(gpr_slice *s, size_t split)
size_t length
Definition: slice.h:84
gpr_uint8 * bytes
Definition: slice.h:83
gpr_slice gpr_slice_from_copied_string(const char *source)
gpr_slice gpr_empty_slice(void)
int gpr_slice_str_cmp(gpr_slice a, const char *b)
gpr_slice gpr_slice_from_copied_buffer(const char *source, size_t len)
gpr_slice gpr_slice_ref(gpr_slice s)
struct gpr_slice::@11::@12 refcounted
int gpr_slice_cmp(gpr_slice a, gpr_slice b)
union gpr_slice::@11 data
gpr_slice gpr_slice_new(void *p, size_t len, void(*destroy)(void *))
void(* unref)(void *)
Definition: slice.h:65
void(* ref)(void *)
Definition: slice.h:64
struct gpr_slice::@11::@13 inlined
struct gpr_slice_refcount * refcount
Definition: slice.h:80
gpr_slice gpr_slice_malloc(size_t length)
gpr_slice gpr_slice_split_tail(gpr_slice *s, size_t split)
#define GPR_SLICE_INLINED_SIZE
Definition: slice.h:68
void gpr_slice_unref(gpr_slice s)
gpr_uint8 length
Definition: slice.h:87
struct gpr_slice_refcount gpr_slice_refcount
struct gpr_slice gpr_slice
gpr_slice gpr_slice_sub_no_ref(gpr_slice s, size_t begin, size_t end)