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
57
#![feature(allocator_api)]
#![feature(extern_types)]
#![feature(core_intrinsics)]
#![feature(libstd_sys_internals)]
#![feature(thread_local)]
#![feature(const_fn)]

/// Path prediction macros for likely/unlikely intrinsics
#[macro_use]
pub mod likeliness;

/// Adapt various allocator traits to one another.
#[macro_use]
pub mod adaptors;

/// Allocators.
#[macro_use]
pub mod allocators;

/// Extensions useful for working with memory; not a stable part of the API of this crate.
pub mod extensions;

/// Memory sources.
pub mod memory_sources;

/// Type alias of memory address
pub mod memory_address;

pub mod prelude {
    pub use crate::adaptors::prelude::*;
    pub use crate::adaptors::*;

    pub use crate::allocators::prelude::*;
    pub use crate::allocators::*;

    pub use crate::extensions::*;

    pub use crate::likeliness::prelude::*;
    pub use crate::likeliness::*;

    pub use crate::memory_address::*;

    pub use crate::memory_sources::prelude::*;
    pub use crate::memory_sources::*;

    pub use crate::allocators::binary_search_trees::prelude::*;
    /// Expose tree structures
    pub use crate::allocators::binary_search_trees::*;

    // Expose macros
    pub use crate::alloc;
    pub use crate::choose_allocator;
    pub use crate::global_alloc;
    pub use crate::likely;
    pub use crate::switchable_allocator;
    pub use crate::unlikely;
}