vector.h File Reference

The interface to a generic vector with binary heap functionality. More...

#include "bool.h"

Include dependency graph for vector.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Vector_t
 A generic vector that can hold a varying number of items that are all the same size. More...

Defines

#define HEAP_CHILD_INDEX(i)   (((i) << 1) + 1)
 Computes the index of the first child item in a binary heap given the parent's index.
#define HEAP_PARENT_INDEX(i)   (((i) - 1) >> 1)
 Computes the index of the parent item in a binary heap given the child's index.
#define VectorFirst(vec)   (((vec)->items) ? (vec)->array : NULL)
 A convienience macro for getting the first item in a Vector.
#define VectorInsert(vec, index)   VectorInsertMany(vec, index, 1)
 Inserts an uninitalized item within the given vector.
#define VectorItem(vec, index)
 A convienience macro for getting some item in a Vector.
#define VectorLast(vec)
 A convienience macro for getting the last item in a Vector.
#define VectorRemove(vec, index)   VectorRemoveMany(vec, index, 1)
 Removes an item from a Vector.

Typedefs

typedef void(*) DestructorOp (void *item)
 A function that handles deinitialization for an item.
typedef Bool(*) LessThanOp (void *item1, void *item2)
 A function that determines if an item is less than another.
typedef Vector_t Vector

Functions

void GenericPointerFree (void *item)
 A generic destructor for use with vectors of pointers.


Detailed Description

The interface to a generic vector with binary heap functionality.

Author:
Jeff Jackowski (jeffj@ro.com)
Copyright (C) 2007 Jeff Jackowski

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Or visit their website at: http://www.gnu.org/

Definition in file vector.h.


Generated on Mon May 28 04:41:40 2007 for Retro Tank Super Attack by  doxygen 1.5.2