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

Ideas/Improvements I would like to contribute #54

Open
yost-jacob opened this issue Jun 30, 2020 · 0 comments
Open

Ideas/Improvements I would like to contribute #54

yost-jacob opened this issue Jun 30, 2020 · 0 comments

Comments

@yost-jacob
Copy link

yost-jacob commented Jun 30, 2020

If there is interest I would like to contribute the following:

  • change m_children to be a boost/std any instead of a void* - We can the default the move and copy constructors assignment operators, and pretty sure the destructor. It at least works on the version I have been playing with.

  • implement rvalue references (issue:42 ) - Its mostly pretty straightforward overloads, except for where we are deducing Type, in these cases we need to add an enable_if<is_rvalue_reference<Type&&> ,Type> or similar to prevent the universal forwarding references (Type&&) from being too greedy.

  • pass path by value - a copy is made immediately in most cases anyway

  • add a string_view constructor to string_path

  • use other boost config helper macros to do things like add const or constexpr and noexcept where appropriate

  • use macros to use std library versions of type traits, any, optional, string_view as appropriate.

  • create a boost::lexical_cast based translator instead of stringstream. maybe make a macro flag to switch between them.

  • find other opportunities to use string_view

  • then in the far off future, a YAML parser.

  • [[unlikely]] i may update the unit testing. i think its set up to use the minimal implementation of test which is deprecated and took a lot of fiddling with

If there is any real interest, I can work on the pull requests for review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant