Migrate atomic indirector and string manipulation - #396
Merged
Conversation
LittleHuba
force-pushed
the
migrate-atomic-indirector-and-string-manipulation
branch
from
July 20, 2026 17:08
2d7437c to
617a926
Compare
|
The created documentation from the pull request is available at: docu-html |
Relocates atomic_indirector.{h,cpp}, atomic_indirector_test.cpp,
atomic_mock.{h,cpp} and i_atomic.h from score/memory/shared to
score/concurrency, and moves the corresponding BUILD targets
(atomic_interface, atomic_indirector, atomic_indirector_mock_binding,
atomic_indirector_test) verbatim into score/concurrency/BUILD.
This is a pure move: no content, namespace, include-guard or include-path
changes are made here so the diff is easy to review. As a result, this
commit does not build on its own (headers still #include the old
score/memory/shared paths); the follow-up commit adapts the facility to
its new location.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Follow-up to the pure move: updates namespaces (score::memory::shared ->
score::concurrency), include guards (SCORE_LIB_MEMORY_SHARED_* ->
SCORE_LIB_CONCURRENCY_*) and include-paths of atomic_indirector.{h,cpp},
atomic_indirector_test.cpp, atomic_mock.{h,cpp} and i_atomic.h to match
their new package, and adjusts the score/concurrency BUILD visibility
accordingly.
score/memory/shared/memory_region_map.{h,cpp} and its test are adapted to
depend on and use the facility directly from its new location
(@score_baselibs//score/concurrency:atomic_indirector /
:atomic_indirector_mock_binding, score::concurrency namespace) instead of
going through score/memory/shared, since code within score/memory/shared
itself does not need the migration shim.
Note: this transiently breaks other consumers still depending on the old
//score/memory/shared:atomic_indirector target/include path/namespace
(score/language/safecpp/safe_atomics, score/mw/log/detail/wait_free_stack,
score/utils/meyer_singleton); the following commit reintroduces a
migration shim at the old location to restore compatibility for them.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…cation Restores //score/memory/shared:atomic_interface, :atomic_indirector and :atomic_indirector_mock_binding as thin shim cc_library targets whose headers (i_atomic.h, atomic_indirector.h, atomic_mock.h) merely #include the corresponding score/concurrency header and pull the relocated IAtomic, AtomicIndirectorReal, AtomicIndirectorMock and AtomicMock symbols back into the score::memory::shared namespace via using-declarations. This keeps the old bazel target, include path and namespace working unchanged for every consumer that has not been migrated to score/concurrency yet (score/language/safecpp/safe_atomics, score/mw/log/detail/wait_free_stack, score/utils/meyer_singleton, ...), verified by running their unit tests unmodified together with the new score/concurrency:atomic_indirector_test and score/memory/shared:memory_region_map_test. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
LittleHuba
force-pushed
the
migrate-atomic-indirector-and-string-manipulation
branch
from
July 21, 2026 09:26
617a926 to
440cdc4
Compare
Follow-up to the pure move: updates namespaces (score::memory ->
score::string_manipulation, StringLiteral stays in the top-level score
namespace) and include guards (SCORE_LIB_MEMORY_* ->
SCORE_LIB_STRING_MANIPULATION_*) of string_literal.h,
string_comparison_adaptor.{h,cpp,test.cpp} and
split_string_view.{h,cpp,test.cpp}, and fixes their #include paths to
reference score/string_manipulation instead of score/memory.
No code in score/memory/shared depends on this facility, so there is
nothing to rewire there. This transiently breaks the remaining consumers
still depending on the old //score/memory:string_comparison_adaptor /
:split_string_view targets, include paths and score::memory namespace
(score/json/internal/model, score/mw/log/configuration); the following
commit reintroduces a migration shim at the old location to restore
compatibility for them.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ry location Restores //score/memory:string_literal, :string_comparison_adaptor and :split_string_view as thin shim cc_library targets whose headers (string_literal.h, string_comparison_adaptor.h, split_string_view.h) merely #include the corresponding score/string_manipulation header. string_comparison_adaptor.h and split_string_view.h additionally pull the relocated StringComparisonAdaptor and LazySplitStringView symbols back into the score::memory namespace via using-declarations (string_literal.h needs no such using-declaration since StringLiteral already lives directly in the score namespace). This keeps the old bazel target, include path and namespace working unchanged for every consumer that has not been migrated to score/string_manipulation yet (score/json/internal/model, score/mw/log/configuration), verified by running their unit tests unmodified together with the score/string_manipulation unit tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
LittleHuba
force-pushed
the
migrate-atomic-indirector-and-string-manipulation
branch
from
July 21, 2026 10:24
440cdc4 to
7469a0d
Compare
LittleHuba
marked this pull request as ready for review
July 21, 2026 12:21
LittleHuba
requested review from
4og,
antonkri,
arkjedrz and
pawelrutkaq
as code owners
July 21, 2026 12:21
4og
approved these changes
Jul 21, 2026
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.
Superseeds #384
Related to #371