duncan
Mom and Dad were wrong!
Public Types | Public Member Functions | Static Public Member Functions
server::CharList< T > Class Template Reference

#include <charlist.h>

List of all members.

Public Types

typedef std::pair< T
*, std::pair< double, double > > 
node_t
typedef tree_t::const_iterator const_iterator

Public Member Functions

 CharList ()
void insert (T *c)
void erase (T *c)
void optimise ()
const_iterator begin ()
const_iterator end ()
void square (double rc, double cc, double r, std::vector< node_t > &v) const
void square (T *c, double r, std::vector< node_t > &v) const
T * nearest (double r, double c)
void move (T *e, double r, double c)

Static Public Member Functions

static double acc (node_t c, size_t k)

Detailed Description

template<typename T>
class server::CharList< T >

Maintain a list of characters in such a way that all characters inside a given rectangle can be found quickly.

Author:
Harry Slatyer
Malcolm Gill

see LICENSE


Constructor & Destructor Documentation

template<typename T>
server::CharList< T >::CharList ( ) [inline]

This is a constructor. It constructs.


Member Function Documentation

template<typename T>
static double server::CharList< T >::acc ( node_t  c,
size_t  k 
) [inline, static]

Get a particular coordinate of a character's position. c pointer to character

Parameters:
kcoordinate index (0 or 1)
Returns:
kth coordinate of character c's position
template<typename T>
const_iterator server::CharList< T >::begin ( ) [inline]

Get an iterator pointing to the first element of the tree.

Returns:
iterator pointing to the start
template<typename T>
const_iterator server::CharList< T >::end ( ) [inline]

Get an iterator pointing to the last element of the tree.

Returns:
iterator pointing to the end
template<typename T>
void server::CharList< T >::erase ( T *  c) [inline]

Remove an element from the list.

Parameters:
cpointer to element
template<typename T>
void server::CharList< T >::insert ( T *  c) [inline]

Add an element to the tree.

Parameters:
cpointer to element
template<typename T>
void server::CharList< T >::move ( T *  e,
double  r,
double  c 
) [inline]

Updates the position of the specified element in the list.

Parameters:
epointer to element
rnew row
cnew col
template<typename T>
T* server::CharList< T >::nearest ( double  r,
double  c 
) [inline]

Get the character closest to a certain point.

Parameters:
rrow of point
ccolumn of point
Returns:
pointer to nearest character
template<typename T>
void server::CharList< T >::optimise ( ) [inline]

Rebuilds the tree.

template<typename T>
void server::CharList< T >::square ( double  rc,
double  cc,
double  r,
std::vector< node_t > &  v 
) const [inline]

Get all characters inside a square.

Parameters:
rcrow of center
cccol of center
r`radius' of square
vvector to fill with characters
template<typename T>
void server::CharList< T >::square ( T *  c,
double  r,
std::vector< node_t > &  v 
) const [inline]

Get all characters inside a square centered at a certain character.

Parameters:
ccenter character
r`radius' of square
vvector to fill with characters

The documentation for this class was generated from the following file:
 All Classes Namespaces Functions Variables Typedefs Enumerations