devela/work/process/thread/
reexports.rs

1// devela::work::process::thread::reexports
2//
3//! Reexported items.
4//
5// Note that std's standalone functions are namespaced in `ExtThread`.
6
7use crate::reexport;
8
9/* types */
10
11reexport! { rust: std::thread,
12    tag: crate::TAG_ERROR!(),
13    doc: "An error returned by [`ThreadLocalKey::try_with`].",
14    @AccessError as ThreadAccessError
15}
16reexport! { rust: std::thread,
17    doc: "Thread factory, which can be used to configure the properties of a new thread.",
18    @Builder as ThreadBuilder
19}
20reexport! { rust: std::thread,
21    doc: "An owned permission to join on a thread (block on its termination).",
22    @JoinHandle as ThreadJoinHandle
23}
24reexport! { rust: std::thread,
25    doc: "A thread local storage key which owns its contents.",
26    @LocalKey as ThreadLocalKey
27}
28reexport! { rust: std::thread,
29    doc: "A scope to spawn scoped threads in.",
30    @Scope as ThreadScope
31}
32reexport! { rust: std::thread,
33    doc: "An owned permission to join on a scoped thread (block on its termination).",
34    @ScopedJoinHandle as ThreadScopedJoinHandle
35}
36reexport! { rust: std::thread,
37    doc: "A handle to a thread.\n\n
38See also the [`ExtThread`][crate::ExtThread] trait.",
39    Thread
40}
41reexport! { rust: std::thread,
42    doc: "A unique identifier for a running thread.",
43    ThreadId
44}
45
46/* macros */
47
48reexport! { rust: std,
49    doc: "Declare a new thread local storage key of type [`ThreadLocalKey`].",
50    thread_local
51}
52
53/* aliases */
54
55reexport! { rust: std::thread,
56    tag: crate::TAG_RESULT!(),
57    doc: "A specialized [`Result`] type for threads.",
58    @Result as ThreadResult
59}