Loading...
Searching...
No Matches
EST_UList Class Reference
Inheritance diagram for EST_UList:
[legend]
Collaboration diagram for EST_UList:
[legend]

## Public Member Functions

EST_UItem * | nth_pointer (int n) const
EST_UItem * | insert_after (EST_UItem *ptr, EST_UItem *new_item)
EST_UItem * | insert_before (EST_UItem *ptr, EST_UItem *new_item)
EST_UItem * | remove (EST_UItem *ptr, void(*item_free)(EST_UItem *item))
EST_UItem * | remove (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_UItem * | head () const
EST_UItem * | tail () 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_UItem * | h
EST_UItem * | t

## 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 | ( |  | ) |

inline protected

Definition at line 66 of file EST_UList.h.

## clear_and_free()

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

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(* | item_free )(EST_UItem *item) )

Definition at line 90 of file EST_UList.cc.

## remove() [2/2]

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

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 | ( |  | ) | 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(* | eq )(const EST_UItem *item1, const EST_UItem *item2) )

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(* | eq )(const EST_UItem *item1, const EST_UItem *item2) )

static

Definition at line 300 of file EST_UList.cc.

## sort()

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

static

Definition at line 315 of file EST_UList.cc.

## qsort()

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

static

Definition at line 392 of file EST_UList.cc.

## sort_unique()

void EST_UList::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

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(* | 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

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:

- include/EST_UList.h
- base_class/EST_UList.cc