1 #ifndef DASH__VIEW__DOMAIN_H__INCLUDED 2 #define DASH__VIEW__DOMAIN_H__INCLUDED 4 #include <dash/Types.h> 5 #include <dash/Range.h> 7 #include <dash/view/ViewTraits.h> 21 typename ViewValueT =
typename std::decay<ViewT>::type >
24 ->
typename std::enable_if<
26 dash::detail::has_type_domain_type<ViewValueT>::value,
27 decltype(std::forward<ViewT>(view).
domain())
29 return std::forward<ViewT>(view).
domain();
32 template <
class ViewT>
35 ->
typename std::enable_if<
36 dash::detail::has_type_domain_type<ViewT>::value,
38 decltype(view.domain())
54 typename ContainerValueT =
typename std::decay<ContainerT>::type >
55 constexpr
typename std::enable_if<
57 !dash::detail::has_type_domain_type<ContainerValueT>::value,
70 typename ContainerValueT =
typename std::decay<ContainerT>::type >
71 constexpr
typename std::enable_if<
73 !dash::detail::has_type_domain_type<ContainerValueT>::value,
76 domain(
const ContainerT & container) {
82 #endif // DASH__VIEW__DOMAIN_H__INCLUDED This class is a simple memory pool which holds allocates elements of size ValueType.
constexpr auto domain(ViewT &&view) -> typename std::enable_if< dash::detail::has_type_domain_type< ViewValueT >::value, decltype(std::forward< ViewT >(view).domain()) >::type