From cb2a79cd818fbfa50e7bdebd090e681a0073f9d5 Mon Sep 17 00:00:00 2001
From: Adrian Kummerlaender
Date: Sat, 7 Mar 2015 16:14:11 +0100
Subject: Changed `tav::Apply` implementation selection to template alias *
 there is no reason to differ from the rest of the library and use inheritance
 in this instance * added link to blog article on the _Scheme metaphor_ to
 `README.md`

---
 src/function/apply.h              | 4 ++--
 src/function/detail/apply.h       | 4 ++--
 src/function/detail/placeholder.h | 6 +++---
 3 files changed, 7 insertions(+), 7 deletions(-)

(limited to 'src/function')

diff --git a/src/function/apply.h b/src/function/apply.h
index 553ae7f..402b654 100644
--- a/src/function/apply.h
+++ b/src/function/apply.h
@@ -17,7 +17,7 @@ template <
 	template<typename...> class Function,
 	typename...                 Arguments
 >
-struct Apply : Cond<
+using Apply = Cond<
 	Branch<
 		GreaterThan<detail::count_placeholders<Arguments...>, Size<2>>,
 		detail::apply_variadic<Function, Arguments...>
@@ -33,7 +33,7 @@ struct Apply : Cond<
 	Else<
 		detail::apply_none<Function, Arguments...>
 	>
-> { };
+>;
 
 }
 
diff --git a/src/function/detail/apply.h b/src/function/detail/apply.h
index c06fe68..4b550e6 100644
--- a/src/function/detail/apply.h
+++ b/src/function/detail/apply.h
@@ -33,7 +33,7 @@ template <
 	template<typename...> class Function,
 	typename...                 Arguments
 >
-struct apply_single : apply_variadic<Function, Arguments...> {
+struct apply_single {
 	template <typename Partial0>
 	using function = typename apply_variadic<
 		Function,
@@ -45,7 +45,7 @@ template <
 	template<typename...> class Function,
 	typename...                 Arguments
 >
-struct apply_pair : apply_variadic<Function, Arguments...> {
+struct apply_pair {
 	template <typename Partial0, typename Partial1>
 	using function = typename apply_variadic<
 		Function,
diff --git a/src/function/detail/placeholder.h b/src/function/detail/placeholder.h
index 8105de5..00818b7 100644
--- a/src/function/detail/placeholder.h
+++ b/src/function/detail/placeholder.h
@@ -13,7 +13,7 @@ namespace detail {
 
 struct placeholder_tag { };
 
-template <int Index>
+template <std::size_t Index>
 struct placeholder : placeholder_tag { };
 
 template <typename Type>
@@ -28,8 +28,8 @@ struct resolve_placeholder {
 };
 
 template <
-	typename Partials,
-	int      Index
+	typename    Partials,
+	std::size_t Index
 >
 struct resolve_placeholder<Partials, placeholder<Index>> {
 	typedef Nth<Size<Index>, Partials> type;
-- 
cgit v1.2.3