From 5a9e048c1efc3d0697debf968b4aeb056c04c391 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Fri, 16 Jan 2015 19:52:36 +0100 Subject: Redefined function template structs as template aliases --- src/operation/math.h | 40 ++++++++++++++++------------------------ 1 file changed, 16 insertions(+), 24 deletions(-) (limited to 'src/operation') diff --git a/src/operation/math.h b/src/operation/math.h index 64a5cdb..82740b6 100644 --- a/src/operation/math.h +++ b/src/operation/math.h @@ -9,45 +9,37 @@ template < typename X, typename Y > -struct add { - typedef std::integral_constant< - decltype(X::value + Y::value), - X::value + Y::value - > type; -}; +using add = typename std::integral_constant< + decltype(X::value + Y::value), + X::value + Y::value +>::type; template < typename X, typename Y > -struct substract { - typedef std::integral_constant< - decltype(X::value - Y::value), - X::value - Y::value - > type; -}; +using substract = typename std::integral_constant< + decltype(X::value - Y::value), + X::value - Y::value +>::type; template < typename X, typename Y > -struct multiply { - typedef std::integral_constant< - decltype(X::value * Y::value), - X::value * Y::value - > type; -}; +using multiply = typename std::integral_constant< + decltype(X::value * Y::value), + X::value * Y::value +>::type; template < typename X, typename Y > -struct divide { - typedef std::integral_constant< - decltype(X::value / Y::value), - X::value / Y::value - > type; -}; +using divide = typename std::integral_constant< + decltype(X::value / Y::value), + X::value / Y::value +>::type; } -- cgit v1.2.3