Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
Generic.h File Reference
#include <type_traits>
#include <array>
Include dependency graph for Generic.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  hydra::detail::_merge_and_renumber< Sequence1, Sequence2 >
 
struct  hydra::detail::_merge_and_renumber< index_sequence< I1... >, index_sequence< I2... > >
 
struct  hydra::detail::all_true< bs >
 
struct  hydra::detail::all_true<>
 
struct  hydra::detail::append_to_type_seq< typename, typename >
 
struct  hydra::detail::append_to_type_seq< T, TT< Ts... > >
 
struct  hydra::detail::are_base_of< Base, T, Ts >
 
struct  hydra::detail::are_base_of< Base, T >
 
struct  hydra::detail::bool_pack<... >
 
struct  hydra::detail::CanConvert< A >
 
struct  hydra::detail::CanConvert< A >::To< B >
 
struct  hydra::detail::conditions_and< Conds >
 
struct  hydra::detail::conditions_and< Cond, Conds... >
 
struct  hydra::detail::index_sequence< Ints >
 
struct  hydra::detail::is_instantiation_of< Template, T >
 
struct  hydra::detail::is_instantiation_of< Template, Template< Args... > >
 
struct  hydra::detail::make_index_sequence< N >
 
struct  hydra::detail::make_index_sequence< 0 >
 
struct  hydra::detail::make_index_sequence< 1 >
 
struct  hydra::detail::ObjSelector< FLAG >
 
struct  hydra::detail::ObjSelector< false >
 
struct  hydra::detail::ObjSelector< true >
 
struct  hydra::detail::power< B, E >
 
struct  hydra::detail::power< B, 0 >
 
struct  hydra::detail::repeat< T, N, TT >
 
struct  hydra::detail::repeat< T, 0, TT >
 

Namespaces

 hydra
 Generic policies definition.
 
 hydra::detail
 

Typedefs

template<class R , class... Ts>
using hydra::detail::are_all_same = all_true< std::is_same< Ts, R >::value... >
 

Functions

template<typename T , size_t DIM, size_t I>
std::enable_if<(I==DIM) &&(std::is_integral< T >::value), void >::type hydra::detail::get_indexes (size_t, std::array< T, DIM > const &, std::array< T, DIM > &)
 
template<typename T , size_t DIM, size_t I = 0>
std::enable_if<(I< DIM) &&(std::is_integral< T >::value), void >::type hydra::detail::get_indexes (size_t index, std::array< T, DIM > const &depths, std::array< T, DIM > &indexes)
 
template<typename T , size_t DIM, size_t I>
std::enable_if<(I==DIM) &&(std::is_integral< T >::value), void >::type hydra::detail::get_indexes (size_t, const T(&)[DIM], T(&)[DIM])
 
template<typename T , size_t DIM, size_t I = 0>
std::enable_if<(I< DIM) &&(std::is_integral< T >::value), void >::type hydra::detail::get_indexes (size_t index, const T(&depths)[DIM], T(&indexes)[DIM])
 
template<typename T , size_t N, size_t I>
std::enable_if<(I==N), void >::type hydra::detail::multiply (std::array< T, N > const &, T &)
 
template<typename T , size_t N, size_t I = 0>
std::enable_if<(I< N), void >::type hydra::detail::multiply (std::array< T, N > const &obj, T &result)
 
template<typename T , size_t N, size_t I>
std::enable_if<(I==N), void >::type hydra::detail::multiply (const T(&)[N], T &)
 
template<typename T , size_t N, size_t I = 0>
std::enable_if<(I< N), void >::type hydra::detail::multiply (const T(&obj)[N], T &result)
 

Data Structure Documentation

◆ hydra::detail::_merge_and_renumber

struct hydra::detail::_merge_and_renumber

template<class Sequence1, class Sequence2>
struct hydra::detail::_merge_and_renumber< Sequence1, Sequence2 >

Inheritance diagram for hydra::detail::_merge_and_renumber< Sequence1, Sequence2 >:
Collaboration diagram for hydra::detail::_merge_and_renumber< Sequence1, Sequence2 >:

◆ hydra::detail::append_to_type_seq

struct hydra::detail::append_to_type_seq

template<typename, typename>
struct hydra::detail::append_to_type_seq< typename, typename >

Collaboration diagram for hydra::detail::append_to_type_seq< typename, typename >:

◆ hydra::detail::append_to_type_seq< T, TT< Ts... > >

struct hydra::detail::append_to_type_seq< T, TT< Ts... > >

template<typename T, typename... Ts, template< typename... > class TT>
struct hydra::detail::append_to_type_seq< T, TT< Ts... > >

Collaboration diagram for hydra::detail::append_to_type_seq< T, TT< Ts... > >:
Data Fields
type

◆ hydra::detail::bool_pack

struct hydra::detail::bool_pack

template<bool...>
struct hydra::detail::bool_pack<... >

Collaboration diagram for hydra::detail::bool_pack<... >:

◆ hydra::detail::CanConvert

struct hydra::detail::CanConvert

template<class ... A>
struct hydra::detail::CanConvert< A >

Collaboration diagram for hydra::detail::CanConvert< A >:

◆ hydra::detail::CanConvert::To

struct hydra::detail::CanConvert::To

template<class ... A>
template<class ... B>
struct hydra::detail::CanConvert< A >::To< B >

Collaboration diagram for hydra::detail::CanConvert< A >::To< B >:
Data Fields
type

◆ hydra::detail::ObjSelector

struct hydra::detail::ObjSelector

template<bool FLAG>
struct hydra::detail::ObjSelector< FLAG >

Collaboration diagram for hydra::detail::ObjSelector< FLAG >:

◆ hydra::detail::repeat

struct hydra::detail::repeat

template<typename T, unsigned int N, template< typename... > class TT>
struct hydra::detail::repeat< T, N, TT >

Collaboration diagram for hydra::detail::repeat< T, N, TT >:
Data Fields
typedef typename append_to_type_seq< T, typename repeat< T, N-1, TT >::type >::type type

◆ hydra::detail::repeat< T, 0, TT >

struct hydra::detail::repeat< T, 0, TT >

template<typename T, template< typename... > class TT>
struct hydra::detail::repeat< T, 0, TT >

Collaboration diagram for hydra::detail::repeat< T, 0, TT >:
Data Fields
typedef TT<> type