xarray_adaptor¶
Defined in xtensor/xarray.hpp
- template <class EC, layout_type L, class SC>
-
class
xt::xarray_adaptor¶ Dense multidimensional container adaptor with tensor semantic.
The xarray_adaptor class implements a dense multidimensional container adaptor with tensor semantic. It is used to provide a multidimensional container semantic and a tensor semantic to stl-like containers.
- Template Parameters
EC: The container type to adapt.L: The layout_type of the adaptor.SC: The type of the containers holding the shape and the strides.
Inherits from xt::xstrided_container< xarray_adaptor< EC, L, SC >, L >, xt::xadaptor_semantic< xarray_adaptor< EC, L, SC > >
Constructors
-
xarray_adaptor(container_closure_type data)¶ Constructs an xarray_adaptor of the given stl-like container.
- Parameters
data: the container to adapt
-
xarray_adaptor(container_closure_type data, const shape_type &shape, layout_type l = L)¶ Constructs an xarray_adaptor of the given stl-like container, with the specified shape and layout_type.
- Parameters
data: the container to adaptshape: the shape of the xarray_adaptorl: the layout_type of the xarray_adaptor
-
xarray_adaptor(container_closure_type data, const shape_type &shape, const strides_type &strides)¶ Constructs an xarray_adaptor of the given stl-like container, with the specified shape and strides.
- Parameters
data: the container to adaptshape: the shape of the xarray_adaptorstrides: the strides of the xarray_adaptor
Extended copy semantic
- template <class E>
-
auto
operator=(const xexpression<E> &e)¶ The extended assignment operator.
xadapt (xarray_adaptor)¶
Defined in xtensor/xadapt.hpp
Warning
doxygenfunction: Unable to resolve multiple matches for function “xt::xadapt” with arguments (C&, const SC&, layout_type) in doxygen xml output for project “xtensor” from directory: ../xml. Potential matches:
- template <class C, class SC, layout_type *L* = DEFAULT_LAYOUT>
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor< C, L, SC > > xt::xadapt(C &, const SC &, layout_type)
- template <class C, class SC>
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor< C, layout_type::dynamic, SC > > xt::xadapt(C &, const SC &, const SC &)
- template <class C, std::size_t *N*, layout_type *L* = DEFAULT_LAYOUT>
xtensor_adaptor<C, N, L> xt::xadapt(C&, const std::array<typename C::size_type, N>&, layout_type)
- template <class C, std::size_t *N*>
xtensor_adaptor<C, N, layout_type::dynamic> xt::xadapt(C&, const std::array<typename C::size_type, N>&, const std::array<typename C::size_type, N>&)
- template <class P, class O, class SC, class A = std::allocator<std::remove_pointer_t<P>>>
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor< xbuffer_adaptor< std::remove_pointer_t< P >, O, A >, layout_type::dynamic, SC > > xt::xadapt(P &, typename A::size_type, O, const SC &, const SC &, const A &)
- template <class P, class O, class SC, layout_type *L* = DEFAULT_LAYOUT, class A = std::allocator<std::remove_pointer_t<P>>>
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor< xbuffer_adaptor< std::remove_pointer_t< P >, O, A >, L, SC > > xt::xadapt(P &, typename A::size_type, O, const SC &, layout_type, const A &)
- template <class P, std::size_t *N*, class O, class A = std::allocator<std::remove_pointer_t<P>>>
xtensor_adaptor<xbuffer_adaptor<std::remove_pointer_t<P>, O, A>, N, layout_type::dynamic> xt::xadapt(P&, typename A::size_type, O, const std::array<typename A::size_type, N>&, const std::array<typename A::size_type, N>&, const A&)
- template <class P, std::size_t *N*, class O, layout_type *L* = DEFAULT_LAYOUT, class A = std::allocator<std::remove_pointer_t<P>>>
xtensor_adaptor<xbuffer_adaptor<std::remove_pointer_t<P>, O, A>, N, L> xt::xadapt(P&, typename A::size_type, O, const std::array<typename A::size_type, N>&, layout_type, const A&)
Warning
doxygenfunction: Unable to resolve multiple matches for function “xt::xadapt” with arguments (C&, const SC&, const SC&) in doxygen xml output for project “xtensor” from directory: ../xml. Potential matches:
- template <class C, class SC, layout_type *L* = DEFAULT_LAYOUT>
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor< C, L, SC > > xt::xadapt(C &, const SC &, layout_type)
- template <class C, class SC>
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor< C, layout_type::dynamic, SC > > xt::xadapt(C &, const SC &, const SC &)
- template <class C, std::size_t *N*, layout_type *L* = DEFAULT_LAYOUT>
xtensor_adaptor<C, N, L> xt::xadapt(C&, const std::array<typename C::size_type, N>&, layout_type)
- template <class C, std::size_t *N*>
xtensor_adaptor<C, N, layout_type::dynamic> xt::xadapt(C&, const std::array<typename C::size_type, N>&, const std::array<typename C::size_type, N>&)
- template <class P, class O, class SC, class A = std::allocator<std::remove_pointer_t<P>>>
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor< xbuffer_adaptor< std::remove_pointer_t< P >, O, A >, layout_type::dynamic, SC > > xt::xadapt(P &, typename A::size_type, O, const SC &, const SC &, const A &)
- template <class P, class O, class SC, layout_type *L* = DEFAULT_LAYOUT, class A = std::allocator<std::remove_pointer_t<P>>>
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor< xbuffer_adaptor< std::remove_pointer_t< P >, O, A >, L, SC > > xt::xadapt(P &, typename A::size_type, O, const SC &, layout_type, const A &)
- template <class P, std::size_t *N*, class O, class A = std::allocator<std::remove_pointer_t<P>>>
xtensor_adaptor<xbuffer_adaptor<std::remove_pointer_t<P>, O, A>, N, layout_type::dynamic> xt::xadapt(P&, typename A::size_type, O, const std::array<typename A::size_type, N>&, const std::array<typename A::size_type, N>&, const A&)
- template <class P, std::size_t *N*, class O, layout_type *L* = DEFAULT_LAYOUT, class A = std::allocator<std::remove_pointer_t<P>>>
xtensor_adaptor<xbuffer_adaptor<std::remove_pointer_t<P>, O, A>, N, L> xt::xadapt(P&, typename A::size_type, O, const std::array<typename A::size_type, N>&, layout_type, const A&)
Warning
doxygenfunction: Unable to resolve multiple matches for function “xt::xadapt” with arguments (P&, typename A::size_type, O, const SC&, layout_type, const A&) in doxygen xml output for project “xtensor” from directory: ../xml. Potential matches:
- template <class C, class SC, layout_type *L* = DEFAULT_LAYOUT>
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor< C, L, SC > > xt::xadapt(C &, const SC &, layout_type)
- template <class C, class SC>
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor< C, layout_type::dynamic, SC > > xt::xadapt(C &, const SC &, const SC &)
- template <class C, std::size_t *N*, layout_type *L* = DEFAULT_LAYOUT>
xtensor_adaptor<C, N, L> xt::xadapt(C&, const std::array<typename C::size_type, N>&, layout_type)
- template <class C, std::size_t *N*>
xtensor_adaptor<C, N, layout_type::dynamic> xt::xadapt(C&, const std::array<typename C::size_type, N>&, const std::array<typename C::size_type, N>&)
- template <class P, class O, class SC, class A = std::allocator<std::remove_pointer_t<P>>>
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor< xbuffer_adaptor< std::remove_pointer_t< P >, O, A >, layout_type::dynamic, SC > > xt::xadapt(P &, typename A::size_type, O, const SC &, const SC &, const A &)
- template <class P, class O, class SC, layout_type *L* = DEFAULT_LAYOUT, class A = std::allocator<std::remove_pointer_t<P>>>
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor< xbuffer_adaptor< std::remove_pointer_t< P >, O, A >, L, SC > > xt::xadapt(P &, typename A::size_type, O, const SC &, layout_type, const A &)
- template <class P, std::size_t *N*, class O, class A = std::allocator<std::remove_pointer_t<P>>>
xtensor_adaptor<xbuffer_adaptor<std::remove_pointer_t<P>, O, A>, N, layout_type::dynamic> xt::xadapt(P&, typename A::size_type, O, const std::array<typename A::size_type, N>&, const std::array<typename A::size_type, N>&, const A&)
- template <class P, std::size_t *N*, class O, layout_type *L* = DEFAULT_LAYOUT, class A = std::allocator<std::remove_pointer_t<P>>>
xtensor_adaptor<xbuffer_adaptor<std::remove_pointer_t<P>, O, A>, N, L> xt::xadapt(P&, typename A::size_type, O, const std::array<typename A::size_type, N>&, layout_type, const A&)
Warning
doxygenfunction: Unable to resolve multiple matches for function “xt::xadapt” with arguments (P&, typename A::size_type, O, const SC&, const SC&, const A&) in doxygen xml output for project “xtensor” from directory: ../xml. Potential matches:
- template <class C, class SC, layout_type *L* = DEFAULT_LAYOUT>
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor< C, L, SC > > xt::xadapt(C &, const SC &, layout_type)
- template <class C, class SC>
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor< C, layout_type::dynamic, SC > > xt::xadapt(C &, const SC &, const SC &)
- template <class C, std::size_t *N*, layout_type *L* = DEFAULT_LAYOUT>
xtensor_adaptor<C, N, L> xt::xadapt(C&, const std::array<typename C::size_type, N>&, layout_type)
- template <class C, std::size_t *N*>
xtensor_adaptor<C, N, layout_type::dynamic> xt::xadapt(C&, const std::array<typename C::size_type, N>&, const std::array<typename C::size_type, N>&)
- template <class P, class O, class SC, class A = std::allocator<std::remove_pointer_t<P>>>
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor< xbuffer_adaptor< std::remove_pointer_t< P >, O, A >, layout_type::dynamic, SC > > xt::xadapt(P &, typename A::size_type, O, const SC &, const SC &, const A &)
- template <class P, class O, class SC, layout_type *L* = DEFAULT_LAYOUT, class A = std::allocator<std::remove_pointer_t<P>>>
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor< xbuffer_adaptor< std::remove_pointer_t< P >, O, A >, L, SC > > xt::xadapt(P &, typename A::size_type, O, const SC &, layout_type, const A &)
- template <class P, std::size_t *N*, class O, class A = std::allocator<std::remove_pointer_t<P>>>
xtensor_adaptor<xbuffer_adaptor<std::remove_pointer_t<P>, O, A>, N, layout_type::dynamic> xt::xadapt(P&, typename A::size_type, O, const std::array<typename A::size_type, N>&, const std::array<typename A::size_type, N>&, const A&)
- template <class P, std::size_t *N*, class O, layout_type *L* = DEFAULT_LAYOUT, class A = std::allocator<std::remove_pointer_t<P>>>
xtensor_adaptor<xbuffer_adaptor<std::remove_pointer_t<P>, O, A>, N, L> xt::xadapt(P&, typename A::size_type, O, const std::array<typename A::size_type, N>&, layout_type, const A&)