@@ -234,6 +234,7 @@ pub type Ixs = isize;
234
234
/// + [Subviews](#subviews)
235
235
/// + [Arithmetic Operations](#arithmetic-operations)
236
236
/// + [Broadcasting](#broadcasting)
237
+ /// + [Conversions Between Array Types](#conversions-between-array-types)
237
238
/// + [Constructor Methods for Owned Arrays](#constructor-methods-for-owned-arrays)
238
239
/// + [Methods For All Array Types](#methods-for-all-array-types)
239
240
///
@@ -646,6 +647,218 @@ pub type Ixs = isize;
646
647
/// );
647
648
/// ```
648
649
///
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
+ ///
649
862
pub struct ArrayBase < S , D >
650
863
where S : Data
651
864
{
0 commit comments