mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-10-05 13:00:00 +00:00
fix coding-style
This commit is contained in:
parent
df3023db30
commit
5ce2cb023c
196 changed files with 1180 additions and 1787 deletions
|
@ -26,7 +26,8 @@ namespace sprout {
|
|||
|
||||
// D.9.2 bind1st
|
||||
template<typename Fn, typename T>
|
||||
inline SPROUT_CONSTEXPR sprout::binder1st<Fn> bind1st(Fn const& fn, T const& x) {
|
||||
inline SPROUT_CONSTEXPR sprout::binder1st<Fn>
|
||||
bind1st(Fn const& fn, T const& x) {
|
||||
return sprout::binder1st<Fn>(fn, typename Fn::first_argument_type(x));
|
||||
}
|
||||
} // namespace sprout
|
||||
|
|
|
@ -26,7 +26,8 @@ namespace sprout {
|
|||
|
||||
// D.9.4 bind2nd
|
||||
template<typename Fn, typename T>
|
||||
inline SPROUT_CONSTEXPR sprout::binder2nd<Fn> bind2nd(Fn const& op, T const& x) {
|
||||
inline SPROUT_CONSTEXPR sprout::binder2nd<Fn>
|
||||
bind2nd(Fn const& op, T const& x) {
|
||||
return sprout::binder2nd<Fn>(op, typename Fn::second_argument_type(x));
|
||||
}
|
||||
} // namespace sprout
|
||||
|
|
|
@ -41,7 +41,8 @@ namespace sprout {
|
|||
|
||||
namespace hash_detail {
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value_signed_2(T val, int length, std::size_t seed, T positive, std::size_t i) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value_signed_2(T val, int length, std::size_t seed, T positive, std::size_t i) {
|
||||
return i > 0
|
||||
? hash_value_signed_2(
|
||||
val,
|
||||
|
@ -54,11 +55,13 @@ namespace sprout {
|
|||
;
|
||||
}
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value_signed_1(T val, int length, std::size_t seed, T positive) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value_signed_1(T val, int length, std::size_t seed, T positive) {
|
||||
return hash_value_signed_2(val, length, seed, positive, length * std::numeric_limits<std::size_t>::digits);
|
||||
}
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value_signed(T val) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value_signed(T val) {
|
||||
return sprout::hash_detail::hash_value_signed_1(
|
||||
val,
|
||||
(std::numeric_limits<T>::digits - 1) / std::numeric_limits<std::size_t>::digits,
|
||||
|
@ -68,7 +71,8 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value_unsigned_2(T val, int length, std::size_t seed, std::size_t i) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value_unsigned_2(T val, int length, std::size_t seed, std::size_t i) {
|
||||
return i > 0
|
||||
? hash_value_unsigned_2(
|
||||
val,
|
||||
|
@ -80,11 +84,13 @@ namespace sprout {
|
|||
;
|
||||
}
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value_unsigned_1(T val, int length, std::size_t seed) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value_unsigned_1(T val, int length, std::size_t seed) {
|
||||
return hash_value_unsigned_2(val, length, seed, length * std::numeric_limits<std::size_t>::digits);
|
||||
}
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value_unsigned(T val) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value_unsigned(T val) {
|
||||
return sprout::hash_detail::hash_value_unsigned_1(
|
||||
val,
|
||||
(std::numeric_limits<T>::digits - 1) / std::numeric_limits<std::size_t>::digits,
|
||||
|
@ -92,11 +98,13 @@ namespace sprout {
|
|||
);
|
||||
}
|
||||
|
||||
inline std::size_t hash_value_pointer_1(std::size_t x) {
|
||||
inline std::size_t
|
||||
hash_value_pointer_1(std::size_t x) {
|
||||
return x + (x >> 3);
|
||||
}
|
||||
template<typename T>
|
||||
std::size_t hash_value_pointer(T const* v) {
|
||||
std::size_t
|
||||
hash_value_pointer(T const* v) {
|
||||
return sprout::hash_detail::hash_value_pointer_1(static_cast<std::size_t>(reinterpret_cast<std::ptrdiff_t>(v)));
|
||||
}
|
||||
} // namespace hash_detail
|
||||
|
@ -104,60 +112,77 @@ namespace sprout {
|
|||
//
|
||||
// hash_value
|
||||
//
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(bool v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(bool v) {
|
||||
return static_cast<std::size_t>(v);
|
||||
}
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(char v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(char v) {
|
||||
return static_cast<std::size_t>(v);
|
||||
}
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(unsigned char v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(unsigned char v) {
|
||||
return static_cast<std::size_t>(v);
|
||||
}
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(signed char v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(signed char v) {
|
||||
return static_cast<std::size_t>(v);
|
||||
}
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(char16_t v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(char16_t v) {
|
||||
return static_cast<std::size_t>(v);
|
||||
}
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(char32_t v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(char32_t v) {
|
||||
return static_cast<std::size_t>(v);
|
||||
}
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(wchar_t v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(wchar_t v) {
|
||||
return static_cast<std::size_t>(v);
|
||||
}
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(short v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(short v) {
|
||||
return static_cast<std::size_t>(v);
|
||||
}
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(unsigned short v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(unsigned short v) {
|
||||
return static_cast<std::size_t>(v);
|
||||
}
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(int v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(int v) {
|
||||
return static_cast<std::size_t>(v);
|
||||
}
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(unsigned int v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(unsigned int v) {
|
||||
return static_cast<std::size_t>(v);
|
||||
}
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(long v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(long v) {
|
||||
return static_cast<std::size_t>(v);
|
||||
}
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(unsigned long v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(unsigned long v) {
|
||||
return static_cast<std::size_t>(v);
|
||||
}
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(long long v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(long long v) {
|
||||
return sprout::hash_detail::hash_value_signed(v);
|
||||
}
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(unsigned long long v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(unsigned long long v) {
|
||||
return sprout::hash_detail::hash_value_unsigned(v);
|
||||
}
|
||||
template<
|
||||
typename T,
|
||||
typename sprout::enabler_if<std::is_pointer<typename std::remove_reference<T>::type>::value>::type = sprout::enabler
|
||||
>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(T&& v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(T&& v) {
|
||||
return sprout::hash_detail::hash_value_pointer(v);
|
||||
}
|
||||
template<typename T, std::size_t N>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(T const (&v)[N]) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(T const (&v)[N]) {
|
||||
return sprout::hash_range(&v[0], &v[0] + N);
|
||||
}
|
||||
|
||||
|
@ -165,7 +190,8 @@ namespace sprout {
|
|||
// to_hash
|
||||
//
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR std::size_t to_hash(T const& v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
to_hash(T const& v) {
|
||||
using sprout::hash_value;
|
||||
return hash_value(v);
|
||||
}
|
||||
|
@ -174,7 +200,8 @@ namespace sprout {
|
|||
// hash_combine
|
||||
//
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_combine(std::size_t seed, T const& v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_combine(std::size_t seed, T const& v) {
|
||||
return seed ^ (sprout::to_hash(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2));
|
||||
}
|
||||
|
||||
|
@ -182,24 +209,28 @@ namespace sprout {
|
|||
// hash_range
|
||||
//
|
||||
template<typename Iterator>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_range(std::size_t seed, Iterator first, Iterator last) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_range(std::size_t seed, Iterator first, Iterator last) {
|
||||
return first != last
|
||||
? sprout::hash_range(sprout::hash_combine(seed, *first), sprout::next(first), last)
|
||||
: seed
|
||||
;
|
||||
}
|
||||
template<typename Iterator>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_range(Iterator first, Iterator last) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_range(Iterator first, Iterator last) {
|
||||
return sprout::hash_range(0, first, last);
|
||||
}
|
||||
|
||||
namespace detail {
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_values_combine_impl(std::size_t seed, T const& v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_values_combine_impl(std::size_t seed, T const& v) {
|
||||
return sprout::hash_combine(seed, v);
|
||||
}
|
||||
template<typename Head, typename... Tail>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_values_combine_impl(std::size_t seed, Head const& head, Tail const&... tail) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_values_combine_impl(std::size_t seed, Head const& head, Tail const&... tail) {
|
||||
return sprout::detail::hash_values_combine_impl(sprout::hash_combine(seed, head), tail...);
|
||||
}
|
||||
} // namespace detail
|
||||
|
@ -208,7 +239,8 @@ namespace sprout {
|
|||
// hash_values_combine
|
||||
//
|
||||
template<typename... Args>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_values_combine(std::size_t seed, Args const&... args) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_values_combine(std::size_t seed, Args const&... args) {
|
||||
return sprout::detail::hash_values_combine_impl(seed, args...);
|
||||
}
|
||||
|
||||
|
@ -216,7 +248,8 @@ namespace sprout {
|
|||
// hash_values
|
||||
//
|
||||
template<typename... Args>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_values(Args const&... args) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_values(Args const&... args) {
|
||||
return sprout::hash_values_combine(0, args...);
|
||||
}
|
||||
|
||||
|
|
|
@ -7,8 +7,12 @@
|
|||
#include <sscrisk/cel/array.hpp>
|
||||
|
||||
namespace sprout {
|
||||
//
|
||||
// hash_value
|
||||
//
|
||||
template<typename T, std::size_t N>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(sscrisk::cel::array<T, N> const& v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(sscrisk::cel::array<T, N> const& v) {
|
||||
return sprout::hash_range(v.begin(), v.end());
|
||||
}
|
||||
} // namespace sprout
|
||||
|
|
|
@ -7,8 +7,12 @@
|
|||
#include <sscrisk/cel/utility.hpp>
|
||||
|
||||
namespace sprout {
|
||||
//
|
||||
// hash_value
|
||||
//
|
||||
template<typename T1, typename T2>
|
||||
inline SPROUT_CONSTEXPR std::size_t hash_value(sscrisk::cel::pair<T1, T2> const& v) {
|
||||
inline SPROUT_CONSTEXPR std::size_t
|
||||
hash_value(sscrisk::cel::pair<T1, T2> const& v) {
|
||||
return sprout::hash_combine(sprout::hash_combine(0, v.first), v.second);
|
||||
}
|
||||
} // namespace sprout
|
||||
|
|
|
@ -261,7 +261,8 @@ namespace sprout {
|
|||
// mem_fn
|
||||
//
|
||||
template<typename T, typename Class>
|
||||
inline SPROUT_CONSTEXPR sprout::mem_fn_adaptor<T Class::*> mem_fn(T Class::* pm) {
|
||||
inline SPROUT_CONSTEXPR sprout::mem_fn_adaptor<T Class::*>
|
||||
mem_fn(T Class::* pm) {
|
||||
return sprout::mem_fn_adaptor<T Class::*>(pm);
|
||||
}
|
||||
} // namespace sprout
|
||||
|
|
|
@ -68,22 +68,26 @@ namespace sprout {
|
|||
};
|
||||
|
||||
template<typename Ret, typename T>
|
||||
inline SPROUT_CONSTEXPR sprout::mem_fun_t<Ret, T> mem_fun(Ret (T::*f)()) {
|
||||
inline SPROUT_CONSTEXPR sprout::mem_fun_t<Ret, T>
|
||||
mem_fun(Ret (T::*f)()) {
|
||||
return sprout::mem_fun_t<Ret, T>(f);
|
||||
}
|
||||
|
||||
template<typename Ret, typename T>
|
||||
inline SPROUT_CONSTEXPR sprout::const_mem_fun_t<Ret, T> mem_fun(Ret (T::*f)() const) {
|
||||
inline SPROUT_CONSTEXPR sprout::const_mem_fun_t<Ret, T>
|
||||
mem_fun(Ret (T::*f)() const) {
|
||||
return sprout::const_mem_fun_t<Ret, T>(f);
|
||||
}
|
||||
|
||||
template<typename Ret, typename T, typename Arg>
|
||||
inline SPROUT_CONSTEXPR sprout::mem_fun1_t<Ret, T, Arg> mem_fun(Ret (T::*f)(Arg)) {
|
||||
inline SPROUT_CONSTEXPR sprout::mem_fun1_t<Ret, T, Arg>
|
||||
mem_fun(Ret (T::*f)(Arg)) {
|
||||
return sprout::mem_fun1_t<Ret, T, Arg>(f);
|
||||
}
|
||||
|
||||
template<typename Ret, typename T, typename Arg>
|
||||
inline SPROUT_CONSTEXPR sprout::const_mem_fun1_t<Ret, T, Arg> mem_fun(Ret (T::*f)(Arg) const) {
|
||||
inline SPROUT_CONSTEXPR sprout::const_mem_fun1_t<Ret, T, Arg>
|
||||
mem_fun(Ret (T::*f)(Arg) const) {
|
||||
return sprout::const_mem_fun1_t<Ret, T, Arg>(f);
|
||||
}
|
||||
} // namespace sprout
|
||||
|
|
|
@ -68,22 +68,26 @@ namespace sprout {
|
|||
};
|
||||
|
||||
template<typename Ret, typename T>
|
||||
inline SPROUT_CONSTEXPR sprout::mem_fun_ref_t<Ret, T> mem_fun_ref(Ret (T::*f)()) {
|
||||
inline SPROUT_CONSTEXPR sprout::mem_fun_ref_t<Ret, T>
|
||||
mem_fun_ref(Ret (T::*f)()) {
|
||||
return sprout::mem_fun_ref_t<Ret, T>(f);
|
||||
}
|
||||
|
||||
template<typename Ret, typename T>
|
||||
inline SPROUT_CONSTEXPR sprout::const_mem_fun_ref_t<Ret, T> mem_fun_ref(Ret (T::*f)() const) {
|
||||
inline SPROUT_CONSTEXPR sprout::const_mem_fun_ref_t<Ret, T>
|
||||
mem_fun_ref(Ret (T::*f)() const) {
|
||||
return sprout::const_mem_fun_ref_t<Ret, T>(f);
|
||||
}
|
||||
|
||||
template<typename Ret, typename T, typename Arg>
|
||||
inline SPROUT_CONSTEXPR sprout::mem_fun1_ref_t<Ret, T, Arg> mem_fun_ref(Ret (T::*f)(Arg)) {
|
||||
inline SPROUT_CONSTEXPR sprout::mem_fun1_ref_t<Ret, T, Arg>
|
||||
mem_fun_ref(Ret (T::*f)(Arg)) {
|
||||
return sprout::mem_fun1_ref_t<Ret, T, Arg>(f);
|
||||
}
|
||||
|
||||
template<typename Ret, typename T, typename Arg>
|
||||
inline SPROUT_CONSTEXPR sprout::const_mem_fun1_ref_t<Ret, T, Arg> mem_fun_ref(Ret (T::*f)(Arg) const) {
|
||||
inline SPROUT_CONSTEXPR sprout::const_mem_fun1_ref_t<Ret, T, Arg>
|
||||
mem_fun_ref(Ret (T::*f)(Arg) const) {
|
||||
return sprout::const_mem_fun1_ref_t<Ret, T, Arg>(f);
|
||||
}
|
||||
} // namespace sprout
|
||||
|
|
|
@ -23,7 +23,8 @@ namespace sprout {
|
|||
};
|
||||
|
||||
template<typename Predicate>
|
||||
inline SPROUT_CONSTEXPR sprout::unary_negate<Predicate> not1(Predicate const& pred) {
|
||||
inline SPROUT_CONSTEXPR sprout::unary_negate<Predicate>
|
||||
not1(Predicate const& pred) {
|
||||
return sprout::unary_negate<Predicate>(pred);
|
||||
}
|
||||
} // namespace sprout
|
||||
|
|
|
@ -24,7 +24,8 @@ namespace sprout {
|
|||
};
|
||||
|
||||
template<typename Predicate>
|
||||
inline SPROUT_CONSTEXPR sprout::binary_negate<Predicate> not2(Predicate const& pred) {
|
||||
inline SPROUT_CONSTEXPR sprout::binary_negate<Predicate>
|
||||
not2(Predicate const& pred) {
|
||||
return sprout::binary_negate<Predicate>(pred);
|
||||
}
|
||||
} // namespace sprout
|
||||
|
|
|
@ -24,7 +24,8 @@ namespace sprout {
|
|||
};
|
||||
|
||||
template<typename Arg, typename Result>
|
||||
inline SPROUT_CONSTEXPR sprout::pointer_to_unary_function<Arg, Result> ptr_fun(Result (*x)(Arg)) {
|
||||
inline SPROUT_CONSTEXPR sprout::pointer_to_unary_function<Arg, Result>
|
||||
ptr_fun(Result (*x)(Arg)) {
|
||||
return sprout::pointer_to_unary_function<Arg, Result>(x);
|
||||
}
|
||||
|
||||
|
@ -45,7 +46,8 @@ namespace sprout {
|
|||
};
|
||||
|
||||
template<typename Arg1, typename Arg2, typename Result>
|
||||
inline SPROUT_CONSTEXPR sprout::pointer_to_binary_function<Arg1, Arg2, Result> ptr_fun(Result (*x)(Arg1, Arg2)) {
|
||||
inline SPROUT_CONSTEXPR sprout::pointer_to_binary_function<Arg1, Arg2, Result>
|
||||
ptr_fun(Result (*x)(Arg1, Arg2)) {
|
||||
return sprout::pointer_to_binary_function<Arg1, Arg2, Result>(x);
|
||||
}
|
||||
} // namespace sprout
|
||||
|
|
|
@ -168,11 +168,13 @@ namespace sprout {
|
|||
// cref
|
||||
//
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR sprout::reference_wrapper<T> ref(T& t) SPROUT_NOEXCEPT {
|
||||
inline SPROUT_CONSTEXPR sprout::reference_wrapper<T>
|
||||
ref(T& t) SPROUT_NOEXCEPT {
|
||||
return sprout::reference_wrapper<T>(t);
|
||||
}
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR sprout::reference_wrapper<T const> cref(T const& t) SPROUT_NOEXCEPT {
|
||||
inline SPROUT_CONSTEXPR sprout::reference_wrapper<T const>
|
||||
cref(T const& t) SPROUT_NOEXCEPT {
|
||||
return sprout::reference_wrapper<T const>(t);
|
||||
}
|
||||
template<typename T>
|
||||
|
@ -180,11 +182,13 @@ namespace sprout {
|
|||
template<typename T>
|
||||
void cref(T const&&) = delete;
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR sprout::reference_wrapper<T> ref(sprout::reference_wrapper<T> t) SPROUT_NOEXCEPT {
|
||||
inline SPROUT_CONSTEXPR sprout::reference_wrapper<T>
|
||||
ref(sprout::reference_wrapper<T> t) SPROUT_NOEXCEPT {
|
||||
return t;
|
||||
}
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR sprout::reference_wrapper<T const> cref(sprout::reference_wrapper<T> t) SPROUT_NOEXCEPT {
|
||||
inline SPROUT_CONSTEXPR sprout::reference_wrapper<T const>
|
||||
ref(sprout::reference_wrapper<T> t) SPROUT_NOEXCEPT {
|
||||
return sprout::reference_wrapper<T const>(t.get());
|
||||
}
|
||||
|
||||
|
@ -268,11 +272,13 @@ namespace sprout {
|
|||
// unwrap_ref
|
||||
//
|
||||
template<typename T>
|
||||
inline typename sprout::unwrap_reference<T>::type& unwrap_ref(T& t) {
|
||||
inline typename sprout::unwrap_reference<T>::type&
|
||||
unwrap_ref(T& t) {
|
||||
return t;
|
||||
}
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR typename sprout::unwrap_reference<T const>::type& unwrap_ref(T const& t) {
|
||||
inline SPROUT_CONSTEXPR typename sprout::unwrap_reference<T const>::type&
|
||||
unwrap_ref(T const& t) {
|
||||
return t;
|
||||
}
|
||||
|
||||
|
@ -280,7 +286,8 @@ namespace sprout {
|
|||
// get_pointer
|
||||
//
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR T* get_pointer(sprout::reference_wrapper<T> const& r) {
|
||||
inline SPROUT_CONSTEXPR T*
|
||||
get_pointer(sprout::reference_wrapper<T> const& r) {
|
||||
return r.get_pointer();
|
||||
}
|
||||
} // namespace sprout
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue