| /********************************************************************** |
| * File: sortflts.h (Formerly sfloats.h) |
| * Description: Code to maintain a sorted list of floats. |
| * Author: Ray Smith |
| * Created: Mon Oct 4 16:15:40 BST 1993 |
| * |
| * (C) Copyright 1993, Hewlett-Packard Ltd. |
| ** Licensed under the Apache License, Version 2.0 (the "License"); |
| ** you may not use this file except in compliance with the License. |
| ** You may obtain a copy of the License at |
| ** http://www.apache.org/licenses/LICENSE-2.0 |
| ** Unless required by applicable law or agreed to in writing, software |
| ** distributed under the License is distributed on an "AS IS" BASIS, |
| ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ** See the License for the specific language governing permissions and |
| ** limitations under the License. |
| * |
| **********************************************************************/ |
| |
| #ifndef SORTFLTS_H |
| #define SORTFLTS_H |
| |
| #include "elst.h" |
| #include "notdll.h" |
| #include "notdll.h" |
| |
| class SORTED_FLOAT:public ELIST_LINK |
| { |
| friend class SORTED_FLOATS; |
| |
| public: |
| SORTED_FLOAT() { |
| } //empty constructor |
| SORTED_FLOAT( //create one |
| float value, //value of entry |
| inT32 key) { //reference |
| entry = value; |
| address = key; |
| } |
| private: |
| float entry; //value of float |
| inT32 address; //key |
| }; |
| |
| ELISTIZEH (SORTED_FLOAT) |
| class SORTED_FLOATS |
| { |
| public: |
| SORTED_FLOATS() { //empty constructor |
| it.set_to_list (&list); |
| } |
| void add( //add sample |
| float value, //sample float |
| inT32 key); //retrieval key |
| void remove( //delete sample |
| inT32 key); //key to delete |
| float operator[] ( //index to list |
| inT32 index); //item to get |
| |
| private: |
| SORTED_FLOAT_LIST list; //list of floats |
| SORTED_FLOAT_IT it; //iterator built-in |
| }; |
| #endif |