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
- 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 &container, const SC &shape, layout_type l = L)¶ Constructs an xarray_adaptor of the given stl-like container, with the specified shape and layout.
- Parameters
container
: the container to adaptshape
: the shape of the xarray_adaptorl
: the layout_type of the xarray_adaptor
- template <class C, class SC>
-
std::enable_if_t<!detail::is_array< SC >::value, xarray_adaptor<C, layout_type::dynamic, SC>>
xt::
xadapt
(C &container, const SC &shape, const SC &strides)¶ Constructs an xarray_adaptor of the given stl-like container, with the specified shape and strides.
- Parameters
container
: the container to adaptshape
: the shape of the xarray_adaptorstrides
: the strides of the xarray_adaptor
- 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 &pointer, typename A::size_type size, O ownership, const SC &shape, layout_type l = L, const A &alloc = A())¶ Constructs an xarray_adaptor of the given dynamically allocated C array, with the specified shape and layout.
- Parameters
pointer
: the pointer to the beginning of the dynamic arraysize
: the size of the dynamic arrayownership
: indicates whether the adaptor takes ownership of the array. Possible values areno_ownerhsip()
oraccept_ownership()
shape
: the shape of the xarray_adaptorl
: the layout_type of the xarray_adaptoralloc
: the allocator used for allocating / deallocating the dynamic array
- 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 &pointer, typename A::size_type size, O ownership, const SC &shape, const SC &strides, const A &alloc = A())¶ Constructs an xarray_adaptor of the given dynamically allocated C array, with the specified shape and layout.
- Parameters
pointer
: the pointer to the beginning of the dynamic arraysize
: the size of the dynamic arrayownership
: indicates whether the adaptor takes ownership of the array. Possible values areno_ownerhsip()
oraccept_ownership()
shape
: the shape of the xarray_adaptorstrides
: the strides of the xarray_adaptoralloc
: the allocator used for allocating / deallocating the dynamic array