2 +--------------------------------------------------------------------+
3 | libmemcached - C/C++ Client Library for memcached |
4 +--------------------------------------------------------------------+
5 | Redistribution and use in source and binary forms, with or without |
6 | modification, are permitted under the terms of the BSD license. |
7 | You should have received a copy of the license in a bundled file |
8 | named LICENSE; in case you did not receive a copy you can review |
9 | the terms online at: https://opensource.org/licenses/BSD-3-Clause |
10 +--------------------------------------------------------------------+
11 | Copyright (c) 2006-2014 Brian Aker https://datadifferential.com/ |
12 | Copyright (c) 2020 Michael Wallner <mike@php.net> |
13 +--------------------------------------------------------------------+
18 #define memcached_literal_param(str) (str),strlen(str)
19 #define memcached_literal_param_size(str) strlen(str)
20 #define memcached_string_make_from_cstr(str) (str),((str)?strlen(str):0)
23 Strings are always under our control so we make some assumptions
26 1) is_initialized is always valid.
27 2) A string once intialized will always be, until free where we
29 3) A string always has a root.
32 memcached_string_st *memcached_string_create(memcached_st *ptr, memcached_string_st *string,
35 memcached_return_t memcached_string_check(memcached_string_st *string, size_t need);
37 char *memcached_string_c_copy(memcached_string_st *string);
39 memcached_return_t memcached_string_append_character(memcached_string_st *string, char character);
41 memcached_return_t memcached_string_append(memcached_string_st *string, const char *value,
44 void memcached_string_reset(memcached_string_st *string);
46 void memcached_string_free(memcached_string_st *string);
47 void memcached_string_free(memcached_string_st &);
49 size_t memcached_string_length(const memcached_string_st *self);
50 size_t memcached_string_length(const memcached_string_st &);
52 size_t memcached_string_size(const memcached_string_st *self);
54 const char *memcached_string_value(const memcached_string_st *self);
55 const char *memcached_string_value(const memcached_string_st &);
57 char *memcached_string_take_value(memcached_string_st *self);
59 char *memcached_string_value_mutable(const memcached_string_st *self);
61 bool memcached_string_set(memcached_string_st &, const char *, size_t);
63 void memcached_string_set_length(memcached_string_st *self, size_t length);
64 void memcached_string_set_length(memcached_string_st &, const size_t length);
66 bool memcached_string_resize(memcached_string_st &, const size_t);
67 char *memcached_string_c_str(memcached_string_st &);