OWLNext    7.0
Borland's Object Windows Library for the modern age
Loading...
Searching...
No Matches
owl::TBaseList< T > Class Template Reference

#include <owl/template.h>

Public Types

typedef void(*) IterFunc(T &, void *)
typedef bool(*) CondFunc(const T &, void *)
typedef TBaseListIterator< T > Iterator
typedef Iterator iterator

Public Member Functions

 TBaseList ()
 TBaseList (int, int lower=0, int delta=0)
 ~TBaseList ()
int LowerBound () const
uint Size () const
int UpperBound () const
uint ArraySize () const
bool IsFull () const
bool Empty () const
bool IsEmpty () const
uint GetItemsInContainer () const
void Add (const T &data)
void Add (TBaseListIterator< T > *iter, const T &data)
void Push (const T &data)
void PushBack (const T &data)
T Pop ()
const T & Top ()
const T & Bottom ()
void Flush ()
bool DetachItem (const T &t)
bool Detach (int loc)
bool HasMember (const T &t) const
TBaseNode< T > * Find (const T &t) const
void ForEach (IterFunc iter, void *args)
T * FirstThat (CondFunc cond, void *args) const
T * LastThat (CondFunc cond, void *args) const

Protected Member Functions

bool Remove (TBaseNode< T > *t)
int Add (TBaseNode< T > *node, const T &data)
int Add (TBaseNode< T > *node)
int Add (TBaseNode< T > *item, TBaseNode< T > *node)

Protected Attributes

TBaseNode< T > * First
TBaseNode< T > * Last
uint ItemSize
 optimization for Size()

Static Protected Attributes

static const int NPOS = -1

Friends

class TBaseListIterator< T >

Detailed Description

template<class T>
class owl::TBaseList< T >

Definition at line 1089 of file template.h.

Member Typedef Documentation

◆ CondFunc

template<class T>
typedef bool(*) owl::TBaseList< T >::CondFunc(const T &, void *)

Definition at line 1094 of file template.h.

◆ Iterator

template<class T>
typedef TBaseListIterator<T> owl::TBaseList< T >::Iterator

Definition at line 1096 of file template.h.

◆ iterator

template<class T>
typedef Iterator owl::TBaseList< T >::iterator

Definition at line 1098 of file template.h.

◆ IterFunc

template<class T>
typedef void(*) owl::TBaseList< T >::IterFunc(T &, void *)

Definition at line 1093 of file template.h.

Constructor & Destructor Documentation

◆ TBaseList() [1/2]

template<class T>
owl::TBaseList< T >::TBaseList ( )
inline

Definition at line 1985 of file template.h.

References First, ItemSize, and Last.

◆ TBaseList() [2/2]

template<class T>
owl::TBaseList< T >::TBaseList ( int ,
int lower = 0,
int delta = 0 )
inline

Definition at line 1990 of file template.h.

References First, ItemSize, and Last.

◆ ~TBaseList()

template<class T>
owl::TBaseList< T >::~TBaseList ( )
inline

Definition at line 1995 of file template.h.

References Flush().

Member Function Documentation

◆ Add() [1/5]

template<class T>
void owl::TBaseList< T >::Add ( const T & data)
inline

Definition at line 2001 of file template.h.

References owl::TBaseNode< T >::TBaseNode(), and Add().

◆ Add() [2/5]

template<class T>
void owl::TBaseList< T >::Add ( TBaseListIterator< T > * iter,
const T & data )
inline

Definition at line 2008 of file template.h.

References Add(), and owl::TBaseListIterator< T >::Cur.

◆ Add() [3/5]

template<class T>
int owl::TBaseList< T >::Add ( TBaseNode< T > * item,
TBaseNode< T > * node )
protected

Definition at line 2186 of file template.h.

References Add(), First, ItemSize, Last, owl::TBaseNode< T >::Next, NPOS, and owl::TBaseNode< T >::Prev.

◆ Add() [4/5]

template<class T>
int owl::TBaseList< T >::Add ( TBaseNode< T > * node)
protected

Definition at line 2167 of file template.h.

References First, ItemSize, Last, owl::TBaseNode< T >::Next, NPOS, and owl::TBaseNode< T >::Prev.

◆ Add() [5/5]

template<class T>
int owl::TBaseList< T >::Add ( TBaseNode< T > * node,
const T & data )
inlineprotected

Definition at line 2161 of file template.h.

References Add().

◆ ArraySize()

template<class T>
uint owl::TBaseList< T >::ArraySize ( ) const
inline

Definition at line 1107 of file template.h.

◆ Bottom()

template<class T>
const T & owl::TBaseList< T >::Bottom ( )
inline

Definition at line 2041 of file template.h.

References Last.

◆ Detach()

template<class T>
bool owl::TBaseList< T >::Detach ( int loc)

Definition at line 2072 of file template.h.

References First, owl::TBaseNode< T >::Next, Remove(), and Size().

◆ DetachItem()

template<class T>
bool owl::TBaseList< T >::DetachItem ( const T & t)

Definition at line 2060 of file template.h.

References Find(), and Remove().

◆ Empty()

template<class T>
bool owl::TBaseList< T >::Empty ( ) const
inline

Definition at line 1109 of file template.h.

◆ Find()

template<class T>
TBaseNode< T > * owl::TBaseList< T >::Find ( const T & t) const

Definition at line 2096 of file template.h.

References First, and owl::TBaseNode< T >::Next.

◆ FirstThat()

template<class T>
T * owl::TBaseList< T >::FirstThat ( CondFunc cond,
void * args ) const

Definition at line 2112 of file template.h.

References owl::TBaseNode< T >::Data, First, and owl::TBaseNode< T >::Next.

◆ Flush()

template<class T>
void owl::TBaseList< T >::Flush ( )

Definition at line 2047 of file template.h.

References First, ItemSize, Last, and owl::TBaseNode< T >::Next.

◆ ForEach()

template<class T>
void owl::TBaseList< T >::ForEach ( IterFunc iter,
void * args )

Definition at line 2105 of file template.h.

References First, and owl::TBaseNode< T >::Next.

◆ GetItemsInContainer()

template<class T>
uint owl::TBaseList< T >::GetItemsInContainer ( ) const
inline

Definition at line 1111 of file template.h.

◆ HasMember()

template<class T>
bool owl::TBaseList< T >::HasMember ( const T & t) const
inline

Definition at line 2090 of file template.h.

References Find().

◆ IsEmpty()

template<class T>
bool owl::TBaseList< T >::IsEmpty ( ) const
inline

Definition at line 1110 of file template.h.

◆ IsFull()

template<class T>
bool owl::TBaseList< T >::IsFull ( ) const
inline

Definition at line 1108 of file template.h.

◆ LastThat()

template<class T>
T * owl::TBaseList< T >::LastThat ( CondFunc cond,
void * args ) const

Definition at line 2121 of file template.h.

References Last, and owl::TBaseNode< T >::Prev.

◆ LowerBound()

template<class T>
int owl::TBaseList< T >::LowerBound ( ) const
inline

Definition at line 1104 of file template.h.

◆ Pop()

template<class T>
T owl::TBaseList< T >::Pop ( )
inline

Definition at line 2026 of file template.h.

References owl::TBaseNode< T >::Data, First, and Remove().

◆ Push()

template<class T>
void owl::TBaseList< T >::Push ( const T & data)
inline

Definition at line 2014 of file template.h.

References Add().

◆ PushBack()

template<class T>
void owl::TBaseList< T >::PushBack ( const T & data)
inline

Definition at line 2020 of file template.h.

References Add(), and Last.

◆ Remove()

template<class T>
bool owl::TBaseList< T >::Remove ( TBaseNode< T > * t)
protected

Definition at line 2130 of file template.h.

References First, ItemSize, Last, owl::TBaseNode< T >::Next, and owl::TBaseNode< T >::Prev.

◆ Size()

template<class T>
uint owl::TBaseList< T >::Size ( ) const
inline

Definition at line 1105 of file template.h.

◆ Top()

template<class T>
const T & owl::TBaseList< T >::Top ( )
inline

Definition at line 2035 of file template.h.

References owl::TBaseNode< T >::Data, and First.

◆ UpperBound()

template<class T>
int owl::TBaseList< T >::UpperBound ( ) const
inline

Definition at line 1106 of file template.h.

◆ TBaseListIterator< T >

template<class T>
friend class TBaseListIterator< T >
friend

Definition at line 1096 of file template.h.

Member Data Documentation

◆ First

template<class T>
TBaseNode<T>* owl::TBaseList< T >::First
protected

Definition at line 1140 of file template.h.

◆ ItemSize

template<class T>
uint owl::TBaseList< T >::ItemSize
protected

optimization for Size()

Definition at line 1142 of file template.h.

◆ Last

template<class T>
TBaseNode<T>* owl::TBaseList< T >::Last
protected

Definition at line 1141 of file template.h.

◆ NPOS

template<class T>
const int owl::TBaseList< T >::NPOS = -1
staticprotected

Definition at line 1144 of file template.h.


The documentation for this class was generated from the following files: