static-assertions
libcxx
static-assertions | libcxx | |
---|---|---|
2 | 14 | |
555 | 677 | |
- | - | |
0.0 | 0.0 | |
6 months ago | over 4 years ago | |
Rust | C++ | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
static-assertions
-
"My Reaction to Dr. Stroustrup’s Recent Memory Safety Comments"
The static-assertions crate tries to handle similar use cases but const generics are still problematic.
-
Const generics MVP hits beta!
For that, I've used static-assertions in the past.
libcxx
-
Quants use Rust; Devs use C++ - Hey, it's a compromise!
If you are comparing hoops that library authors need to jump through in both languages, you can easily make the real-world comparison in the other direction, by comparing Rust's Option with C++'s std::optional (an exercise left for the reader): Rust std: https://github.com/rust-lang/rust/blob/master/library/core/src/option.rs libcxx: https://github.com/llvm-mirror/libcxx/blob/master/include/optional
-
My favorite prime number generator
My favorite prime number generator is the undocumented __next_prime():
https://github.com/llvm-mirror/libcxx/blob/78d6a7767ed57b501...
There is no good reason to use this one except in a code golf environment that includes all headers by default, which is where I learned about it.
- Please can someone tell me where I can find the content of the STL
-
"My Reaction to Dr. Stroustrup’s Recent Memory Safety Comments"
I once read a Strousroup quote amounting to "If you understand std::vector, then you understand C++". I thought surely he couldn't have meant the interface but the implentation, googled that llvm's implementation is considered nice and clean, had a look, and noped straight out of there.
- pmr implementation in c++14
-
In Defense of Linked Lists
C++'s STL linked list for comparison (libcxx).
https://github.com/llvm-mirror/libcxx/blob/master/include/li...
-
RFC: C++ Buffer Hardening
> For example, accessing a std::span or a std::vector outside of its bounds would abort the program, and so would accessing an empty std::optional.
I don't really understand the difference with libc++, libstdc++ and msvc stl's respective debug modes, they already do exactly these checks :
- https://github.com/llvm-mirror/libcxx/blob/78d6a7767ed57b501...
- https://github.com/gcc-mirror/gcc/blob/966010b2eb4a4c52f139b...
- Why is std::array implemented as a struct instead of a class?
-
C++ Concurrency Model on x86 for Dummies
I mean it's not hard to read the source for your platform. On Linux/x86_64/libc++ it's roughly:
- https://github.com/llvm-mirror/libcxx/blob/master/include/__...
- https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=nptl/...
I don't particularly care to comb through it to see if anything has changed, but historically it was a a little spin-CAS to make the non-contended path fast and then dropping into a https://en.wikipedia.org/wiki/Futex, which is about as good as it gets for staying mostly in userspace but still letting it be scheduler aware so you're not burning up a core busy-polling, which is what often happens when people try to roll their own shit.
Google wants a bit more latitude on the heuristics and degrees of freedom around read/write ownership, so they did it like this: https://github.com/abseil/abseil-cpp/blob/master/absl/synchr... which is quite a bit better commented/legible.
If anyone reading this can do better than the `abseil-cpp` folks, not only would Google take their PR, they'd probably offer them a job.
- Intrusive List Advantages?
What are some alternatives?
kernel - FreeDOS kernel - implements the core MS-DOS/PC-DOS (R) compatible operating system. It is derived from Pat Villani's DOS-C kernel and released under the GPL v2 or later. Please see http://www.freedos.org/ for more details about the FreeDOS (TM) Project.
STL - MSVC's implementation of the C++ Standard Library.
const_fixedp - A const type for fixed point arithmetic in Rust.
kc85.zig - A KC85 emulator written in Zig
assertnever - Syntactical sugar for assert never
pacman.zig - Simple Pacman clone written in Zig.
inox2d - Native Rust reimplementation of Inochi2D
lion - Where Lions Roam: RISC-V on the VELDT
current_platform - Find out what platform your code is running on from Rust
gcc
ntest - Testing framework for rust enhancing the built-in library with some useful features.
nft_ptr - C++ `std::unique_ptr` that represents each object as an NFT on the Ethereum blockchain