Library refactoring based on Walter Brown's feedback

This commit is contained in:
Mateusz Pusz committed 2018-09-29 18:08:02 -07:00
1 parent 2514b669c9
commit 4409fa01ca
17 files changed
+384 -346

No files matched your search

+14 -11
View File
@@ -27,18 +27,21 @@
namespace mp {
namespace detail {
namespace std_concepts {
namespace detail {
template<class T, class U>
concept bool SameHelper = std::is_same_v<T, U>;
}
template<class T, class U>
concept bool SameHelper = std::is_same_v<T, U>;
}
concept bool Same = detail::SameHelper<T, U>&& detail::SameHelper<U, T>;
template<class T, class U>
concept bool Same = detail::SameHelper<T, U> && detail::SameHelper<U, T>;
template <class From, class To>
concept bool ConvertibleTo = std::is_convertible_v<From, To> &&
requires(From (&f)()) {
static_cast<To>(f());
};
template<class From, class To>
concept bool ConvertibleTo = std::is_convertible_v<From, To>&& requires(From (&f)())
{
static_cast<To>(f());
};
} // namespace std_concepts
} // namespace mp