libcxx
etl
libcxx | etl | |
---|---|---|
14 | 55 | |
677 | 1,956 | |
- | 1.6% | |
0.0 | 9.6 | |
over 4 years ago | 4 days ago | |
C++ | C++ | |
Apache License 2.0 | MIT License |
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.
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?
etl
-
Modern C++ Programming Course
If you can't use the STL because of exceptions: https://www.etlcpp.com/
- How many of you do you actually use C++?
-
Undefined Behavior?
You can also use ETL (https://www.etlcpp.com)
-
As an embedded programmer which parts of C++ should I focus?
Use ETL for embedded standard library functionality: https://www.etlcpp.com/
-
C++ on embedded studio
The best choice here is use embedded Template Library: https://www.etlcpp.com/
-
C++20 for bare-metal microcontroller programming
If you can't get C++23, expected it's implemented in the ETL (it's also just a really amazing library for this kind of stuff - highly recommend!).
-
Recompile C++ Standard library to only include classes that are embedded system friendly
I want to use some of C++ std library classes/functions in my embedded system library project that I'm writing. However as the environment has limited ressources I don't want to have use or expose classes or functions that do the following: * Dynamic memory allocations * RTTI * Runtime exceptions I will be rewriting some basic container and algorithms according to my needs. I know that there are other re writes of STL like ESTL but I don't want to have any external dependencies So my question is can I somehow compile/package a fork of C++ std library that only include embedded systems friendly classes such as: - array - tuple - variant - type_traits Etc This compiled library must be completely standalone. The compiler that I use can support upto C++17 standard.
- Looking for well written, modern C++ (17/20) example projects for microcontrollers
-
What are some essential libraries for embedded systems everyone should learn?
I will never not recommend the Embedded Template Library
-
What programming language should I pick up as a senior developer ?
STL containers use dynamic memory allocation which is often a no-no in embedded contexts. there is the ETL https://www.etlcpp.com/ but I haven't used it!
What are some alternatives?
STL - MSVC's implementation of the C++ Standard Library.
EA Standard Template Library - EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance.
kc85.zig - A KC85 emulator written in Zig
graphMat - A matrix header-only library, uses graphs internally, helpful when your matrix is part of a simulation where it needs to grow many times (or auto expand)
pacman.zig - Simple Pacman clone written in Zig.
ordered-map - C++ hash map and hash set which preserve the order of insertion
lion - Where Lions Roam: RISC-V on the VELDT
libsrt - libsrt is a C library for writing fast and safe C code, faster. It provides string, vector, bit set, set, map, hash set, and hash map handling. Suitable for soft and hard real-time. Allows both heap and stack allocation. *BETA* (API still can change: suggestions are welcome)
gcc
RxCpp - Reactive Extensions for C++
nft_ptr - C++ `std::unique_ptr` that represents each object as an NFT on the Ethereum blockchain
Ygg - An intrusive C++17 implementation of a Red-Black-Tree, a Weight Balanced Tree, a Dynamic Segment Tree and much more!