- memcached_st() :
- state(),
- flags(),
- distribution(),
- hashkit(),
- continuum_points_counter(),
- number_of_hosts(),
- servers(),
- last_disconnected_server(),
- snd_timeout(),
- rcv_timeout(),
- server_failure_limit(),
- io_msg_watermark(),
- io_bytes_watermark(),
- io_key_prefetch(),
- cached_errno(),
- poll_timeout(),
- connect_timeout(),
- retry_timeout(),
- continuum_count(),
- send_size(),
- recv_size(),
- user_data(),
- next_distribution_rebuild(),
- prefix_key_length(),
- number_of_replicas(),
- distribution_hashkit(),
- result(),
- continuum(),
- allocators(),
- on_clone(),
- on_cleanup(),
- get_key_failure(),
- delete_trigger(),
- callbacks(),
- prefix_key(),
- options()
+extern "C" {
+#endif
+
+LIBMEMCACHED_API
+void memcached_servers_reset(memcached_st *ptr);
+
+LIBMEMCACHED_API
+memcached_st *memcached_create(memcached_st *ptr);
+
+LIBMEMCACHED_API
+void memcached_free(memcached_st *ptr);
+
+LIBMEMCACHED_API
+void memcached_reset_last_disconnected_server(memcached_st *ptr);
+
+LIBMEMCACHED_API
+memcached_st *memcached_clone(memcached_st *clone, const memcached_st *ptr);
+
+LIBMEMCACHED_API
+void *memcached_get_user_data(const memcached_st *ptr);
+
+LIBMEMCACHED_API
+void *memcached_set_user_data(memcached_st *ptr, void *data);
+
+LIBMEMCACHED_API
+memcached_return_t memcached_push(memcached_st *destination, const memcached_st *source);
+
+LIBMEMCACHED_API
+memcached_server_instance_st memcached_server_instance_by_position(const memcached_st *ptr, uint32_t server_key);
+
+LIBMEMCACHED_API
+uint32_t memcached_server_count(const memcached_st *);
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+
+#ifdef __cplusplus
+class Memcached : private memcached_st {
+public:
+
+ Memcached()