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

Improve compile-time opti in options_tools.h.in #1576

Open
mwestphal opened this issue Aug 20, 2024 · 0 comments
Open

Improve compile-time opti in options_tools.h.in #1576

mwestphal opened this issue Aug 20, 2024 · 0 comments
Labels
source:libf3d type:enhancement New feature or request

Comments

@mwestphal
Copy link
Contributor

Is your feature request related to a problem? Please describe.
With the merge of #1471, there are potential compile time optimisation that have not been implemented, let try to improve that.

eg:

constexpr std::array<std::string_view> getNames()
{
  std::array<std::string_view> vec{ ${_options_lister} };
  return vec;
}
@mwestphal mwestphal added source:libf3d type:enhancement New feature or request labels Aug 20, 2024
mwestphal added a commit that referenced this issue Aug 20, 2024
Complete refactor of options API based on generated struct and methods from a `options.json` file.

 - Add struct and methods generation code in f3dOptions.cmake
 - Add generation in library/CMakeLists.txt
 - Add options.json containing all options
 - Add new API in options.h and implement it in options.cxx, remove old API
 - Adapt code in library and in app for the new API
 - Add options testing
 - Added a quick doc about the three APIs and in header docs
 - Add a C++11 compatibility
 - Added examples
 - Improve clang-format CI and update files accordingly
 
Will be done in other PRs:

 - Add deprecation logic in generation code: #1568
 - Rework application and simplify option logic: #1569
 - Add more options types : #1570
 - Add actual parsing for all options types: #1571
 - Add complete documentation for options and option parsing: #1572
 - Proper java and javascript bindings: #1573 #1574
 - use exception translator in python bindings: #1575
  - Improve compile-time opti in options_tools.h.in:  #1576
Nokse22 pushed a commit to Nokse22/f3d that referenced this issue Sep 21, 2024
Complete refactor of options API based on generated struct and methods from a `options.json` file.

 - Add struct and methods generation code in f3dOptions.cmake
 - Add generation in library/CMakeLists.txt
 - Add options.json containing all options
 - Add new API in options.h and implement it in options.cxx, remove old API
 - Adapt code in library and in app for the new API
 - Add options testing
 - Added a quick doc about the three APIs and in header docs
 - Add a C++11 compatibility
 - Added examples
 - Improve clang-format CI and update files accordingly
 
Will be done in other PRs:

 - Add deprecation logic in generation code: f3d-app#1568
 - Rework application and simplify option logic: f3d-app#1569
 - Add more options types : f3d-app#1570
 - Add actual parsing for all options types: f3d-app#1571
 - Add complete documentation for options and option parsing: f3d-app#1572
 - Proper java and javascript bindings: f3d-app#1573 f3d-app#1574
 - use exception translator in python bindings: f3d-app#1575
  - Improve compile-time opti in options_tools.h.in:  f3d-app#1576
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
source:libf3d type:enhancement New feature or request
Projects
Status: Investigate
Development

No branches or pull requests

1 participant