Crate prelude [−] [src]
import prelude::*
so you can be ready to code!
Traits
Not having common traits imported is one of the most annoying
gotchas in rust when coming from other languages. When you are
used to the language, you expect the methods you are used
to to always work... not so. Using Vec::from_iter
is extremely
common, but you must first import the FromIterator
trait.
The following are the traits that are implemented and why:
- std::ascii::AsciiExt
: adds the to_ascii_uppercase
onto
&str
types.
- std::fmt::Debug
: allows you to define Debug manually.
- std::fmt::Write as FmtWrite
: adds write_str
onto byte buffers
(such as String
). Renamed FmtWrite
to avoid conflict with
std::io::Write
- std::io::Read
: allows you to use file.read()
- std::io::Seek
: allows you to use file.seek()
- std::io::Write as IoWrite
: allows you to use file.write()
and file.write_all()
. Renamed IoWrite
to avoid conflict with
std::fmt::Write
- std::ops::{Deref, DerefMut}
: allows deref through *v
and also
enables Deref coercions
- std::str::FromStr
: allows you to use type::from_str
constructor
for several types. This is what is implicitly called with
str::parse<_>()
structs
These are extremely commonly used types and it is annoying to have to reimport them all the time.
std::collections::{BTreeMap, HashMap, HashSet}
: ordered-dict, dict and setstd::ffi::OsString
: os agnostic (non unicode) string typestd::path::PathBuf
uses this.std::fs::File
: for opening files.File::open
to open a file for readingFile::write
to open a file for writing
std::fs::OpenOptions
for more file opening optionsstd::fs::ReadDir
: to iterate over the entries in a directory.std::path::{Path, PathBuf}
: specifies an os path.std::rc::Rc
: reference counted pointerstd::sync::Arc
: atomically reference counted pointerstd::sync::Mutex
: mutual exclusion primitive for threading.std::sync::atomic::{AtomicBool, AtomicIsize, AtomicUsize}
: basic atomic types. Good for unique ids and lots of other use cases.std::sync::atomic::Ordering
: necessary for performing operations on atomic types. For incrementing a counter useval.fetch_add(1, Ordering::SeqCst)
.std::sync::atomic::ATOMIC_USIZE_INIT
: initializedAtomicUsize
of 0. Use withstatic COUNTER: AtomicUsize = ATOMIC_USIZE_INIT;
std::time::Duration
: an amount of time, used forstd::thread::sleep
.
functions
std::mem::{size_of, size_of_val}
: get the size of a type. This is safe and common enough that it should be always available.std::thread::sleep
: put the thread to sleep for aDuration
.std::thread::spawn
: spawn a function in a new thread. In rust this is memory safe, so it is nice to have it always available.
Structs
Arc |
A thread-safe reference-counting pointer. 'Arc' stands for 'Atomically Reference Counted'. |
AtomicBool |
A boolean type which can be safely shared between threads. |
AtomicIsize |
An integer type which can be safely shared between threads. |
AtomicUsize |
An integer type which can be safely shared between threads. |
BTreeMap |
A map based on a B-Tree. |
Duration |
A |
File |
A reference to an open file on the filesystem. |
HashMap |
A hash map implemented with linear probing and Robin Hood bucket stealing. |
HashSet |
A hash set implemented as a |
Mutex |
A mutual exclusion primitive useful for protecting shared data |
OpenOptions |
Options and flags which can be used to configure how a file is opened. |
OsString |
A type that can represent owned, mutable platform-native strings, but is cheaply inter-convertible with Rust strings. |
Path |
A slice of a path (akin to |
PathBuf |
An owned, mutable path (akin to |
Rc |
A single-threaded reference-counting pointer. 'Rc' stands for 'Reference Counted'. |
ReadDir |
Iterator over the entries in a directory. |
Enums
Ordering |
Atomic memory orderings |
SeekFrom |
Enumeration of possible methods to seek within an I/O object. |
Constants
ATOMIC_USIZE_INIT |
An atomic integer initialized to |
Traits
AsciiExt |
Extension methods for ASCII-subset only operations. |
Debug |
Format trait for the |
Deref |
Used for immutable dereferencing operations, like |
DerefMut |
Used for mutable dereferencing operations, like in |
FmtWrite |
A collection of methods that are required to format a message into a stream. |
FromIterator |
Conversion from an |
FromStr |
A trait to abstract the idea of creating a new instance of a type from a string. |
IoWrite |
A trait for objects which are byte-oriented sinks. |
Read |
The |
Seek |
The |
Functions
size_of |
Returns the size of a type in bytes. |
size_of_val |
Returns the size of the pointed-to value in bytes. |
sleep |
Puts the current thread to sleep for the specified amount of time. |
spawn |
Spawns a new thread, returning a |