From 2bf7fcb49d3668948366fa97529c58a684dff992 Mon Sep 17 00:00:00 2001 From: Adam Wardynski <award@.(B-4.4.46a)> Date: Wed, 12 Jan 2011 15:30:28 +0100 Subject: [PATCH] Function to return function returning Position(0) --- libwccl/CMakeLists.txt | 1 + libwccl/ops/action.cpp | 15 +++++++++++++++ libwccl/ops/action.h | 13 ++++++------- 3 files changed, 22 insertions(+), 7 deletions(-) create mode 100644 libwccl/ops/action.cpp diff --git a/libwccl/CMakeLists.txt b/libwccl/CMakeLists.txt index 13dacc5..25eb988 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 0000000..4bcf570 --- /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 666030c..12c21f6 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 -- GitLab