RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Namespaces | Functions
sort.hpp File Reference

Header file providing RAJA sort declarations. More...

#include "RAJA/config.hpp"
#include <iterator>
#include <type_traits>
#include "RAJA/policy/PolicyBase.hpp"
#include "RAJA/util/concepts.hpp"
#include "RAJA/util/Operators.hpp"
#include "RAJA/pattern/detail/algorithm.hpp"

Go to the source code of this file.

Namespaces

 RAJA
 
 RAJA::policy_by_value_interface
 The RAJA::policy_by_value_interface forall functions provide an interface with value-based policies. It also enforces the interface and performs static checks as well as triggering plugins and loop body updates.
 

Functions

template<typename ExecPolicy , typename Res , typename Container , typename Compare = operators::less<RAJA::detail::ContainerVal<Container>>>
concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_resource< Res >, std::is_constructible< camp::resources::Resource, Res >, type_traits::is_range< Container > > RAJA::policy_by_value_interface::sort (ExecPolicy &&p, Res r, Container &&c, Compare comp=Compare {})
 sort execution pattern More...
 
template<typename ExecPolicy , typename Container , typename Compare = operators::less<RAJA::detail::ContainerVal<Container>>, typename Res = typename resources::get_resource<ExecPolicy>::type>
concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_range< Container >, concepts::negate< std::is_constructible< camp::resources::Resource, Container > > > RAJA::policy_by_value_interface::sort (ExecPolicy &&p, Container &&c, Compare comp=Compare {})
 
template<typename ExecPolicy , typename Res , typename Container , typename Compare = operators::less<RAJA::detail::ContainerVal<Container>>>
concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_resource< Res >, std::is_constructible< camp::resources::Resource, Res >, type_traits::is_range< Container > > RAJA::policy_by_value_interface::stable_sort (ExecPolicy &&p, Res r, Container &&c, Compare comp=Compare {})
 stable sort execution pattern More...
 
template<typename ExecPolicy , typename Container , typename Compare = operators::less<RAJA::detail::ContainerVal<Container>>, typename Res = typename resources::get_resource<ExecPolicy>::type>
concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_range< Container >, concepts::negate< std::is_constructible< camp::resources::Resource, Container > > > RAJA::policy_by_value_interface::stable_sort (ExecPolicy &&p, Container &&c, Compare comp=Compare {})
 
template<typename ExecPolicy , typename Res , typename KeyContainer , typename ValContainer , typename Compare = operators::less<RAJA::detail::ContainerVal<KeyContainer>>>
concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_resource< Res >, std::is_constructible< camp::resources::Resource, Res >, type_traits::is_range< KeyContainer >, type_traits::is_range< ValContainer > > RAJA::policy_by_value_interface::sort_pairs (ExecPolicy &&p, Res r, KeyContainer &&keys, ValContainer &&vals, Compare comp=Compare {})
 sort pairs execution pattern More...
 
template<typename ExecPolicy , typename KeyContainer , typename ValContainer , typename Compare = operators::less<RAJA::detail::ContainerVal<KeyContainer>>, typename Res = typename resources::get_resource<ExecPolicy>::type>
concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_range< KeyContainer >, concepts::negate< std::is_constructible< camp::resources::Resource, KeyContainer > >, type_traits::is_range< ValContainer > > RAJA::policy_by_value_interface::sort_pairs (ExecPolicy &&p, KeyContainer &&keys, ValContainer &&vals, Compare comp=Compare {})
 
template<typename ExecPolicy , typename Res , typename KeyContainer , typename ValContainer , typename Compare = operators::less<RAJA::detail::ContainerVal<KeyContainer>>>
concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_resource< Res >, std::is_constructible< camp::resources::Resource, Res >, type_traits::is_range< KeyContainer >, type_traits::is_range< ValContainer > > RAJA::policy_by_value_interface::stable_sort_pairs (ExecPolicy &&p, Res r, KeyContainer &&keys, ValContainer &&vals, Compare comp=Compare {})
 stable sort pairs execution pattern More...
 
template<typename ExecPolicy , typename KeyContainer , typename ValContainer , typename Compare = operators::less<RAJA::detail::ContainerVal<KeyContainer>>, typename Res = typename resources::get_resource<ExecPolicy>::type>
concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_range< KeyContainer >, concepts::negate< std::is_constructible< camp::resources::Resource, KeyContainer > >, type_traits::is_range< ValContainer > > RAJA::policy_by_value_interface::stable_sort_pairs (ExecPolicy &&p, KeyContainer &&keys, ValContainer &&vals, Compare comp=Compare {})
 
template<typename ExecPolicy , typename... Args, typename Res = typename resources::get_resource<ExecPolicy>::type>
concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy > > RAJA::sort (Args &&... args)
 Conversion from template-based policy to value-based policy for sort. More...
 
template<typename ExecPolicy , typename Res , typename... Args>
concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_resource< Res > > RAJA::sort (Res r, Args &&... args)
 
template<typename ExecPolicy , typename... Args, typename Res = typename resources::get_resource<ExecPolicy>::type>
concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy > > RAJA::stable_sort (Args &&... args)
 Conversion from template-based policy to value-based policy for stable_sort. More...
 
template<typename ExecPolicy , typename Res , typename... Args>
concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_resource< Res > > RAJA::stable_sort (Res r, Args &&... args)
 
template<typename ExecPolicy , typename... Args, typename Res = typename resources::get_resource<ExecPolicy>::type>
concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy > > RAJA::sort_pairs (Args &&... args)
 Conversion from template-based policy to value-based policy for sort_pairs. More...
 
template<typename ExecPolicy , typename Res , typename... Args>
concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_resource< Res > > RAJA::sort_pairs (Res r, Args &&... args)
 
template<typename ExecPolicy , typename... Args, typename Res = typename resources::get_resource<ExecPolicy>::type>
concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy > > RAJA::stable_sort_pairs (Args &&... args)
 Conversion from template-based policy to value-based policy for sort_pairs. More...
 
template<typename ExecPolicy , typename Res , typename... Args>
concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_resource< Res > > RAJA::stable_sort_pairs (Res r, Args &&... args)
 

Detailed Description

Header file providing RAJA sort declarations.