12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- //***************************************************************************
- //
- // Sortlist.h -- Sort List defines
- //
- // MechCommander II
- //
- //---------------------------------------------------------------------------//
- // Copyright (C) Microsoft Corporation. All rights reserved. //
- //===========================================================================//
- #ifndef SORTLIST_H
- #define SORTLIST_H
- //***************************************************************************
- //--------------
- // Include Files
- #ifndef DSTD_H
- #include "dstd.h"
- #endif
- //--------------------------------
- // Structure and Class Definitions
- typedef struct _SortListNode {
- float value; // sort value
- unsigned long id; // item
- } SortListNode;
- class SortList {
- protected:
- SortListNode* list;
- long numItems;
- public:
- void init (void) {
- list = NULL;
- numItems = 0;
- }
- SortList (void) {
- init();
- }
- long init (long numItems);
- void setId (long index, long id) {
- if ((index >= 0) && (index < numItems))
- list[index].id = id;
- }
- void setValue (long index, float value) {
- if ((index >= 0) && (index < numItems))
- list[index].value = value;
- }
- long getId (long index) {
- return(list[index].id);
- }
- float getValue (long index) {
- return(list[index].value);
- }
- void clear (bool setToMin = true);
- long getNumItems (void) {
- return(numItems);
- }
- void sort (bool descendingOrder = true);
- void destroy (void);
- ~SortList (void) {
- destroy();
- }
- };
- typedef SortList* SortListPtr;
- //***************************************************************************
- #endif
|