// // SplitMatches.h // // SplitMatches: Constructed from a Configuration, see doc // for format of config item "search_results_order". // Used to contain a number of ResultMatches, putting them in separate // lists depending on the URL with method Add. // Iterator methods Get_First and Get_Next returns the sub-lists. // Method Joined returns a new list with all the sub-lists // concatenated. // // $Id: SplitMatches.h,v 1.4 2004/05/28 13:15:24 lha Exp $ // // Part of the ht://Dig package // Copyright (c) 2000-2004 The ht://Dig Group // For copyright details, see the file COPYING in your distribution // or the GNU Library General Public License (LGPL) version 2 or later // // #ifndef _splitmatches_h #define _splitmatches_h #include "Configuration.h" #include "ResultMatch.h" #include "List.h" class SplitMatches { public: SplitMatches(Configuration &); ~SplitMatches(); void Add(ResultMatch *, char *); List *JoinedLists(); List *Get_First() { mySubAreas->Start_Get(); return Get_Next(); } List *Get_Next(); private: // These member functions are not supposed to be implemented. SplitMatches(); SplitMatches(const SplitMatches &); void operator= (const SplitMatches &); // (Lists of) Matches for each sub-area regex. List *mySubAreas; // Matches for everything else. List *myDefaultList; }; #endif /* _splitmatches_h */