@@ -234,6 +234,7 @@ pub type Ixs = isize;
234234/// + [Subviews](#subviews)
235235/// + [Arithmetic Operations](#arithmetic-operations)
236236/// + [Broadcasting](#broadcasting)
237+ /// + [Conversions Between Array Types](#conversions-between-array-types)
237238/// + [Constructor Methods for Owned Arrays](#constructor-methods-for-owned-arrays)
238239/// + [Methods For All Array Types](#methods-for-all-array-types)
239240///
@@ -646,6 +647,218 @@ pub type Ixs = isize;
646647/// );
647648/// ```
648649///
650+ /// ## Conversions Between Array Types
651+ ///
652+ /// This table is a summary of the conversions between arrays of different
653+ /// ownership, dimensionality, and element type. All of the conversions in this
654+ /// table preserve the shape of the array.
655+ ///
656+ /// <table>
657+ /// <tr>
658+ /// <th rowspan="2">Output</th>
659+ /// <th colspan="4">Input</th>
660+ /// </tr>
661+ ///
662+ /// <tr>
663+ /// <td>
664+ ///
665+ /// `Array<A, D>`
666+ ///
667+ /// </td>
668+ /// <td>
669+ ///
670+ /// `ArcArray<A, D>`
671+ ///
672+ /// </td>
673+ /// <td>
674+ ///
675+ /// `ArrayView<'a, A, D>`
676+ ///
677+ /// </td>
678+ /// <td>
679+ ///
680+ /// `ArrayViewMut<'a, A, D>`
681+ ///
682+ /// </td>
683+ /// </tr>
684+ ///
685+ /// <!--Conversions to `Array<A, D>`-->
686+ ///
687+ /// <tr>
688+ /// <td>
689+ ///
690+ /// `Array<A, D>`
691+ ///
692+ /// </td>
693+ /// <td>
694+ ///
695+ /// no-op
696+ ///
697+ /// </td>
698+ /// <td>
699+ ///
700+ /// [`a.into_owned()`][.into_owned()]
701+ ///
702+ /// </td>
703+ /// <td>
704+ ///
705+ /// [`a.to_owned()`][.to_owned()]
706+ ///
707+ /// </td>
708+ /// <td>
709+ ///
710+ /// [`a.to_owned()`][.to_owned()]
711+ ///
712+ /// </td>
713+ /// </tr>
714+ ///
715+ /// <!--Conversions to `ArcArray<A, D>`-->
716+ ///
717+ /// <tr>
718+ /// <td>
719+ ///
720+ /// `ArcArray<A, D>`
721+ ///
722+ /// </td>
723+ /// <td>
724+ ///
725+ /// [`a.into_shared()`][.into_shared()]
726+ ///
727+ /// </td>
728+ /// <td>
729+ ///
730+ /// no-op
731+ ///
732+ /// </td>
733+ /// <td>
734+ ///
735+ /// [`a.to_owned().into_shared()`][.into_shared()]
736+ ///
737+ /// </td>
738+ /// <td>
739+ ///
740+ /// [`a.to_owned().into_shared()`][.into_shared()]
741+ ///
742+ /// </td>
743+ /// </tr>
744+ ///
745+ /// <!--Conversions to `ArrayView<'b, A, D>`-->
746+ ///
747+ /// <tr>
748+ /// <td>
749+ ///
750+ /// `ArrayView<'b, A, D>`
751+ ///
752+ /// </td>
753+ /// <td>
754+ ///
755+ /// [`a.view()`][.view()]
756+ ///
757+ /// </td>
758+ /// <td>
759+ ///
760+ /// [`a.view()`][.view()]
761+ ///
762+ /// </td>
763+ /// <td>
764+ ///
765+ /// [`a.view()`][.view()] or [`a.reborrow()`][ArrayView::reborrow()]
766+ ///
767+ /// </td>
768+ /// <td>
769+ ///
770+ /// [`a.view()`][.view()]
771+ ///
772+ /// </td>
773+ /// </tr>
774+ ///
775+ /// <!--Conversions to `ArrayViewMut<'b, A, D>`-->
776+ ///
777+ /// <tr>
778+ /// <td>
779+ ///
780+ /// `ArrayViewMut<'b, A, D>`
781+ ///
782+ /// </td>
783+ /// <td>
784+ ///
785+ /// [`a.view_mut()`][.view_mut()]
786+ ///
787+ /// </td>
788+ /// <td>
789+ ///
790+ /// [`a.view_mut()`][.view_mut()]
791+ ///
792+ /// </td>
793+ /// <td>
794+ ///
795+ /// illegal
796+ ///
797+ /// </td>
798+ /// <td>
799+ ///
800+ /// [`a.view_mut()`][.view_mut()] or [`a.reborrow()`][ArrayViewMut::reborrow()]
801+ ///
802+ /// </td>
803+ /// </tr>
804+ ///
805+ /// <!--Conversions to equivalent with dim `D2`-->
806+ ///
807+ /// <tr>
808+ /// <td>
809+ ///
810+ /// equivalent with dim `D2` (e.g. converting from dynamic dim to const dim)
811+ ///
812+ /// </td>
813+ /// <td colspan="4">
814+ ///
815+ /// [`a.into_dimensionality::<D2>()`][.into_dimensionality()]
816+ ///
817+ /// </td>
818+ /// </tr>
819+ ///
820+ /// <!--Conversions to equivalent with dim `IxDyn`-->
821+ ///
822+ /// <tr>
823+ /// <td>
824+ ///
825+ /// equivalent with dim `IxDyn`
826+ ///
827+ /// </td>
828+ /// <td colspan="4">
829+ ///
830+ /// [`a.into_dyn()`][.into_dyn()]
831+ ///
832+ /// </td>
833+ /// </tr>
834+ ///
835+ /// <!--Conversions to `Array<B, D>`-->
836+ ///
837+ /// <tr>
838+ /// <td>
839+ ///
840+ /// `Array<B, D>` (new element type)
841+ ///
842+ /// </td>
843+ /// <td colspan="4">
844+ ///
845+ /// [`a.map(|x| x.do_your_conversion())`][.map()]
846+ ///
847+ /// </td>
848+ /// </tr>
849+ /// </table>
850+ ///
851+ /// [ArrayView::reborrow()]: type.ArrayView.html#method.reborrow
852+ /// [ArrayViewMut::reborrow()]: type.ArrayViewMut.html#method.reborrow
853+ /// [.into_dimensionality()]: #method.into_dimensionality
854+ /// [.into_dyn()]: #method.into_dyn
855+ /// [.into_owned()]: #method.into_owned
856+ /// [.into_shared()]: #method.into_shared
857+ /// [.to_owned()]: #method.to_owned
858+ /// [.map()]: #method.map
859+ /// [.view()]: #method.view
860+ /// [.view_mut()]: #method.view_mut
861+ ///
649862pub struct ArrayBase < S , D >
650863 where S : Data
651864{
0 commit comments