// @(#)root/cont:$Name: $:$Id: TSortedList.h,v 1.3 2004/11/12 22:02:11 brun Exp $
// Author: Fons Rademakers 14/09/95
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TSortedList
#define ROOT_TSortedList
//////////////////////////////////////////////////////////////////////////
// //
// TSortedList //
// //
// A sorted doubly linked list. All sortable classes inheriting from //
// TObject can be inserted in a TSortedList. //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TList
#include "TList.h"
#endif
class TSortedList : public TList {
public:
TSortedList(Bool_t order = kSortAscending) { fAscending = order; }
void Add(TObject *obj);
void Add(TObject *obj, Option_t *opt);
Bool_t IsSorted() const { return kTRUE; }
//---- the following methods are overridden to preserve sorting order
void AddFirst(TObject *obj) { Add(obj); }
void AddFirst(TObject *obj, Option_t *opt) { Add(obj, opt); }
void AddLast(TObject *obj) { Add(obj); }
void AddLast(TObject *obj, Option_t *opt) { Add(obj, opt); }
void AddAt(TObject *obj, Int_t) { Add(obj); }
void AddAfter(const TObject *, TObject *obj) { Add(obj); }
void AddAfter(TObjLink *, TObject *obj) { Add(obj); }
void AddBefore(const TObject *, TObject *obj) { Add(obj); }
void AddBefore(TObjLink *, TObject *obj) { Add(obj); }
void Sort(Bool_t = kSortAscending) { }
ClassDef(TSortedList,0) //A sorted list
};
#endif
syntax highlighted by Code2HTML, v. 0.9.1