The Pedigree Project
0.1
|
Public Types | |
typedef ::Iterator< T, node_t > | Iterator |
typedef Iterator::Const | ConstIterator |
typedef Iterator::Reverse | ReverseIterator |
typedef Iterator::ConstReverse | ConstReverseIterator |
Public Member Functions | |
List () | |
List (const List &x) | |
~List () | |
List & | operator= (const List &x) |
size_t | size () const |
size_t | count () const |
void | pushBack (const T &value) |
void | pushBack (T &&value) |
T | popBack () |
void | pushFront (const T &value) |
void | pushFront (T &&value) |
T | popFront () |
Iterator | erase (Iterator &Iter) |
ReverseIterator | erase (ReverseIterator &Iter) |
Iterator | begin () |
ConstIterator | begin () const |
Iterator | end () |
ConstIterator | end () const |
ReverseIterator | rbegin () |
ConstReverseIterator | rbegin () const |
ReverseIterator | rend () |
ConstReverseIterator | rend () const |
void | clear () |
void | assign (const List &x) |
Private Types | |
typedef _ListNode_t< T > | node_t |
Private Attributes | |
size_t | m_Count |
node_t * | m_First |
node_t * | m_Last |
uint32_t | m_Magic |
ObjectPool< node_t, nodePoolSize > | m_NodePool |
typedef Iterator::Const List< T, nodePoolSize >::ConstIterator |
typedef Iterator::ConstReverse List< T, nodePoolSize >::ConstReverseIterator |
|
private |
typedef Iterator::Reverse List< T, nodePoolSize >::ReverseIterator |
Get an iterator pointing to the beginning of the List
Definition at line 123 of file List.h.
Referenced by List< T, nodePoolSize >::assign(), MemoryMapManager::clone(), MemoryMapManager::contains(), Elf::create(), Elf::createNeededOnly(), Thread::cullEvent(), Event::deregisterThread(), Elf::Elf(), CacheManager::executeRequest(), PosixSubsystem::exit(), NetworkFilter::filter(), PosixSubsystem::freeMultipleFds(), Scheduler::getProcess(), Process::getUserId(), Thread::hasEvent(), CacheManager::initialise(), Uhci::irq(), Ohci::irq(), Group::isMember(), User::isMember(), Group::leave(), User::leave(), DynamicLinker::loadObject(), DynamicLinker::loadProgram(), VFS::mount(), Process::notifyWaiters(), PosixProcess::PosixProcess(), Semaphore::release(), AnonymousMemoryMap::remove(), MemoryMapManager::remove(), VFS::removeAllAliases(), Ohci::removeED(), Scheduler::removeProcess(), Thread::removeRequest(), Semaphore::removeThread(), Thread::removeWakeupWatcher(), Thread::reportWakeup(), AnonymousMemoryMap::setPermissions(), MemoryMapManager::setPermissions(), VbeDisplay::setScreenMode(), Display::setScreenMode(), Thread::setStatus(), Thread::shutdown(), AnonymousMemoryMap::split(), WaitCleanup::terminated(), RoundRobin::threadStatusChanged(), CacheManager::timer(), AnonymousMemoryMap::trap(), MemoryMapManager::trap(), CacheManager::trimAll(), MemoryMapManager::unmap(), MemoryMapManager::unmapAllUnlocked(), and VFS::~VFS().
|
inline |
Get an iterator pointing to the end of the List + 1
Definition at line 135 of file List.h.
Referenced by List< T, nodePoolSize >::assign(), MemoryMapManager::clone(), MemoryPressureManager::compact(), MemoryMapManager::contains(), Elf::create(), Elf::createNeededOnly(), Thread::cullEvent(), Event::deregisterThread(), Elf::Elf(), PosixSubsystem::exit(), NetworkFilter::filter(), PosixSubsystem::freeMultipleFds(), Process::getUserId(), Thread::hasEvent(), HostedIrqManager::interrupt(), Pic::interrupt(), Uhci::irq(), Ohci::irq(), Group::isMember(), User::isMember(), Group::leave(), User::leave(), DynamicLinker::loadObject(), DynamicLinker::loadProgram(), VFS::mount(), Process::notifyWaiters(), PosixProcess::PosixProcess(), Semaphore::release(), MemoryMapManager::remove(), VFS::removeAllAliases(), Ohci::removeED(), MemoryPressureManager::removeHandler(), Thread::removeRequest(), RoundRobin::removeThread(), Semaphore::removeThread(), Thread::removeWakeupWatcher(), Thread::reportWakeup(), MemoryMapManager::setPermissions(), Display::setScreenMode(), Thread::setStatus(), Thread::shutdown(), WaitCleanup::terminated(), RoundRobin::threadStatusChanged(), MemoryMapManager::trap(), MemoryMapManager::unmap(), MemoryMapManager::unmapAllUnlocked(), HostedIrqManager::unregisterHandler(), Pic::unregisterHandler(), and VFS::~VFS().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
The number of Nodes/Elements in the List
Definition at line 178 of file List.h.
Referenced by List< T, nodePoolSize >::assign(), List< T, nodePoolSize >::clear(), List< T, nodePoolSize >::count(), List< T, nodePoolSize >::erase(), List< T, nodePoolSize >::popBack(), List< T, nodePoolSize >::popFront(), List< T, nodePoolSize >::pushBack(), List< T, nodePoolSize >::pushFront(), and List< T, nodePoolSize >::size().
Pointer to the first Node in the List
Definition at line 180 of file List.h.
Referenced by List< T, nodePoolSize >::clear(), List< T, nodePoolSize >::erase(), List< T, nodePoolSize >::popBack(), List< T, nodePoolSize >::popFront(), List< T, nodePoolSize >::pushBack(), and List< T, nodePoolSize >::pushFront().
Pointer to the last Node in the List
Definition at line 182 of file List.h.
Referenced by List< T, nodePoolSize >::clear(), List< T, nodePoolSize >::erase(), List< T, nodePoolSize >::popBack(), List< T, nodePoolSize >::popFront(), List< T, nodePoolSize >::pushBack(), and List< T, nodePoolSize >::pushFront().
|
private |
Pool of node objects (to reduce impact of lots of node allocs/deallocs).
Definition at line 188 of file List.h.
Referenced by List< T, nodePoolSize >::popBack(), List< T, nodePoolSize >::popFront(), List< T, nodePoolSize >::pushBack(), and List< T, nodePoolSize >::pushFront().