This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of Tentatively Ready status.

4413. Unused/left-over simd::alignment specialization for basic_mask

Section: 29.10.4 [simd.traits] Status: Tentatively Ready Submitter: Matthias Kretz Opened: 2025-10-15 Last modified: 2025-10-22

Priority: Not Prioritized

View all other issues in [simd.traits].

View all issues with Tentatively Ready status.

Discussion:

29.10.4 [simd.traits] describes a value member for simd::alignment<basic_mask<…>, bool>. This was used for loads and stores for masks from/to arrays of bool. However, these load/store functions were removed after bitset/unsigned_integral conversions were introduced. This left-over TS wording should be removed.

[2025-10-22; Reflector poll.]

Set status to Tentatively Ready after seven votes in favour during reflector poll.

Proposed resolution:

This wording is relative to N5014.

  1. Modify 29.10.3 [simd.syn] as indicated:

    template<class T, class U = typename T::value_type> struct alignment { see below };
    

    -1- alignment<T, U> has a member value if and only if

    1. (1.1) — T is a specialization of basic_mask and U is bool, or

    2. (1.2) — T is a specialization of basic_vec and U is a vectorizable type.