Hydra: multiarray.h File Reference (original) (raw)

#include <array>
#include <hydra/detail/Config.h>
#include <hydra/detail/BackendPolicy.h>
#include <hydra/detail/utility/Utility_Tuple.h>
#include <hydra/detail/functors/Caster.h>
#include <hydra/detail/Iterable_traits.h>
#include <hydra/detail/IteratorTraits.h>
#include <hydra/Tuple.h>
#include <hydra/Placeholders.h>
#include <hydra/Iterator.h>
#include <hydra/Range.h>
#include <hydra/detail/external/hydra_thrust/iterator/zip_iterator.h>
#include <hydra/detail/external/hydra_thrust/iterator/iterator_traits.h>
#include <hydra/detail/external/hydra_thrust/tuple.h>
#include <hydra/detail/external/hydra_thrust/logical.h>
#include <hydra/detail/external/hydra_thrust/functional.h>
#include <hydra/detail/external/hydra_thrust/detail/type_traits.h>
#include <hydra/detail/external/hydra_thrust/iterator/transform_iterator.h>

Functions

template<unsigned int I, hydra::detail::Backend BACKEND, typename T , size_t N>

auto

hydra::begin (placeholders::placeholder< I >, multiarray< T, N, detail::BackendPolicy< BACKEND >> const &other) -> decltype(other.begin(placeholders::placeholder< I >

template<unsigned int I, hydra::detail::Backend BACKEND, typename T , size_t N>

auto

hydra::begin (placeholders::placeholder< I >, multiarray< T, N, detail::BackendPolicy< BACKEND >> &other) -> decltype(other.begin(placeholders::placeholder< I >

template<hydra::detail::Backend BACKEND, typename T , size_t N, unsigned int... I>

auto

hydra::columns (multiarray< T, N, detail::BackendPolicy< BACKEND >>const &other, placeholders::placeholder< I >...cls) -> Range< decltype(std::declval< multiarray< T, N, detail::BackendPolicy< BACKEND >>const &>().begin(placeholders::placeholder< I >

template<hydra::detail::Backend BACKEND, typename T , size_t N, unsigned int... I>

auto

hydra::columns (multiarray< T, N, detail::BackendPolicy< BACKEND >> &other, placeholders::placeholder< I >...cls) -> Range< decltype(std::declval< multiarray< T, N, detail::BackendPolicy< BACKEND >> &&>().begin(placeholders::placeholder< I >

template<unsigned int I, hydra::detail::Backend BACKEND, typename T , size_t N>

auto

hydra::end (placeholders::placeholder< I >, multiarray< T, N, detail::BackendPolicy< BACKEND >> const &other) -> decltype(other.end(placeholders::placeholder< I >

template<unsigned int I, hydra::detail::Backend BACKEND, typename T , size_t N>

auto

hydra::end (placeholders::placeholder< I >, multiarray< T, N, detail::BackendPolicy< BACKEND >> &other) -> decltype(other.end(placeholders::placeholder< I >

template<unsigned int I, hydra::detail::Backend BACKEND, typename T , size_t N>

auto

hydra::get (placeholders::placeholder< I >, multiarray< T, N, detail::BackendPolicy< BACKEND >> const &other) -> decltype(other.column(placeholders::placeholder< I >

Return the column _I of the hydra::multiarray. More...

template<unsigned int I, hydra::detail::Backend BACKEND, typename T , size_t N>

auto

hydra::get (placeholders::placeholder< I >, multiarray< T, N, detail::BackendPolicy< BACKEND >> &other) -> decltype(other.column(placeholders::placeholder< I >

Return the column _I of the hydra::multiarray. More...

template<typename T , size_t N, hydra::detail::Backend BACKEND1, hydra::detail::Backend BACKEND2>

bool

hydra::operator!= (const multiarray< T, N, hydra::detail::BackendPolicy< BACKEND1 >> &lhs, const multiarray< T, N, hydra::detail::BackendPolicy< BACKEND2 >> &rhs)

template<typename T , size_t N, hydra::detail::Backend BACKEND1, hydra::detail::Backend BACKEND2>

bool

hydra::operator== (const multiarray< T, N, hydra::detail::BackendPolicy< BACKEND1 >> &lhs, const multiarray< T, N, hydra::detail::BackendPolicy< BACKEND2 >> &rhs)

return

hydra::Range< iterator_type > (other.begin(cls...), other.end(cls...))

template<unsigned int I, hydra::detail::Backend BACKEND, typename T , size_t N>

auto

hydra::rbegin (placeholders::placeholder< I >, multiarray< T, N, detail::BackendPolicy< BACKEND >> const &other) -> decltype(other.rbegin(placeholders::placeholder< I >

template<unsigned int I, hydra::detail::Backend BACKEND, typename T , size_t N>

auto

hydra::rbegin (placeholders::placeholder< I >, multiarray< T, N, detail::BackendPolicy< BACKEND >> &other) -> decltype(other.rbegin(placeholders::placeholder< I >

template<unsigned int I, hydra::detail::Backend BACKEND, typename T , size_t N>

auto

hydra::rend (placeholders::placeholder< I >, multiarray< T, N, detail::BackendPolicy< BACKEND >> const &other) -> decltype(other.rend(placeholders::placeholder< I >

template<unsigned int I, hydra::detail::Backend BACKEND, typename T , size_t N>

auto

hydra::rend (placeholders::placeholder< I >, multiarray< T, N, detail::BackendPolicy< BACKEND >> &other) -> decltype(other.rend(placeholders::placeholder< I >