Comparing develop...add_basic_static_cstring · boostorg/static_string · GitHub
Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: boostorg/static_string
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: develop
Choose a base ref
...
head repository: boostorg/static_string
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: add_basic_static_cstring
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 10 commits
  • 10 files changed
  • 2 contributors

Commits on Dec 16, 2025

  1. Configuration menu
    Copy the full SHA
    38bbebe View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7e720a9 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2025

  1. Configuration menu
    Copy the full SHA
    ade9f2e View commit details
    Browse the repository at this point in the history
  2. Replace the implementation of cxper_char_traits::move() with a simple…

    …r one
    
    Reason: See the new code comment.
    gennaroprota committed Dec 18, 2025
    Configuration menu
    Copy the full SHA
    95c8c1e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8de0758 View commit details
    Browse the repository at this point in the history
  4. Apply the workaround in the previous commit to Clang 3.7 and 9-19, too

    Reason: They have the same issue as GCC 9.
    gennaroprota committed Dec 18, 2025
    Configuration menu
    Copy the full SHA
    739060f View commit details
    Browse the repository at this point in the history
  5. Condition the NTTP tests on __cpp_nontype_template_args

    They were conditioned on detection of C++20 via __cplusplus, but Clang
    10 and 11 don't support class types as NTTP, even though they report
    C++20 via __cplusplus when -std=c++20 is used.
    gennaroprota committed Dec 18, 2025
    Configuration menu
    Copy the full SHA
    aa3f7ea View commit details
    Browse the repository at this point in the history
  6. Work around a Clang 3.7 bug affecting constexpr insert()

    The iterator-based insert(const_iterator, size_type, value_type)
    function relies on traits_type::move() to shift the existing null
    terminator to its new position. Clang 3.7's constexpr evaluator does not
    handle this correctly, causing the following test to fail:
    
      static_string<3>{"ab"}.insert(2, 1, 'c') == "abc"
    
    Add an explicit term() call, guarded by a preprocessor conditional for
    Clang 3.7, to ensure proper null termination.
    gennaroprota committed Dec 18, 2025
    Configuration menu
    Copy the full SHA
    e3e77f3 View commit details
    Browse the repository at this point in the history
  7. Fix our deduction guide

    gennaroprota committed Dec 18, 2025
    Configuration menu
    Copy the full SHA
    f699d8d View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2025

  1. Add an experimental basic_static_cstring template in example/

    This introduces a lightweight alternative to basic_static_string
    designed for use in POD types: trivially copyable, sizeof == N + 1,
    no embedded NULs.
    
    Placed in example/ to gather user feedback before committing to a public
    API. See <#23>.
    gennaroprota committed Dec 19, 2025
    Configuration menu
    Copy the full SHA
    ec624ed View commit details
    Browse the repository at this point in the history
Loading