home | help
deductiongu...rstd::mdspan(3)  C++ Standard Libary deductiongu...rstd::mdspan(3)

NAME
     deductionguidesforstd::mdspan - deductionguidesforstd::mdspan

Synopsis
	Defined in header <mdspan>
	template< class CArray >

	    requires(std::is_array_v<CArray>   &&   std::rank_v<CArray>   ==  1)
     (since
	    mdspan(			     CArray&			       )
     (1) C++23)
		-> mdspan<std::remove_all_extents_t<CArray>,

			  std::extents<std::size_t, std::extent_v<CArray, 0>>>;
	template< class Pointer >

	    requires(std::is_pointer_v<std::remove_reference_t<Pointer>>)
	    mdspan(			     Pointer&&			       )
     (2) (since
		->
     C++23)
	mdspan<std::remove_pointer_t<std::remove_reference_t<Pointer>>,

			  std::extents<size_t>>;
	template< class ElementType, class... Integrals >

	    requires((std::is_convertible_v<Integrals, std::size_t> && ...) &&
		     sizeof...(Integrals)		   >		      0)
     (3) (since
	    explicit	   mdspan(	 ElementType*,	     Integrals...      )
     C++23)

		-> mdspan<ElementType, std::dextents<std::size_t,
	sizeof...(Integrals)>>;
	template< class ElementType, class OtherIndexType, std::size_t N >
										     (since
	    mdspan(	ElementType*,	  std::span<OtherIndexType,	N>     )
     (4) C++23)

		-> mdspan<ElementType, std::dextents<std::size_t, N>>;
	template< class ElementType, class OtherIndexType, std::size_t N >
										     (since
	    mdspan(   ElementType*,   const   std::array<OtherIndexType,  N>&  )
     (5) C++23)

		-> mdspan<ElementType, std::dextents<std::size_t, N>>;
	template< class ElementType, class IndexType, std::size_t... ExtentsPack
	>
										     (since
	    mdspan( ElementType*, const std::extents<IndexType, ExtentsPack...>&
     (6) C++23)
	)

		-> mdspan<ElementType, std::extents<IndexType, ExtentsPack...>>;
	template< class ElementType, class MappingType >

	    mdspan(	  ElementType*,       const	   MappingType&        )
     (7) (since
		->   mdspan<ElementType,   typename   MappingType::extents_type,
     C++23)

			  typename MappingType::layout_type>;
	template< class MappingType, class AccessorType >

	    mdspan( const typename AccessorType::data_handle_type&, const
	MappingType&,
     (since
		    const		     AccessorType&		       )
     (8) C++23)
		-> mdspan<typename AccessorType::element_type,
			  typename MappingType::extents_type,

			  typename MappingType::layout_type, AccessorType>;

	 This section is incomplete
	 Reason: explanation

Example
	 This section is incomplete
	 Reason: no example

Categories:
	  * Todo with reason
	  * Todo no example

http://cppreference.com 	   2024.06.10	   deductiongu...rstd::mdspan(3)

home | help