Skip to main content

ferray_core/array/
mod.rs

1// ferray-core: Array module — NdArray<T, D> and ownership variants (REQ-1, REQ-3)
2//
3// NdArray wraps ndarray::ArrayBase internally. ndarray is NEVER part of the
4// public API surface.
5
6pub mod aliases;
7pub mod arc;
8pub mod cow;
9pub mod display;
10pub mod introspect;
11pub mod iter;
12pub mod methods;
13mod index_impl;
14pub mod owned;
15#[cfg(feature = "serde")]
16mod serde_impl;
17pub mod view;
18pub mod view_mut;
19
20/// Flags describing the memory properties of an array.
21#[derive(Debug, Clone, Copy, PartialEq, Eq)]
22pub struct ArrayFlags {
23    /// Whether the data is C-contiguous (row-major).
24    pub c_contiguous: bool,
25    /// Whether the data is Fortran-contiguous (column-major).
26    pub f_contiguous: bool,
27    /// Whether the array owns its data.
28    pub owndata: bool,
29    /// Whether the array is writeable.
30    pub writeable: bool,
31}
32
33// Re-export the main types at this module level for convenience.
34pub use self::arc::ArcArray;
35pub use self::cow::CowArray;
36pub use self::owned::Array;
37pub use self::view::ArrayView;
38pub use self::view_mut::ArrayViewMut;