X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FNavaids%2Ffixlist.hxx;h=dbf0ef2c579f9b0e1ef6c60dedc0ef246d0792b8;hb=4a79d82ba62fa4e5be759fa0fc4b20220e8da303;hp=20e7b8800e459a66f59b5942311bf89d922bc152;hpb=d05121ef4689d2b50b3fe1848cbb0d1f5a1db877;p=flightgear.git diff --git a/src/Navaids/fixlist.hxx b/src/Navaids/fixlist.hxx index 20e7b8800..dbf0ef2c5 100644 --- a/src/Navaids/fixlist.hxx +++ b/src/Navaids/fixlist.hxx @@ -16,7 +16,7 @@ // // 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., 675 Mass Ave, Cambridge, MA 02139, USA. +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // // $Id$ @@ -38,14 +38,13 @@ SG_USING_STD(map); SG_USING_STD(vector); SG_USING_STD(string); +// TODO - fix names may be globally non-unique. Allow for this. +typedef map < string, FGFix > fix_map_type; +typedef fix_map_type::iterator fix_map_iterator; +typedef fix_map_type::const_iterator fix_map_const_iterator; class FGFixList { - // typedef map < string, FGFix, less > fix_map_type; - typedef map < string, FGFix > fix_map_type; - typedef fix_map_type::iterator fix_map_iterator; - typedef fix_map_type::const_iterator fix_map_const_iterator; - fix_map_type fixlist; public: @@ -58,12 +57,21 @@ public: // query the database for the specified fix bool query( const string& ident, FGFix *f ); + + // Find fix of requested type with closest exact or following ident + // (by ACSII values) to that supplied (ie. a lower-bound lookup). + // Supplying true for exact forces only exact matches to be returned (similar to above function) + // Returns NULL if no match found. + const FGFix* findFirstByIdent( const string& ident, bool exact = false ); // query the database for the specified fix, lon and lat are // in degrees, elev is in meters bool query_and_offset( const string& ident, double lon, double lat, double elev, FGFix *f, double *heading, double *dist ); + + // Return a pointer to the master fixlist + inline const fix_map_type* getFixList() { return(&fixlist); } };