Open
Conversation
Introduce MemoryCore skeleton, implementation details remain incomplete and will be implemented in a follow-up.
Resources being studied for the implementation of a process-wide fixed-size memory block pool.
Added skeletons for process-wide MemoryPoolConfig and ProcessMemoryPool. Both are incomplete stubs; Update src/process/CMakeLists.txt to include the new source files
Prematurely adding necessary header dependency
Appended a comment block to dev_exe.cpp about potential debug-mode bad-address/sentinel values (several hex patterns and their decimal equivalents)
Annotate MemoryPoolConfig structure with CHEVRON_API to ensure proper symbol visibility from the shared library/object; Implementation remains incomplete
Added skeleton for strongly-typed DigitalSize template as a stub; Still incomplete
Moved digital size measurement facilities to 'include/chevron/common/units/digital' subdirectory; Implementation STILL INCOMPLETE
Add include/chevron/common/units/digital/unit_cast.hpp which introduces DigitalSizeCast, a constexpr template utility to convert between digital size unit types
Incomplete
Introduce a general units include header that centralizes unit-measure facilities; This front-facing header is still INCOMPLETE
Temporary 'size_t' references to be replaced with explicit unit types; Incomplete
Compile-time and runtime math utilities
Incomplete
Introduces an alignment and bit inspection header; Both headers incomplete
Adjustments to documentation comments
Introduce arithmetic and compound operators for DigitalSize; Moved class type traits above class definition
Replace raw size_t fields with unit-safe Bytes for block_size, chunk_size, and budget_ceiling in MemoryPoolConfig; Other fields and structure remain unchanged
Rolling example of application implementation with Chevron
Incomplete documentation
Added validation method stubs for process memory pool configuration; Incomplete implementation
Concerns of portability were invalid
Moved digital size units to dedicated header inside the library file structure, general include header references these nested files/types
Added missing operators to digital size unit template; Misc. fixes to header
Added missing noexcept qualifier to digital size unit cast utility
Renamed source file and introduced power of ten related utilities; Incomplete
Moved function utilities from 'chevron::model' to 'chevron::func'; Also renamed argument indexing concept name, now titled 'valid_arguments_index' from 'is_valid_args_index' (consistent with library concepts approach)
Introduce templated Callable aliases that accept argument packs ('VoidReturnArgs', 'BoolReturnArgs', 'CharReturnArgs', 'IntReturnArgs', 'FloatReturnArgs', 'DoubleReturnArgs', 'CstrReturnArgs', 'SizeTReturnArgs'); Removed the dependency on <string> header and the previous 'StringReturnNoArgs' alias; Also renamed 'SizeReturnNoArgs' to 'SizeTReturnNoArgs'
Introduce digital unit concepts in 'common/units/digital/size_concepts.hpp'; Updated digital unit type traits to include 'utility/bits/powers.hpp' and add 'is_binary_size_system_v' and 'is_decimal_size_system_v' traits (detects power-of-two / power-of-ten byte ratios); Removed now-redundant 'is_lossless_size_conversion_v' trait (made into a concept instead)
Add include for 'chevron/common/units/digital/size_concepts.hpp' to 'unit_cast.hpp' (INCOMPLETE!!!) TODO: Having troubles integrating 'digital_size_units' concept inside of the 'DigitalSizeCast' class
Fixes and additions to 'DigitalSize' class template
Fixed ill-formed type trait helper variable
Documentation update
Documentation update Updated references to size system magnitude constants
Renamed 'IEC_DIGITAL_UNIT_MAGNITUDE' to 'BINARY_DIGITAL_UNIT_MAGNITUDE' and 'STD_DIGITAL_UNIT_MAGNITUDE' to 'DECIMAL_DIGITAL_UNIT_MAGNITUDE'
Introduces primary library macro header
Updates made to code documentation
- Documentation update - Removed auto type aligned overloads; pointer arithmetic suffices for that purpose
Adjusted to camel-case
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Introduction of process-wide memory management components