X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fstring.hpp;h=e2978ccd1ee3c03e077c7c30999ae2abf9a86714;hb=1f483f29cd415fdb749a5571d9e1483dd11a2ab0;hp=5703bb40e2060d8b7579103d14f124c254508cd5;hpb=647f5b82467172c55e456b6833d4c2f0bdc0bc5a;p=awesomized%2Flibmemcached diff --git a/libmemcached/string.hpp b/libmemcached/string.hpp index 5703bb40..e2978ccd 100644 --- a/libmemcached/string.hpp +++ b/libmemcached/string.hpp @@ -44,4 +44,51 @@ #define memcached_string_make_from_cstr util_string_make_from_cstr #define memcached_array_length util_array_length +/** + Strings are always under our control so we make some assumptions + about them. + 1) is_initialized is always valid. + 2) A string once intialized will always be, until free where we + unset this flag. + 3) A string always has a root. +*/ + +memcached_string_st *memcached_string_create(memcached_st *ptr, + memcached_string_st *string, + size_t initial_size); + +memcached_return_t memcached_string_check(memcached_string_st *string, size_t need); + +char *memcached_string_c_copy(memcached_string_st *string); + +memcached_return_t memcached_string_append_character(memcached_string_st *string, + char character); + +memcached_return_t memcached_string_append(memcached_string_st *string, + const char *value, size_t length); + +void memcached_string_reset(memcached_string_st *string); + +void memcached_string_free(memcached_string_st *string); +void memcached_string_free(memcached_string_st&); + +size_t memcached_string_length(const memcached_string_st *self); +size_t memcached_string_length(const memcached_string_st&); + +size_t memcached_string_size(const memcached_string_st *self); + +const char *memcached_string_value(const memcached_string_st *self); +const char *memcached_string_value(const memcached_string_st&); + +char *memcached_string_take_value(memcached_string_st *self); + +char *memcached_string_value_mutable(const memcached_string_st *self); + +bool memcached_string_set(memcached_string_st&, const char*, size_t); + +void memcached_string_set_length(memcached_string_st *self, size_t length); +void memcached_string_set_length(memcached_string_st&, const size_t length); + +bool memcached_string_resize(memcached_string_st&, const size_t); +char *memcached_string_c_str(memcached_string_st&);