Edinburgh Speech Tools  2.1-release
EST_UList Class Reference

#include <include/EST_UList.h>

Inheritance diagram for EST_UList:
Collaboration diagram for EST_UList:

Public Member Functions

 EST_UList ()
 
virtual ~EST_UList ()
 
EST_UItemnth_pointer (int n) const
 
EST_UIteminsert_after (EST_UItem *ptr, EST_UItem *new_item)
 
EST_UIteminsert_before (EST_UItem *ptr, EST_UItem *new_item)
 
EST_UItemremove (EST_UItem *ptr, void(*item_free)(EST_UItem *item))
 
EST_UItemremove (int n, void(*item_free)(EST_UItem *item))
 
void exchange (EST_UItem *a, EST_UItem *b)
 
void exchange (int i, int j)
 
void reverse ()
 
int length () const
 
int index (EST_UItem *item) const
 
int empty () const
 
void clear (void)
 
void append (EST_UItem *item)
 
void prepend (EST_UItem *item)
 
EST_UItemhead () const
 
EST_UItemtail () const
 

Static Public Member Functions

static bool operator_eq (const EST_UList &a, const EST_UList &b, bool(*eq)(const EST_UItem *item1, const EST_UItem *item2))
 
static int index (const EST_UList &l, const EST_UItem &b, bool(*eq)(const EST_UItem *item1, const EST_UItem *item2))
 
static void sort (EST_UList &a, bool(*gt)(const EST_UItem *item1, const EST_UItem *item2))
 
static void qsort (EST_UList &a, bool(*gt)(const EST_UItem *item1, const EST_UItem *item2), void(*exchange)(EST_UItem *item1, EST_UItem *item2))
 
static void sort_unique (EST_UList &l, bool(*eq)(const EST_UItem *item1, const EST_UItem *item2), bool(*gt)(const EST_UItem *item1, const EST_UItem *item2), void(*item_free)(EST_UItem *item))
 
static void merge_sort_unique (EST_UList &l, EST_UList &m, bool(*eq)(const EST_UItem *item1, const EST_UItem *item2), bool(*gt)(const EST_UItem *item1, const EST_UItem *item2), void(*item_free)(EST_UItem *item))
 

Protected Member Functions

void init ()
 
void clear_and_free (void(*item_free)(EST_UItem *item))
 

Protected Attributes

EST_UItemh
 
EST_UItemt
 

Detailed Description

Definition at line 59 of file EST_UList.h.

Constructor & Destructor Documentation

EST_UList::EST_UList ( )
inline

Definition at line 69 of file EST_UList.h.

virtual EST_UList::~EST_UList ( )
inlinevirtual

Definition at line 70 of file EST_UList.h.

Member Function Documentation

void EST_UList::init ( void  )
inlineprotected

Definition at line 65 of file EST_UList.h.

void EST_UList::clear_and_free ( void(*)(EST_UItem *item)  item_free)
protected

Definition at line 42 of file EST_UList.cc.

EST_UItem * EST_UList::nth_pointer ( int  n) const

Definition at line 79 of file EST_UList.cc.

EST_UItem * EST_UList::insert_after ( EST_UItem ptr,
EST_UItem new_item 
)

Definition at line 124 of file EST_UList.cc.

EST_UItem * EST_UList::insert_before ( EST_UItem ptr,
EST_UItem new_item 
)

Definition at line 147 of file EST_UList.cc.

EST_UItem * EST_UList::remove ( EST_UItem ptr,
void(*)(EST_UItem *item)  item_free 
)

Definition at line 92 of file EST_UList.cc.

EST_UItem * EST_UList::remove ( int  n,
void(*)(EST_UItem *item)  item_free 
)

Definition at line 116 of file EST_UList.cc.

void EST_UList::exchange ( EST_UItem a,
EST_UItem b 
)

Definition at line 170 of file EST_UList.cc.

void EST_UList::exchange ( int  i,
int  j 
)

Definition at line 214 of file EST_UList.cc.

void EST_UList::reverse ( )

Definition at line 239 of file EST_UList.cc.

int EST_UList::length ( void  ) const

Definition at line 57 of file EST_UList.cc.

int EST_UList::index ( EST_UItem item) const

Definition at line 67 of file EST_UList.cc.

int EST_UList::empty ( ) const
inline

Definition at line 89 of file EST_UList.h.

void EST_UList::clear ( void  )
inline

Definition at line 91 of file EST_UList.h.

void EST_UList::append ( EST_UItem item)

Definition at line 254 of file EST_UList.cc.

void EST_UList::prepend ( EST_UItem item)

Definition at line 268 of file EST_UList.cc.

EST_UItem* EST_UList::head ( ) const
inline

Definition at line 97 of file EST_UList.h.

EST_UItem* EST_UList::tail ( ) const
inline

Definition at line 99 of file EST_UList.h.

bool EST_UList::operator_eq ( const EST_UList a,
const EST_UList b,
bool(*)(const EST_UItem *item1, const EST_UItem *item2)  eq 
)
static

Definition at line 281 of file EST_UList.cc.

int EST_UList::index ( const EST_UList l,
const EST_UItem b,
bool(*)(const EST_UItem *item1, const EST_UItem *item2)  eq 
)
static

Definition at line 302 of file EST_UList.cc.

void EST_UList::sort ( EST_UList a,
bool(*)(const EST_UItem *item1, const EST_UItem *item2)  gt 
)
static

Definition at line 317 of file EST_UList.cc.

void EST_UList::qsort ( EST_UList a,
bool(*)(const EST_UItem *item1, const EST_UItem *item2)  gt,
void(*)(EST_UItem *item1, EST_UItem *item2)  exchange 
)
static

Definition at line 394 of file EST_UList.cc.

void EST_UList::sort_unique ( EST_UList l,
bool(*)(const EST_UItem *item1, const EST_UItem *item2)  eq,
bool(*)(const EST_UItem *item1, const EST_UItem *item2)  gt,
void(*)(EST_UItem *item)  item_free 
)
static

Definition at line 402 of file EST_UList.cc.

void EST_UList::merge_sort_unique ( EST_UList l,
EST_UList m,
bool(*)(const EST_UItem *item1, const EST_UItem *item2)  eq,
bool(*)(const EST_UItem *item1, const EST_UItem *item2)  gt,
void(*)(EST_UItem *item)  item_free 
)
static

Definition at line 432 of file EST_UList.cc.

Member Data Documentation

EST_UItem* EST_UList::h
protected

Definition at line 61 of file EST_UList.h.

EST_UItem* EST_UList::t
protected

Definition at line 62 of file EST_UList.h.


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