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 #include "util/string.hpp"
20 #define memcached_literal_param util_literal_param
21 #define memcached_literal_param_size util_literal_param_size
22 #define memcached_string_make_from_cstr util_string_make_from_cstr
23 #define memcached_array_length util_array_length
26 Strings are always under our control so we make some assumptions
29 1) is_initialized is always valid.
30 2) A string once intialized will always be, until free where we
32 3) A string always has a root.
35 memcached_string_st *memcached_string_create(memcached_st *ptr, memcached_string_st *string,
38 memcached_return_t memcached_string_check(memcached_string_st *string, size_t need);
40 char *memcached_string_c_copy(memcached_string_st *string);
42 memcached_return_t memcached_string_append_character(memcached_string_st *string, char character);
44 memcached_return_t memcached_string_append(memcached_string_st *string, const char *value,
47 void memcached_string_reset(memcached_string_st *string);
49 void memcached_string_free(memcached_string_st *string);
50 void memcached_string_free(memcached_string_st &);
52 size_t memcached_string_length(const memcached_string_st *self);
53 size_t memcached_string_length(const memcached_string_st &);
55 size_t memcached_string_size(const memcached_string_st *self);
57 const char *memcached_string_value(const memcached_string_st *self);
58 const char *memcached_string_value(const memcached_string_st &);
60 char *memcached_string_take_value(memcached_string_st *self);
62 char *memcached_string_value_mutable(const memcached_string_st *self);
64 bool memcached_string_set(memcached_string_st &, const char *, size_t);
66 void memcached_string_set_length(memcached_string_st *self, size_t length);
67 void memcached_string_set_length(memcached_string_st &, const size_t length);
69 bool memcached_string_resize(memcached_string_st &, const size_t);
70 char *memcached_string_c_str(memcached_string_st &);