Giter Club home page Giter Club logo

etl's People

Contributors

am-l avatar ambroise-leclerc avatar careynders avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

etl's Issues

MSVC compiler is not properly detected.

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

ESP8266 Support

Tentative implementation of ioports.h for Espressif ESP8266.

Etl namespace inlining

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.

std::string implementation

An std::string implementation optimized for parameter passing and limited dynamic allocations.

  • Copy on write ?
  • Is "small string optimization" relevant on a 8-bit architecture with 16-bit pointers ?

std::tuple

The current basic implementation of tuple is a recursive implementation.
We need a more complete and effectivement tuple implementation.

std::bitset

ztring to bitset conversion needed for font's bitmasks implemention.

CircularBuffer

A fixed-size circular buffer with the lowest memory footprint :

  • index types should be 8-bit types with small buffers
  • standard container compatibility ?

contact

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'?

Implements iostream

Iostream needs to have at least two kinds of output :
USART : (certainly always true for clog and cerr)
Console : (with implementations for graphics displays)

Freestore allocation policies and log policies

Add a std::clog log policy to freestore :

  • in debug_policies : FreeStoreNoDebug, FreeStoreDebugTrace, FreeStoreDebugClog

Add a malloc allocation policy

  • FreestoreOnHeap : relies on malloc/free for C allocation compatibility since freestore and C's Heap reside in the same memory space and can overlap.
  • FreestoreNative : consumes less memory space and return information about memory consumption and fragmentation.

Display driver model

A display driver model should be specified to provide :

  • microcontroller independant display driver capabilities
  • bit blitting and filling capabilities with an emphasis on 1bit bitBlt :
    driver::windowFill(x, y, w, l, color)
    driver::windowFill(x, y, bitmap)

<charconv> header and tests

Implementation of a minimal subset of functionalities with
std::to_chars support for integers (needed to print integers with #55 )

C++17 string_view

Implementation of a non-owning string representation.

Provides manipulation of stack_allocated string data with std::string algorithms.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.