]> ruin.nu Git - germs.git/blobdiff - src/sortaction.h
Check for TR1 or Boost
[germs.git] / src / sortaction.h
index c56d0ee42a304bdf26db992f36d4c61a5f374f7a..a99f786988b88a9cb238fc77122fb6a14aa5d4f2 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:
 
@@ -48,13 +52,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.
@@ -101,6 +105,13 @@ class SortAction{
                std::string toString() const{
                        return _action->toString();
                }
+
+               /**
+                * Gives access to the implementation
+                */
+               const SortActionImpl& impl() const{
+                       return *_action;
+               }
        private:
                ActionPointer _action;