1//! Contains many ffi-safe equivalents of standard library types.
2//! The vast majority of them can be converted to and from std equivalents.
3//!
4//! For ffi-safe equivalents/wrappers of types outside the standard library go to
5//! the [external_types module](../external_types/index.html)
67pub(crate) mod arc;
8pub(crate) mod boxed;
9pub(crate) mod cmp_ordering;
10pub mod cow;
11pub mod map;
12pub(crate) mod option;
13pub(crate) mod range;
14pub(crate) mod result;
15pub(crate) mod slice_mut;
16pub(crate) mod slices;
17pub(crate) mod std_error;
18pub(crate) mod std_io;
19pub(crate) mod str;
20pub mod string;
21pub(crate) mod time;
22pub(crate) mod tuple;
23pub mod utypeid;
24pub mod vec;
2526/// Some types from the `std::sync` module have ffi-safe equivalents in
27/// `abi_stable::external_types`.
28///
29/// The `sync::{Mutex,RwLock,Once}` equivalents are declared in
30/// `abi_stable::external_types::parking_lot`
31///
32/// The `mpsc` equivalents are declared in
33/// `abi_stable::external_types::crossbeam_channel`,
34/// this is enabled by default with the `channels`/`crossbeam-channel` cargo feature.
35pub mod sync {}
3637#[doc(inline)]
38pub use self::{
39 arc::RArc,
40 boxed::RBox,
41 cmp_ordering::RCmpOrdering,
42 cow::{RCow, RCowSlice, RCowStr, RCowVal},
43 map::RHashMap,
44 option::{RNone, ROption, RSome},
45 result::{RErr, ROk, RResult},
46 slice_mut::RSliceMut,
47 slices::RSlice,
48 std_error::{RBoxError, RBoxError_, SendRBoxError, UnsyncRBoxError},
49 std_io::{RIoError, RIoErrorKind, RSeekFrom},
50 str::RStr,
51 string::RString,
52 time::RDuration,
53 tuple::{Tuple1, Tuple2, Tuple3, Tuple4},
54 utypeid::UTypeId,
55 vec::RVec,
56};