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