diff --git a/libwccl/CMakeLists.txt b/libwccl/CMakeLists.txt index 13dacc5f087b986d720c66e3156a6f0e134e1c0d..25eb988fef67ab1c409fbf0a2adca7f8f89ba992 100644 --- a/libwccl/CMakeLists.txt +++ b/libwccl/CMakeLists.txt @@ -27,6 +27,7 @@ endif(WIN32) SET(libwccl_STAT_SRC exception.cpp + ops/action.cpp ops/formatters.cpp ops/functions/bool/iteration.cpp ops/functions/bool/iterations/atleast.cpp diff --git a/libwccl/ops/action.cpp b/libwccl/ops/action.cpp new file mode 100644 index 0000000000000000000000000000000000000000..4bcf570ac86635584325057200a9e3e948224a23 --- /dev/null +++ b/libwccl/ops/action.cpp @@ -0,0 +1,15 @@ +#include <libwccl/ops/action.h> +#include <libwccl/ops/functions/constant.h> +namespace Wccl { + +namespace detail { + +boost::shared_ptr<Function<Position> > CurrentPos() +{ + static boost::shared_ptr<Function<Position> > current( + new Constant<Position>(Position(0))); + return current; +} + +} /* end ns detail */ +} /* end ns Wccl */ diff --git a/libwccl/ops/action.h b/libwccl/ops/action.h index 666030ce58376dc7c43d00e5c0f876a8af710d0d..12c21f60b467dc91c8dfc10ebc30e56684091e61 100644 --- a/libwccl/ops/action.h +++ b/libwccl/ops/action.h @@ -1,14 +1,9 @@ #ifndef LIBWCCL_OPS_ACTION_H #define LIBWCCL_OPS_ACTION_H -#include <boost/shared_ptr.hpp> -#include <boost/assert.hpp> -#include <boost/mpl/assert.hpp> -#include <boost/type_traits/is_base_of.hpp> - -#include <libwccl/ops/expression.h> -#include <libwccl/values/value.h> #include <libwccl/ops/actionexeccontext.h> +#include <libwccl/ops/function.h> + namespace Wccl { @@ -28,6 +23,10 @@ public: virtual Bool execute(const ActionExecContext& context) const = 0; }; +namespace detail { + boost::shared_ptr<Function<Position> > CurrentPos(); +} + } /* end ns Wccl */ #endif // LIBWCCL_OPS_ACTION_H