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

Header file for RAJA operator definitions. More...

#include "RAJA/config.hpp"
#include <stdint.h>
#include <cfloat>
#include <cstdint>
#include <ostream>
#include <type_traits>
#include "RAJA/util/concepts.hpp"
#include "RAJA/util/macros.hpp"

Go to the source code of this file.

Classes

struct  RAJA::operators::detail::associative_tag
 
struct  RAJA::operators::detail::fp_associative_tag
 
struct  RAJA::operators::detail::binary_function< Arg1, Arg2, Result >
 
struct  RAJA::operators::detail::unary_function< Argument, Result >
 
struct  RAJA::operators::detail::comparison_function< Arg1, Arg2 >
 
struct  RAJA::operators::types::is_unsigned_int< T >
 
struct  RAJA::operators::types::is_signed_int< T >
 
struct  RAJA::operators::types::larger< T, GPU >
 
struct  RAJA::operators::types::larger< uint8_t >
 
struct  RAJA::operators::types::larger< uint16_t >
 
struct  RAJA::operators::types::larger< uint32_t >
 
struct  RAJA::operators::types::larger< int8_t >
 
struct  RAJA::operators::types::larger< int16_t >
 
struct  RAJA::operators::types::larger< int32_t >
 
struct  RAJA::operators::types::larger< float >
 
struct  RAJA::operators::types::larger< double >
 
struct  RAJA::operators::types::larger< double, true >
 
struct  RAJA::operators::types::detail::largest< T, isInt, isSigned, isFP, gpu >
 
struct  RAJA::operators::types::detail::largest< T, true, false, false >
 
struct  RAJA::operators::types::detail::largest< T, true, true, false >
 
struct  RAJA::operators::types::detail::largest< T, false, false, true, false >
 
struct  RAJA::operators::types::detail::largest< T, false, false, true, true >
 
struct  RAJA::operators::types::largest< T, gpu >
 
struct  RAJA::operators::types::size_of< T >
 
struct  RAJA::operators::types::detail::larger_of< T, U, lhsLarger >
 
struct  RAJA::operators::types::detail::larger_of< T, U, true >
 
struct  RAJA::operators::types::detail::larger_of< T, U, false >
 
struct  RAJA::operators::types::larger_of< T, U >
 
struct  RAJA::operators::limits< T, typename std::enable_if< std::is_integral< T >::value &&!std::is_unsigned< T >::value >::type >
 
struct  RAJA::operators::limits< T, typename std::enable_if< std::is_integral< T >::value &&std::is_unsigned< T >::value >::type >
 
struct  RAJA::operators::limits< float >
 
struct  RAJA::operators::limits< double >
 
struct  RAJA::operators::limits< long double >
 
struct  RAJA::operators::plus< Ret, Arg1, Arg2 >
 
struct  RAJA::operators::minus< Ret, Arg1, Arg2 >
 
struct  RAJA::operators::multiplies< Ret, Arg1, Arg2 >
 
struct  RAJA::operators::divides< Ret, Arg1, Arg2 >
 
struct  RAJA::operators::modulus< Ret, Arg1, Arg2 >
 
struct  RAJA::operators::logical_and< Arg1, Arg2 >
 
struct  RAJA::operators::logical_or< Arg1, Arg2 >
 
struct  RAJA::operators::logical_not< T >
 
struct  RAJA::operators::bit_or< Ret, Arg1, Arg2 >
 
struct  RAJA::operators::bit_and< Ret, Arg1, Arg2 >
 
struct  RAJA::operators::bit_xor< Ret, Arg1, Arg2 >
 
struct  RAJA::operators::minimum< Ret, Arg1, Arg2 >
 
struct  RAJA::operators::maximum< Ret, Arg1, Arg2 >
 
struct  RAJA::operators::equal_to< Arg1, Arg2 >
 
struct  RAJA::operators::not_equal_to< Arg1, Arg2 >
 
struct  RAJA::operators::greater< Arg1, Arg2 >
 
struct  RAJA::operators::less< Arg1, Arg2 >
 
struct  RAJA::operators::greater_equal< Arg1, Arg2 >
 
struct  RAJA::operators::less_equal< Arg1, Arg2 >
 
struct  RAJA::operators::identity< Ret, Orig >
 
struct  RAJA::operators::project1st< T, U >
 
struct  RAJA::operators::project2nd< T, U >
 
struct  RAJA::operators::is_associative< T >
 
struct  RAJA::operators::is_fp_associative< T >
 
struct  RAJA::operators::safe_plus< Arg1, Arg2 >
 
struct  RAJA::concepts::BinaryFunction< Function, Return, Arg1, Arg2 >
 
struct  RAJA::concepts::UnaryFunction< Function, Return, Arg >
 

Namespaces

 RAJA
 
 RAJA::operators
 
 RAJA::operators::detail
 
 RAJA::operators::types
 
 RAJA::operators::types::detail
 
 RAJA::concepts
 
 RAJA::concepts::detail
 
 RAJA::type_traits
 

Typedefs

template<typename T >
using RAJA::operators::detail::associative_or_fp_associative_tag = std::conditional_t< std::is_floating_point< std::decay_t< T > >::value, fp_associative_tag, associative_tag >
 
template<typename Fun , typename Ret , typename T , typename U >
using RAJA::concepts::detail::is_binary_function = ::RAJA::concepts::requires_< BinaryFunction, Ret, T, U >
 
template<typename Fun , typename Ret , typename T >
using RAJA::concepts::detail::is_unary_function = ::RAJA::concepts::requires_< UnaryFunction, Ret, T >
 

Functions

 RAJA::type_traits::DefineTypeTraitFromConcept (is_binary_function, RAJA::concepts::BinaryFunction)
 
 RAJA::type_traits::DefineTypeTraitFromConcept (is_unary_function, RAJA::concepts::UnaryFunction)
 

Detailed Description

Header file for RAJA operator definitions.

     Definitions in this file will propagate to all RAJA header files.