/* $Id: BestArray.h 15865 2013-04-02 13:24:34Z sloot $ $URL: https://ilk.uvt.nl/svn/trunk/sources/Timbl6/include/timbl/BestArray.h $ Copyright (c) 1998 - 2013 ILK - Tilburg University CLiPS - University of Antwerp This file is part of timbl timbl 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 3 of the License, or (at your option) any later version. timbl 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, see . For questions and suggestions, see: http://ilk.uvt.nl/software.html or send mail to: timbl@uvt.nl */ #ifndef TIMBL_BESTARRAY_H #define TIMBL_BESTARRAY_H #include "ticcutils/XMLtools.h" #include "timbl/neighborSet.h" namespace Timbl { class BestRec { friend std::ostream& operator<< ( std::ostream&, const BestRec * ); public: BestRec(); ~BestRec(); size_t totalBests() { return aggregateDist.totalSize(); }; double bestDistance; ValueDistribution aggregateDist; std::vector bestDistributions; std::vector bestInstances; private: BestRec( const BestRec& ); BestRec& operator=( const BestRec& ); }; class BestArray { friend std::ostream& operator<< ( std::ostream&, const BestArray& ); public: BestArray(): size(0){}; ~BestArray(); void init( unsigned int, unsigned int, bool, bool, bool ); double addResult( double, const ValueDistribution *, const std::string& ); void initNeighborSet( neighborSet& ) const; void addToNeighborSet( neighborSet& , size_t ) const; xmlNode *toXML() const; private: bool _storeInstances; bool _showDi; bool _showDb; unsigned int size; unsigned int maxBests; std::vector bestArray; }; } #endif // TIMBL_BESTARRAY_H