1#![cfg_attr(not(feature = "derive"), doc = "# Narrow")]
2#![cfg_attr(feature = "derive", doc = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/README.md")))]
3#![doc(
4 html_logo_url = "https://raw.githubusercontent.com/mbrobbel/narrow/main/narrow.svg",
5 html_favicon_url = "https://raw.githubusercontent.com/mbrobbel/narrow/main/narrow.svg"
6)]
7#![cfg_attr(docsrs, feature(doc_cfg))]
8#![deny(
10 missing_copy_implementations,
12 missing_docs,
14 noop_method_call,
15 unused,
17 clippy::all,
19 clippy::suspicious,
20 clippy::style,
21 clippy::complexity,
22 clippy::perf,
23 clippy::pedantic,
24 clippy::as_conversions,
27 clippy::as_underscore,
28 clippy::clone_on_ref_ptr,
29 clippy::decimal_literal_representation,
30 clippy::empty_structs_with_brackets,
31 clippy::get_unwrap,
32 clippy::if_then_some_else_none,
33 clippy::missing_docs_in_private_items,
34 clippy::multiple_unsafe_ops_per_block,
35 clippy::pattern_type_mismatch,
36 clippy::rest_pat_in_fully_bound_structs,
37 clippy::same_name_method,
38 clippy::self_named_module_files,
39 clippy::semicolon_outside_block,
40 clippy::shadow_reuse,
41 clippy::shadow_same,
42 clippy::shadow_unrelated,
43 clippy::str_to_string,
44 clippy::string_add,
45 clippy::tests_outside_test_module,
46 clippy::undocumented_unsafe_blocks,
47 clippy::unnecessary_safety_comment,
48 clippy::unnecessary_safety_doc,
49 clippy::unnecessary_self_imports,
50 clippy::unneeded_field_pattern,
51 clippy::unseparated_literal_suffix,
52 clippy::unwrap_used,
53 )]
56#![allow(
57 clippy::module_name_repetitions,
58 clippy::pub_use,
59 unsafe_op_in_unsafe_fn
60)]
61
62mod fixed_size;
63pub use self::fixed_size::FixedSize;
64
65mod length;
66pub use self::length::Length;
67
68mod index;
69pub use self::index::Index;
70
71pub mod buffer;
72
73pub mod bitmap;
74
75mod nullability;
76pub use nullability::{NonNullable, Nullability, Nullable};
77
78pub mod offset;
80pub(crate) mod validity;
81
82pub mod array;
83
84pub mod logical;
85
86#[cfg(feature = "arrow-rs")]
87pub mod arrow;
88
89#[cfg(feature = "arrow-rs")]
91pub use arrow_array;
92#[cfg(feature = "arrow-rs")]
93pub use arrow_buffer;
94#[cfg(feature = "arrow-rs")]
95pub use arrow_schema;
96
97#[cfg(feature = "derive")]
99pub use narrow_derive::ArrayType;
100
101#[cfg(any(all(test, feature = "derive"), feature = "map"))]
103extern crate self as narrow;