X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=src%2Fsortaction.h;h=a99f786988b88a9cb238fc77122fb6a14aa5d4f2;hb=c997c8f4931cde3ede1b51905c10c4d9c442e630;hp=c56d0ee42a304bdf26db992f36d4c61a5f374f7a;hpb=efe42ca948704593c847996d0ae8da71d15bb75b;p=germs.git diff --git a/src/sortaction.h b/src/sortaction.h index c56d0ee..a99f786 100644 --- a/src/sortaction.h +++ b/src/sortaction.h @@ -21,11 +21,15 @@ #ifndef __SORTACTION_H__ #define __SORTACTION_H__ -#include +#include "shared_ptr.h" #include 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 ActionPointer; + typedef shared_ptr 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;