Skip to content

Conversation

@jamon-bailey
Copy link
Member

Provides initial implementation of function pointer utility

jamon-bailey and others added 25 commits January 15, 2026 18:32
Incomplete; Introduces FuncArgs and FuncPtr template classes to header API along with associated concepts
Both 'func_args.cpp' and 'func_pointer.cpp' will be removed since both entities are templates. The 'func_pointer.cpp' file will be temporarily used as a temp source to feed the shared/dynamic library on build
Clang-Format run
Corrected storage approach of free callables
Callable entities from classes provide class type in type trait utility
Renamed symbol visibility macro header to suffix with '.h' to be compatible with C sources; Adjusted 'info.h.in' and 'version.h.in' template files to avoid constantly invoking Clang-Format on generated source
Introduces the chevron_EXPORTS=1 compile definition when the chevron_EXPORTS variable is set for shared builds in both C and C++ CMake configurations.
Changed namespace from chevron::model to chevron in func_args.hpp and func_pointer.hpp; Updated traits and concepts references to use model::traits and model::concepts for consistency; Minor comment and formatting improvements included
Added the 'chevron_EXPORTS' variable set to 'ON' in all Debug build presets for different compilers in CMakePresets.json to ensure consistent export behavior during debug builds.
Introduces a new header providing type aliases for common callable function signatures with no arguments and various return types
resolving local technical issues, cannot permit SO version info on Linux/macOS yet
Incomplete; Install setup for the Chevron library moved to explicit 'install_config.cmake' script to avoid clutter in /src/CMakeLists.txt file; Experienced issues on Windows attempting to build after specifying version information on the main library target (possibly local technical issues?)
execute permissions given and is in my way (useless commit, I know)
Adjusted CMake scripts to remove external control of GUI framework binary build configuration, introduces too much complexity and opportunity for mistakes/confusion
Temporary stub entities now defined in explicit 'temp.hpp' and 'temp.cpp' files to prevent interference with development; Issue with build on Windows is suspected to be because of a lack of exported symbols which is likely causing the import library to not genereate (MSVC compiler), introduces explicit symbol to be exported
Incomplete; Initial implementation of process program structure; Removes temporary source
Updates made to library diagrams document
Renamed "CharPtrReturnNoArgs" to a more appropriately title: "CstrReturnNoArgs". Conveys what is returned better; Small cosmetic tweaks
Added symbol export (because I somehow forgot). This is only necessary for successful builds on Windows platform, a DLL export library needs to be generated to avoid issues
@jamon-bailey jamon-bailey self-assigned this Jan 23, 2026
Use of two variadic template packs back-to-back does not conform to standard C++ and requires a permissive compiler, which is undesirable for this project. This particular concept was not in use at time of deletion due to unrelated issues attempting to integrate it at its designated point; This removal also fixes the previous failures from Workflow runner build tests
@jamon-bailey jamon-bailey merged commit 4be2e1f into v0.x Jan 24, 2026
10 checks passed
@jamon-bailey jamon-bailey deleted the func-ptr branch January 24, 2026 04:33
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

Successfully merging this pull request may close these issues.

2 participants