]> ruin.nu Git - germs.git/blobdiff - src/sortaction.h
Added progress information for the search
[germs.git] / src / sortaction.h
index 5b810500c2dbea3ab454415eb0cebc17361efea8..a1c5566acb16673368d5c3fc9260f9c68a055311 100644 (file)
 #ifndef __SORTACTION_H__
 #define __SORTACTION_H__
 
-#include <tr1/memory>
+#include "shared_ptr.h"
 #include <string>
 class GeneOrder;
 
 
+/**
+ * Abstraction for a sort action implementation, this is the base that other
+ * actions inherits from.
+ */
 class SortActionImpl{
        public:
 
@@ -40,7 +44,12 @@ class SortActionImpl{
                 * Compares sort actions.
                 */
                virtual bool operator==(const SortActionImpl& sa) const = 0;
-               
+
+               /**
+                * Compares sort actions.
+                */
+               virtual bool operator<(const SortActionImpl& sa) const = 0;
+
                /**
                 * Gives a string representation of the action, for output
                 */
@@ -48,13 +57,13 @@ class SortActionImpl{
 };
 
 /**
- * Abstraction of a sort action, all child actions has to be immutable.
+ * Abstraction of a sort action, all SortActionImpls has to be immutable.
  *
  * \author Michael Andreen
  */
 class SortAction{
        public:
-               typedef std::tr1::shared_ptr<SortActionImpl> ActionPointer;
+               typedef shared_ptr<SortActionImpl> ActionPointer;
 
                /**
                 * Creates a new sort action, given a specified action.
@@ -88,6 +97,13 @@ class SortAction{
                        return (*_action) == (*sa._action);
                }
 
+               /**
+                * Compares sort actions.
+                */
+               bool operator<(const SortAction& sa) const{
+                       return (*_action) < (*sa._action);
+               }
+
                /**
                 * Compares sort actions.
                 */