ambroise-leclerc / etl Goto Github PK
View Code? Open in Web Editor NEWC++2x Embedded Template Library for AVR 8-bit microcontrollers.
C++2x Embedded Template Library for AVR 8-bit microcontrollers.
For example in some MSVC specific code is parsed when the target platform is WIN32 regardless of the compiler :
#ifdef _WIN32
using nullptr_t = decltype(__nullptr);
using max_align_t = double;
#else
Interrupts and mask-triggered multiple callback (function, functor or lambda)
conjunction (C++17)
variadic logical AND metafunction
disjunction (C++17)
variadic logical OR metafunction
negation (C++17)
logical NOT metafunction
Basic ostream functionalities needed for gfx text displaying.
Tentative implementation of ioports.h for Espressif ESP8266.
Minimum support for shared_ptr
We want ETL's libstd to be unit-testable under a desktop environnement.
We can declare it under an "inline namespace ETL" in order to make it usable conjointly with the original desktop libstd.
An std::string implementation optimized for parameter passing and limited dynamic allocations.
The current basic implementation of tuple is a recursive implementation.
We need a more complete and effectivement tuple implementation.
ztring to bitset conversion needed for font's bitmasks implemention.
A fixed-size circular buffer with the lowest memory footprint :
Hi Ambroise
Sorry to use an issue for this, but I can't find a more appropriate means of contact.
I see some similarities in your ETL with what I try to do, so I'd like to know your experiences. Is your project still active? Did you think about extending the 'pin is a class' idea further, like 'hd44780 is a class'?
const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); }
const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); }
Iostream needs to have at least two kinds of output :
USART : (certainly always true for clog and cerr)
Console : (with implementations for graphics displays)
-nostdinc++
Do not search for header files in the C++-specific standard directories, but do still search the other standard directories. (This option is used when building the C++ library.)
template <class... Ts>
using void_t = void;
The name ioports.h is confusing since this file provides the attended gpio access objects, but also unrelated objects like Timers.
We should provide different headers for unrelated functions :
Add a std::clog log policy to freestore :
Add a malloc allocation policy
A display driver model should be specified to provide :
Implementation of a minimal subset of functionalities with
std::to_chars support for integers (needed to print integers with #55 )
Basic ostream functionalities needed for gfx text displaying.
Implementation of a non-owning string representation.
Provides manipulation of stack_allocated string data with std::string algorithms.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.