summaryrefslogtreecommitdiffstats
path: root/ldid.cpp
diff options
context:
space:
mode:
authorJay Freeman (saurik) <saurik@saurik.com>2015-09-27 15:14:07 -0700
committerJay Freeman (saurik) <saurik@saurik.com>2015-09-27 15:14:07 -0700
commite6a376fc606bd28796dd1733af079d5a825c1b52 (patch)
tree947650fca74d2753bf149a7b647ffa670edf4850 /ldid.cpp
parenta0c715e9c070b60702407b8713b3874593ff833d (diff)
downloadldid-e6a376fc606bd28796dd1733af079d5a825c1b52.tar.gz
ldid-e6a376fc606bd28796dd1733af079d5a825c1b52.tar.zst
ldid-e6a376fc606bd28796dd1733af079d5a825c1b52.zip
Move Functor implementation to header for the API.
Diffstat (limited to 'ldid.cpp')
-rw-r--r--ldid.cpp37
1 files changed, 0 insertions, 37 deletions
diff --git a/ldid.cpp b/ldid.cpp
index 9ed5792..0cb8dd2 100644
--- a/ldid.cpp
+++ b/ldid.cpp
@@ -923,43 +923,6 @@ class Map {
}
};
-// I wish Apple cared about providing quality toolchains :/
-
-template <typename Function_>
-class Functor;
-
-template <typename Type_, typename... Args_>
-class Functor<Type_ (Args_...)> {
- public:
- virtual Type_ operator ()(Args_... args) const = 0;
-};
-
-template <typename Function_>
-class FunctorImpl;
-
-template <typename Value_, typename Type_, typename... Args_>
-class FunctorImpl<Type_ (Value_::*)(Args_...) const> :
- public Functor<Type_ (Args_...)>
-{
- private:
- const Value_ *value_;
-
- public:
- FunctorImpl(const Value_ &value) :
- value_(&value)
- {
- }
-
- virtual Type_ operator ()(Args_... args) const {
- return (*value_)(args...);
- }
-};
-
-template <typename Function_>
-FunctorImpl<decltype(&Function_::operator())> fun(const Function_ &value) {
- return value;
-}
-
namespace ldid {
static void Allocate(void *idata, size_t isize, std::streambuf &output, const Functor<size_t (size_t)> &allocate, const Functor<size_t (std::streambuf &output, size_t, const std::string &, const char *)> &save) {