Ed_
050b00f28a
Adding the pragma once and includes the files broke compilation, still diagnosing why. - Some string functions were moved to the cpp, still need to do some more evaluation of it and the containers... - Added support for forceinline and neverinline to parsing (untested) - Added support for specifiers in operator cast such as explicit, inline/forceinline/neverinline, etc. - Before it only support const. - Still need to support volatile. - Forceinline was not supported at all for tokenization, fixed that. |
||
---|---|---|
.. | ||
helpers | ||
.clang-format | ||
build.ci.ps1 | ||
build.ps1 | ||
clean.ps1 | ||
genccp.natstepfilter | ||
gencpp.natvis | ||
gencpp.refactor | ||
package_release.ps1 | ||
Readme.md | ||
refactor.ps1 |
Scripts
Generation, testing, and cleanup scripts for the test directory are found here along with natvis
and natstepfilter
files for debugging.
Refactoring
refactor.ps1
Provides a way to run the refactor program. It uses the gencpp.refactor
script to complete a mass refactor of all content within the files of the specified within the script.
Currently refactor
only supports naive sort of find and replace feature set and will not be able to rename identifiers excluisvely to a specific context (such as only renaming member names of a specific struct, etc).
Note: The following macros are used with specifiers and token parsing within the library:
- global
- internal
- local_persist
- forceinline
- neverinline
IF they are changed the following files would need adjustment:
./project/enums/ESpecifier.csv
./project/enums/ETokType.csv
./project/helpers/helper.hpp
Build & Run Scripts
clean.ps1
Remove any generated content from the repository.
build.ps1
Build bootstrap, singleheader, or tests. Supports MSVC or clang, release or debug.
args:
bootstrap
singleheader
test
clang
msvc : By default this project builds with clang, specifying msvc will build with MSVC.
debug
release : By default this project builds in debug mode, specifying release will build with optimizations.
package_release.ps1
Will build the project as fast as possible, then package the release into a zip file.
Note: My env is Windows 11 with MSVC 2022 and clang 16.0.6