Reentrant version of the object array. More...
#include <reentrant_array.h>
Public Member Functions | |
| ReentrantArray () | |
| ReentrantArray (int capacity) | |
| void | append (zmm::Ref< T > el) |
| void | set (zmm::Ref< T > el, int index) |
| zmm::Ref< T > | get (int index) |
| void | remove (int index, int count=1) |
| void | removeUnordered (int index) |
| void | insert (int index, zmm::Ref< T > el) |
| int | size () |
| void | clear () |
| void | optimize () |
| Object ** | getObjectArray () |
| void | retain () |
| void | release () |
| int | getRefCount () |
Static Public Member Functions | |
| static void * | operator new (size_t size) |
| static void | operator delete (void *ptr) |
Protected Attributes | |
| zmm::Ref< Mutex > | mutex |
| ArrayBase | base |
| mt_atomic_t | _ref_count |
Reentrant version of the object array.
Definition at line 40 of file reentrant_array.h.
| ReentrantArray< T >::ReentrantArray | ( | ) | [inline] |
Definition at line 43 of file reentrant_array.h.
References ReentrantArray< T >::mutex.
| ReentrantArray< T >::ReentrantArray | ( | int | capacity | ) | [inline] |
Definition at line 47 of file reentrant_array.h.
References ReentrantArray< T >::mutex.
| void ReentrantArray< T >::append | ( | zmm::Ref< T > | el | ) | [inline] |
Reimplemented from zmm::Array< T >.
Definition at line 51 of file reentrant_array.h.
References ReentrantArray< T >::mutex.
| void ReentrantArray< T >::clear | ( | ) | [inline] |
Reimplemented from zmm::Array< T >.
Definition at line 97 of file reentrant_array.h.
References ReentrantArray< T >::mutex.
| zmm::Ref<T> ReentrantArray< T >::get | ( | int | index | ) | [inline] |
Reimplemented from zmm::Array< T >.
Definition at line 63 of file reentrant_array.h.
References ReentrantArray< T >::mutex.
| Object** zmm::Array< T >::getObjectArray | ( | ) | [inline, inherited] |
| int Object::getRefCount | ( | ) | [inherited] |
Definition at line 78 of file object.cc.
References zmm::Object::_ref_count, and atomic_get().
| void ReentrantArray< T >::insert | ( | int | index, | |
| zmm::Ref< T > | el | |||
| ) | [inline] |
Reimplemented from zmm::Array< T >.
Definition at line 83 of file reentrant_array.h.
References ReentrantArray< T >::mutex.
| void Object::operator delete | ( | void * | ptr | ) | [static, inherited] |
| void * Object::operator new | ( | size_t | size | ) | [static, inherited] |
| void ReentrantArray< T >::optimize | ( | ) | [inline] |
Reimplemented from zmm::Array< T >.
Definition at line 103 of file reentrant_array.h.
References ReentrantArray< T >::mutex.
| void Object::release | ( | ) | [inherited] |
Definition at line 66 of file object.cc.
References zmm::Object::_ref_count, atomic_dec(), and zmm::Object::mutex.
Referenced by zmm::ArrayBase::clear(), zmm::String::operator=(), DSOHash< zmm::Array< CacheObject > >::releaseData(), DSBHash< VT >::releaseData(), DSOHash< zmm::Array< CacheObject > >::remove(), zmm::ArrayBase::remove(), zmm::ArrayBase::removeUnordered(), zmm::ArrayBase::set(), zmm::ArrayBase::~ArrayBase(), DSOHash< zmm::Array< CacheObject > >::~DSOHash(), zmm::ObjectQueue< AutoscanDirectory >::~ObjectQueue(), zmm::ObjectStack< Element >::~ObjectStack(), and zmm::String::~String().
| void ReentrantArray< T >::remove | ( | int | index, | |
| int | count = 1 | |||
| ) | [inline] |
Reimplemented from zmm::Array< T >.
Definition at line 71 of file reentrant_array.h.
References ReentrantArray< T >::mutex, and ReentrantArray< T >::set().
| void ReentrantArray< T >::removeUnordered | ( | int | index | ) | [inline] |
Reimplemented from zmm::Array< T >.
Definition at line 77 of file reentrant_array.h.
References ReentrantArray< T >::mutex.
| void Object::retain | ( | ) | [inherited] |
Definition at line 58 of file object.cc.
References zmm::Object::_ref_count, atomic_inc(), and zmm::Object::mutex.
Referenced by zmm::ArrayBase::append(), zmm::ObjectQueue< AutoscanDirectory >::enqueue(), zmm::ArrayBase::insert(), zmm::String::operator=(), zmm::ObjectStack< Element >::push(), DSOHash< zmm::Array< CacheObject > >::put(), DSBHash< VT >::put(), zmm::ArrayBase::set(), and zmm::String::String().
| void ReentrantArray< T >::set | ( | zmm::Ref< T > | el, | |
| int | index | |||
| ) | [inline] |
Reimplemented from zmm::Array< T >.
Definition at line 57 of file reentrant_array.h.
References ReentrantArray< T >::mutex.
Referenced by ReentrantArray< T >::remove().
| int ReentrantArray< T >::size | ( | ) | [inline] |
Reimplemented from zmm::Array< T >.
Definition at line 89 of file reentrant_array.h.
References ReentrantArray< T >::mutex.
mt_atomic_t zmm::Object::_ref_count [protected, inherited] |
Definition at line 54 of file object.h.
Referenced by zmm::Object::getRefCount(), zmm::Object::Object(), zmm::Object::release(), and zmm::Object::retain().
ArrayBase zmm::Array< T >::base [protected, inherited] |
Definition at line 71 of file array.h.
Referenced by zmm::Array< CacheObject >::append(), zmm::Array< CacheObject >::Array(), zmm::Array< CacheObject >::clear(), zmm::Array< CacheObject >::get(), zmm::Array< CacheObject >::getObjectArray(), zmm::Array< CacheObject >::insert(), zmm::Array< CacheObject >::optimize(), zmm::Array< CacheObject >::remove(), zmm::Array< CacheObject >::removeUnordered(), zmm::Array< CacheObject >::set(), and zmm::Array< CacheObject >::size().
zmm::Ref<Mutex> ReentrantArray< T >::mutex [protected] |
Reimplemented from zmm::Object.
Definition at line 110 of file reentrant_array.h.
Referenced by ReentrantArray< T >::append(), ReentrantArray< T >::clear(), ReentrantArray< T >::get(), ReentrantArray< T >::insert(), ReentrantArray< T >::optimize(), ReentrantArray< T >::ReentrantArray(), ReentrantArray< T >::remove(), ReentrantArray< T >::removeUnordered(), ReentrantArray< T >::set(), and ReentrantArray< T >::size().
1.6.1