Edinburgh Speech Tools 2.4-release
EST_UList Class Reference
Inheritance diagram for EST_UList:
Collaboration diagram for EST_UList:

Public Member Functions

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 60 of file EST_UList.h.

Constructor & Destructor Documentation

◆ EST_UList()

EST_UList::EST_UList ( )
inline

Definition at line 70 of file EST_UList.h.

◆ ~EST_UList()

EST_UList::~EST_UList ( )
inline

Definition at line 71 of file EST_UList.h.

Member Function Documentation

◆ init()

void EST_UList::init ( void  )
inlineprotected

Definition at line 66 of file EST_UList.h.

◆ clear_and_free()

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

Definition at line 40 of file EST_UList.cc.

◆ nth_pointer()

EST_UItem * EST_UList::nth_pointer ( int  n) const

Definition at line 77 of file EST_UList.cc.

◆ insert_after()

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

Definition at line 122 of file EST_UList.cc.

◆ insert_before()

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

Definition at line 145 of file EST_UList.cc.

◆ remove() [1/2]

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

Definition at line 90 of file EST_UList.cc.

◆ remove() [2/2]

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

Definition at line 114 of file EST_UList.cc.

◆ exchange() [1/2]

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

Definition at line 168 of file EST_UList.cc.

◆ exchange() [2/2]

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

Definition at line 212 of file EST_UList.cc.

◆ reverse()

void EST_UList::reverse ( )

Definition at line 237 of file EST_UList.cc.

◆ length()

int EST_UList::length ( void  ) const

Definition at line 55 of file EST_UList.cc.

◆ index() [1/2]

int EST_UList::index ( EST_UItem item) const

Definition at line 65 of file EST_UList.cc.

◆ empty()

int EST_UList::empty ( ) const
inline

Definition at line 90 of file EST_UList.h.

◆ clear()

void EST_UList::clear ( void  )
inline

Definition at line 92 of file EST_UList.h.

◆ append()

void EST_UList::append ( EST_UItem item)

Definition at line 252 of file EST_UList.cc.

◆ prepend()

void EST_UList::prepend ( EST_UItem item)

Definition at line 266 of file EST_UList.cc.

◆ head()

EST_UItem * EST_UList::head ( ) const
inline

Definition at line 98 of file EST_UList.h.

◆ tail()

EST_UItem * EST_UList::tail ( ) const
inline

Definition at line 100 of file EST_UList.h.

◆ operator_eq()

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 279 of file EST_UList.cc.

◆ index() [2/2]

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 300 of file EST_UList.cc.

◆ sort()

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

Definition at line 315 of file EST_UList.cc.

◆ qsort()

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 392 of file EST_UList.cc.

◆ sort_unique()

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 400 of file EST_UList.cc.

◆ merge_sort_unique()

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 430 of file EST_UList.cc.

Member Data Documentation

◆ h

EST_UItem* EST_UList::h
protected

Definition at line 62 of file EST_UList.h.

◆ t

EST_UItem* EST_UList::t
protected

Definition at line 63 of file EST_UList.h.


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