summaryrefslogtreecommitdiffstats
path: root/cpp/sca/kernel/function.hpp
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2009-10-18 22:24:59 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2009-10-18 22:24:59 +0000
commit344e0e58ad63fba551f46fc4d9a2468e395f473a (patch)
tree5a9c1c443635b52bf7f5e78c3bd627da81ea8e60 /cpp/sca/kernel/function.hpp
parent2ee1a61be35c4ae0a017bf65f4ac6779c59b4388 (diff)
Minor code cleanup, refactored list functions and cleaned up function names, moved support for elements to a new header file.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@826543 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--cpp/sca/kernel/function.hpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/cpp/sca/kernel/function.hpp b/cpp/sca/kernel/function.hpp
index c22a93c715..55637f68bf 100644
--- a/cpp/sca/kernel/function.hpp
+++ b/cpp/sca/kernel/function.hpp
@@ -163,6 +163,7 @@ public:
}
template<typename S> friend std::ostream& operator<<(std::ostream&, const lambda<S>&);
+ template<typename S> friend const bool isNil(const lambda<S>& l);
private:
typedef Callable<R,P...> CallableType;
@@ -174,6 +175,13 @@ template<typename S> std::ostream& operator<<(std::ostream& out, const lambda<S>
}
/**
+ * Return true if a lambda is nil.
+ */
+template<typename S> const bool isNil(const lambda<S>& l) {
+ return ((void*)l.callable) == 0;
+}
+
+/**
* Curry a lambda function.
*/
template<typename R, typename T, typename... P> class curried {