summaryrefslogtreecommitdiffstats
path: root/private/utils/ulib/inc/sortcnt.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'private/utils/ulib/inc/sortcnt.hxx')
-rw-r--r--private/utils/ulib/inc/sortcnt.hxx79
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_