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. 33 #ifndef _UCOMMON_LINKED_H_ 34 #define _UCOMMON_LINKED_H_ 36 #ifndef _UCOMMON_CONFIG_H_ 40 #ifndef _UCOMMON_OBJECT_H_ 212 unsigned count(
void)
const;
228 virtual void lock_index(
void);
234 virtual void unlock_index(
void);
271 return polystatic_cast<LinkedObject*>(head);
279 return polystatic_cast<LinkedObject*>(tail);
287 return polystatic_cast<LinkedObject*>(head);
420 virtual void clearId(
void);
504 static unsigned keyindex(
const char *name,
unsigned size);
538 virtual int compare(
const char *name)
const;
545 inline bool equal(
const char *name)
const {
546 return (compare(name) == 0);
555 return compare(name) == 0;
564 return compare(name) != 0;
651 NamedTree *getChild(
const char *name)
const;
659 NamedTree *getLeaf(
const char *name)
const;
668 return static_cast<NamedTree *>(Child.
begin());
676 return static_cast<NamedTree *>(Parent);
685 return static_cast<NamedTree *>(Child.
getIndexed(index));
693 return const_cast<OrderedIndex*>(&Child);
700 inline operator bool()
const {
717 void setId(
char *name);
730 return (Child.
begin() == NULL);
738 return (Parent == NULL);
771 friend class ObjectQueue;
827 return polypointer_cast<DLinkedObject *>(Root->
head) ==
this;
835 return polypointer_cast<DLinkedObject *>(Root->
tail) ==
this;
843 return static_cast<DLinkedObject*>(Prev);
908 template <
typename T,
class O = LinkedObject>
958 inline void set(
const T& typed_value) {
975 inline operator T&() {
1030 ptr = static_cast<T*>(index->
begin());
1061 ptr = static_cast<T*>(index->
begin());
1092 inline operator T*()
const {
1100 ptr = static_cast<T*>(
ptr->getPrev());
1107 ptr = static_cast<T*>(
ptr->getNext());
1115 return static_cast<T*>(
ptr->getNext());
1124 return static_cast<T*>(
ptr->getPrev());
1131 ptr = static_cast<T*>(
ptr->getNext());
1138 ptr = static_cast<T*>(
ptr->getPrev());
1146 return (
ptr->getNext() != NULL);
1154 return (
ptr->getPrev() != NULL);
1161 inline operator bool()
const {
1162 return (
ptr != NULL);
1170 return (
ptr == NULL);
1174 return (
ptr != NULL);
1183 return static_cast<LinkedObject**>(r);
1204 template <
typename T>
1247 inline const T&
get(
void)
const {
1265 return (node == NULL) ? NULL : node->
value;
1304 inline void set(
const T& reference) {
1330 return static_cast<treemap*>(
Parent);
DLinkedObject * getPrev(void) const
void operator()(const T data)
DLinkedObject & operator+=(DLinkedObject *object)
treemap * path(const char *path) const
void setPointer(const T pointer)
void operator=(OrderedIndex *index)
treemap * getLeaf(const char *name) const
treemap * getFirst(void) const
treemap * find(const char *name) const
linked_value & operator=(const T &typed_value)
LinkedObject ** root(void) const
LinkedObject * operator*() const
treemap * getParent(void) const
static NamedObject ** index(NamedObject **hash, unsigned size)
NamedObject * getNext(void) const
NamedTree * find(const char *name) const
void set(const T &reference)
void operator=(linked_pointer &pointer)
LinkedObject * getNext(void) const
void operator=(T *pointer)
DLinkedObject & operator-=(DLinkedObject *object)
treemap * getIndexed(unsigned index) const
void enlist(LinkedObject **root)
static struct termios orig current
treemap * leaf(const char *name) const
NamedTree * getChild(const char *name) const
NamedTree * getFirst(void) const
const T & operator*() const
static T getPointer(treemap *node)
NamedTree * getLeaf(const char *name) const
bool operator==(const char *name) const
__DELETE_COPY(linked_value)
NamedTree * getIndexed(unsigned index) const
linked_value(LinkedObject **root)
OrderedObject * getNext(void) const
NamedTree * leaf(const char *name) const
static shell::stringopt hash('h', "--digest", _TEXT("digest method (sha)"), "method", "sha")
DLinkedObject & operator*=(DLinkedObject *object)
linked_value(LinkedObject **root, const T &typed_value)
treemap(treemap *parent, char *name, T &reference)
NamedTree * getParent(void) const
OrderedIndex(const OrderedIndex &source)
treemap * getChild(const char *name) const
void set(const T &typed_value)
static LinkedObject * getIndexed(LinkedObject *root, unsigned index)
OrderedIndex & operator=(const OrderedIndex &object)
linked_value(OrderedIndex *index, const T &typed_value)
LinkedObject * getIndexed(unsigned index) const
OrderedIndex * getIndex(void) const
const T getPointer(void) const
bool operator!=(const char *name) const
linked_pointer(const linked_pointer &pointer)
LinkedObject * end(void) const
linked_pointer(OrderedIndex *index)
treemap(const treemap &source)
void operator=(LinkedObject *pointer)
linked_pointer(LinkedObject *pointer)
bool is_attribute(void) const
const T & getData(void) const
treemap(treemap *parent, char *name)
linked_pointer(T *pointer)
linked_value(OrderedIndex *index)
void relist(NamedTree *trunk=NULL)
const T & get(void) const
DLinkedObject * getNext(void) const
void operator=(const T &data)
T getValue(const char *name) const
linked_pointer(const LinkedObject *pointer)
LinkedObject * LinkedIndex
bool equal(const char *name) const
LinkedObject * begin(void) const
NamedTree * path(const char *path) const
ReusableObject * getNext(void)