Skip to content

Add type-safe pop_sum_t for large value sums of pops and refactor pop_size_t to be type-safe - #677

Merged
Spartan322 merged 1 commit into
masterfrom
refactor/pop-size-type
Jan 19, 2026
Merged

Spartan322 merged 1 commit into
masterfrom
refactor/pop-size-type

Conversation

@Spartan322

@Spartan322 Spartan322 commented Dec 5, 2025 •

Copy link
Copy Markdown
Member

Move pop_size_t to population/PopSize.hpp
Add equalable to Concepts.hpp
Add expect_strong_typedef to NodeTools.hpp
Remove IndexedFlatMap's divide_assign_handle_zero
Fix ovdl::detail vs. OpenVic::detail namespace ambiguity in Dataloader.cpp

Closes #685

@Spartan322 Spartan322 added enhancement Issue that describes an improvement to the project topic:codestyle Issue that applies stylistic changes to the module, semantics and mechanics should not change topic:core Issue that applies to core functions, fundamental to the rest of the module labels Dec 5, 2025
@Spartan322
Spartan322 force-pushed the refactor/pop-size-type branch 3 times, most recently from cdaa3ff to 9fddcce Compare December 5, 2025 20:39
Comment thread src/openvic-simulation/population/PopSize.hpp
@Spartan322
Spartan322 force-pushed the refactor/pop-size-type branch from 9fddcce to f8b5c23 Compare December 6, 2025 06:25
@Spartan322
Spartan322 force-pushed the refactor/pop-size-type branch from f8b5c23 to 3bdc2d4 Compare December 30, 2025 11:39
@Spartan322 Spartan322 changed the title Refactor pop_size_t to be type-safe Add type-safe pop_sum_t for large value sums of pops Dec 30, 2025
@Spartan322 Spartan322 changed the title Add type-safe pop_sum_t for large value sums of pops Add type-safe pop_sum_t for large value sums of pops, refactor pop_size_t to be type-safe Dec 30, 2025
@Spartan322 Spartan322 changed the title Add type-safe pop_sum_t for large value sums of pops, refactor pop_size_t to be type-safe Add type-safe pop_sum_t for large value sums of pops and refactor pop_size_t to be type-safe Dec 30, 2025
@Spartan322
Spartan322 marked this pull request as ready for review December 30, 2025 11:41
@Spartan322
Spartan322 force-pushed the refactor/pop-size-type branch 3 times, most recently from 7857b24 to 298ff10 Compare December 30, 2025 18:51
Comment thread src/openvic-simulation/dataloader/Dataloader.cpp
Comment thread src/openvic-simulation/economy/production/ArtisanalProducer.hpp
Comment thread src/openvic-simulation/economy/production/ProductionType.cpp
Comment thread src/openvic-simulation/economy/production/ResourceGatheringOperation.cpp Outdated
@Spartan322
Spartan322 marked this pull request as draft January 1, 2026 21:22
@Spartan322
Spartan322 force-pushed the refactor/pop-size-type branch from 298ff10 to 3a4bd23 Compare January 3, 2026 18:13
@wvpm wvpm mentioned this pull request Jan 11, 2026
@Spartan322
Spartan322 force-pushed the refactor/pop-size-type branch 2 times, most recently from 7ee236d to 0cd24a8 Compare January 19, 2026 02:09
@Spartan322
Spartan322 marked this pull request as ready for review January 19, 2026 02:10
Comment thread src/openvic-simulation/economy/production/ProductionType.cpp Outdated
Comment thread src/openvic-simulation/map/MapInstance.hpp
Comment thread src/openvic-simulation/map/Mapmode.cpp
wvpm
wvpm previously approved these changes Jan 19, 2026
Refactor pop_size_t to be type-safe

Move pop_size_t to population/PopSize.hpp
Add equalable to Concepts.hpp
Add expect_strong_typedef to NodeTools.hpp
Remove IndexedFlatMap's `divide_assign_handle_zero`
Fix ovdl::detail vs. OpenVic::detail namespace ambiguity in Dataloader.cpp

Co-authored-by: wvpm <24685035+wvpm@users.noreply.github.com>
@Spartan322
Spartan322 force-pushed the refactor/pop-size-type branch from b5d865f to e3f4e94 Compare January 19, 2026 08:19
@Spartan322
Spartan322 merged commit d44c5ee into master Jan 19, 2026
16 checks passed
@Spartan322
Spartan322 deleted the refactor/pop-size-type branch January 19, 2026 08:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Issue that describes an improvement to the project topic:codestyle Issue that applies stylistic changes to the module, semantics and mechanics should not change topic:core Issue that applies to core functions, fundamental to the rest of the module

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants