Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
39
third-party/vendor/smartstring/README.md
vendored
Normal file
39
third-party/vendor/smartstring/README.md
vendored
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
# smartstring
|
||||
|
||||
Compact inlined strings.
|
||||
|
||||
## tl;dr
|
||||
|
||||
String type that's source compatible with `std::string::String`, uses exactly the same amount of
|
||||
space, doesn't heap allocate for short strings (up to 23 bytes on 64-bit archs) by storing them in
|
||||
the space a `String` would have taken up on the stack, making strings go faster overall.
|
||||
|
||||
## Overview
|
||||
|
||||
This crate provides a wrapper for Rust's standard `String` which uses the space a `String` occupies
|
||||
on the stack to store inline string data, automatically promoting it to a `String` when it grows
|
||||
beyond the inline capacity. This has the advantage of avoiding heap allocations for short strings as
|
||||
well as improving performance thanks to keeping the strings on the stack.
|
||||
|
||||
This is all accomplished without the need for an external discriminant, so a `SmartString` is
|
||||
exactly the same size as a `String` on the stack, regardless of whether it's inlined or not.
|
||||
Converting a heap allocated `SmartString` into a `String` and vice versa is also a zero cost
|
||||
operation, as one will reuse the allocated memory of the other.
|
||||
|
||||
## Documentation
|
||||
|
||||
- [API docs](https://docs.rs/smartstring)
|
||||
|
||||
## Licence
|
||||
|
||||
Copyright 2020 Bodil Stokke
|
||||
|
||||
This software is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL
|
||||
was not distributed with this file, You can obtain one at <http://mozilla.org/MPL/2.0/>.
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
Please note that this project is released with a [Contributor Code of Conduct][coc]. By
|
||||
participating in this project you agree to abide by its terms.
|
||||
|
||||
[coc]: https://github.com/bodil/sized-chunks/blob/master/CODE_OF_CONDUCT.md
|
||||
Loading…
Add table
Add a link
Reference in a new issue