ucommon
7.0.0
About: GNU uCommon C++ is a portable and optimized class framework for writing C++ applications that need to use threads and support concurrent synchronization, and that use sockets, XML parsing, object serialization, thread-optimized string and data structure classes, etc.. Fossies Dox: ucommon-7.0.0.tar.gz ("inofficial" and yet experimental doxygen-generated source code documentation) 
|
Go to the documentation of this file. 24 #ifndef _UCOMMON_SHARED_H_ 25 #define _UCOMMON_SHARED_H_ 27 #ifndef _UCOMMON_CPR_H_ 31 #ifndef _UCOMMON_ATOMIC_H_ 35 #ifndef _UCOMMON_PROTOCOLS_H_ 39 #ifndef _UCOMMON_OBJECT_H_ 43 #ifndef _UCOMMON_TYPEREF_H_ 47 #ifndef _UCOMMON_THREAD_H_ 51 #ifndef _UCOMMON_SOCKET_H_ 143 void release(
void *obj);
145 void insert(
const void *key,
void *value,
size_t path);
147 void replace(
Index *ind,
void *value);
149 void remove(
Index *ind,
size_t path);
152 static size_t keypath(
const uint8_t *
addr,
size_t size);
169 return !memcmp(key1, key2,
sizeof(T));
207 template<
typename K,
typename V>
218 size_t path = mapped_keypath<K>(key);
221 if(mapped_keyequal<K>((
const K*)(ip->
key), key)) {
233 if(mapped_keyequal<K>((
const K*)(ip->
key), key)) {
234 return static_cast<V*>(ip->
value);
242 void set(
const K* key, V* ptr) {
243 size_t path = mapped_keypath<K>(key);
246 if(mapped_keyequal<K>((
const K*)(ip->
key), key)) {
251 insert((
const void *)key, (
void *)ptr, path);
size_t mapped_keypath< struct sockaddr >(const struct sockaddr *addr)
size_t mapped_keypath(const T *addr)
mapped_pointer(size_t indexes=37, condlock_t *locking=NULL, size_t paging=0)
sharedref & operator=(T obj)
void insert(const void *key, void *value, size_t path)
void put(typeref< T > &ptr)
bool mapped_keyequal< struct sockaddr >(const struct sockaddr *s1, const struct sockaddr *s2)
bool mapped_keyequal(const T *key1, const T *key2)
void replace(Index *ind, void *value)
LinkedObject * modify(size_t path)
LinkedObject * access(size_t path)
bool eq(const struct sockaddr *s1, const struct sockaddr *s2)
static size_t keypath(const uint8_t *addr, size_t size)
void remove(const K *key)
void remove(Index *ind, size_t path)
static bool equal(const struct sockaddr *address1, const struct sockaddr *address2)
sharedref & operator=(typeref< T > ptr)
static socklen_t len(const struct sockaddr *address)
bool mapped_keyequal< char >(const char *k1, const char *k2)
void put(TypeRef &object)
const struct sockaddr * addr(Socket::address &address)
size_t mapped_keypath< char >(const char *addr)
void set(const K *key, V *ptr)