NT4/private/utils/ulib/inc/sortcnt.hxx
2020-09-30 17:12:29 +02:00

80 lines
1.3 KiB
C++

/*++
Copyright (c) 1990 Microsoft Corporation
Module Name:
sortcnt.hxx
Abstract:
This module contains the declaration for the SORTABLE_CONTAINER class.
SORTABLE_CONTAINER is an abstract classe that is derived from the abstract
class SEQUENTIAL_CONTAINER. It not only assumes a sequence but also
assumes that the sequence can be changed by sorting it's contents. That
is the contents have a relative order independent from how they were
placed in the container.
Author:
David J. Gilman (davegi) 29-Oct-1990
Environment:
ULIB, User Mode
--*/
#if ! defined( _SORTABLE_CONTAINER_ )
#define _SORTABLE_CONTAINER_
#include "seqcnt.hxx"
DECLARE_CLASS( SORTABLE_CONTAINER );
class SORTABLE_CONTAINER : public SEQUENTIAL_CONTAINER {
public:
VIRTUAL
~SORTABLE_CONTAINER(
);
VIRTUAL
BOOLEAN
Put(
IN OUT POBJECT Member
) PURE;
VIRTUAL
ULONG
QueryMemberCount(
) CONST PURE;
VIRTUAL
PITERATOR
QueryIterator(
) CONST PURE;
VIRTUAL
POBJECT
Remove(
IN OUT PITERATOR Position
) PURE;
VIRTUAL
BOOLEAN
Sort(
IN BOOLEAN Ascending DEFAULT TRUE
) PURE;
protected:
DECLARE_CONSTRUCTOR( SORTABLE_CONTAINER );
};
#endif // _SORTABLE_CONTAINER_