diff options
Diffstat (limited to 'private/utils/ulib/inc/sortcnt.hxx')
-rw-r--r-- | private/utils/ulib/inc/sortcnt.hxx | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/private/utils/ulib/inc/sortcnt.hxx b/private/utils/ulib/inc/sortcnt.hxx new file mode 100644 index 000000000..a4870e5a5 --- /dev/null +++ b/private/utils/ulib/inc/sortcnt.hxx @@ -0,0 +1,79 @@ +/*++ + +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_ |