Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ext] Embedded Template Library ETL #667

Merged
merged 2 commits into from
Oct 12, 2021
Merged

Conversation

rleh
Copy link
Member

@rleh rleh commented Aug 5, 2021

  • Submodule of partial ETLCPP/etl repo: https://github.com/modm-ext/etl-partial
  • lbuild module
  • Minimal example
  • Ignore profiles/ folder and doxygen.h
  • ETL_ASSERT etc should be rerouted to modm_assert. I think replacing the error_handler.h file should be enough for that.
  • Verify that all compatible ETL_* defined are defaulted, like ETL_CPP17_SUPPORTED etc.
  • <etl_local.h> mechanism? => ETL uses etl_profile.h themselves.
  • Add ETL as external project to Readme

@salkinium
Copy link
Member

salkinium commented Aug 5, 2021

Hm, ETL is certainly very large, I was wondering if there's any way to modularize ETL just a little. Something along the lines of the documentation grouping: https://www.etlcpp.com/documentation.html That would allow us to use ETL inside modm without forcing a lot of file to be generated all the time. We don't have to do it right away, only when we want to start using ETL inside modm.

@TomSaw
Copy link
Contributor

TomSaw commented Aug 6, 2021

Waaa!! You're reading my thoughts. I've just scratched my head on how to get a python-like dict in C++ and here it is!

@kikass13
Copy link

kikass13 commented Aug 9, 2021

I have also added etl to our modm repositories and we are keen on using it excessively 👍

don't forget to add the etl::string to your MODM_LOGGER class, so that we can print etl::strings as well! :)
I am using something like this for now

etl::string<255> etlStr{"xaxa"};
std::string str(etlStr.data(), etlStr.data_end());
MODM_LOG_INFO << str.c_str() << modm::endl;

which is awkward but fine, i guess :p

@salkinium
Copy link
Member

@rleh is it possible to address my todo list above until the Q3 release in 10 days? I don't think we can modularize the library since they update their code so much…

@rleh
Copy link
Member Author

rleh commented Sep 23, 2021

Hopefully I'll find some time next week...

@salkinium salkinium force-pushed the feature/etl branch 4 times, most recently from ed3b1c9 to aca9515 Compare October 2, 2021 21:30
@salkinium
Copy link
Member

We should probably have a better example.

@salkinium salkinium force-pushed the feature/etl branch 2 times, most recently from 211b8ba to fa0e3ef Compare October 3, 2021 11:22
@salkinium
Copy link
Member

@rleh please review and test.

Co-authored-by: Niklas Hauser <[email protected]>
@rleh rleh force-pushed the feature/etl branch 2 times, most recently from ba24264 to 3ef409b Compare October 12, 2021 20:30
Copy link
Member Author

@rleh rleh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approve ✅

@rleh rleh requested a review from salkinium October 12, 2021 20:31
@salkinium salkinium added the ci:hal Triggers the exhaustive HAL compile CI jobs label Oct 12, 2021
@salkinium salkinium merged commit 2ef7a29 into modm-io:develop Oct 12, 2021
@rleh rleh deleted the feature/etl branch October 13, 2021 10:00
@salkinium salkinium added this to the 2021q4 milestone Oct 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci:hal Triggers the exhaustive HAL compile CI jobs feature 🚧
Development

Successfully merging this pull request may close these issues.

4 participants