Skip to main content

bare_io/
lib.rs

1#![cfg_attr(feature = "nightly", feature(min_const_generics))]
2#![cfg_attr(feature = "nightly", feature(maybe_uninit_ref))]
3#![cfg_attr(all(feature = "std", feature = "nightly"), feature(read_initializer))]
4#![cfg_attr(not(feature = "std"), no_std)]
5
6#[cfg(feature = "nightly")]
7mod buffered;
8mod cursor;
9mod error;
10mod impls;
11mod traits;
12mod util;
13
14#[cfg(feature = "alloc")]
15extern crate alloc;
16
17#[cfg(not(feature = "std"))]
18pub use cursor::Cursor;
19#[cfg(not(feature = "std"))]
20pub use error::{Error, ErrorKind, Result};
21#[cfg(not(feature = "std"))]
22pub use traits::{BufRead, Bytes, Chain, Read, Seek, SeekFrom, Take, Write};
23
24#[cfg(feature = "std")]
25pub use std::io::{
26    BufRead, Bytes, Chain, Cursor, Error, ErrorKind, Read, Result, Seek, SeekFrom, Take, Write,
27};
28
29// Use this crate's implementation on both std and no_std
30#[cfg(feature = "nightly")]
31pub use buffered::{BufReader, BufWriter, LineWriter};
32
33#[cfg(feature = "nightly")]
34pub use util::copy;