Skip to content

[ranges.syn] Should the *namespace-alias* std::views be // freestanding? #5724

@JohelEGP

Description

@JohelEGP

Related comments: #5713 (comment) #5713 (comment)

https://wg21.link/p1642r11 defines

A freestanding entity is a declaration or macro definition that is present in a freestanding implementation and a hosted implementation.
[...]
In a header synopsis, entities followed with a comment that includes freestanding are freestanding entities.

Notably, a freestanding entity is not an entity:

3 # An entity is a value, object, reference, structured binding, function, enumerator, type, class member, bit-field, template, template specialization, namespace, or pack.

The paper has the following instructions:

Change in [ranges.syn]
Drafting note:
[...]
Instructions to the editor:
Please append a // freestanding comment to every entity in <ranges> except for the following entities:

    basic_istream_view
    istream_view
    wistream_view
    views::istream

The paper instructs to append // freestanding to entities in <ranges>, which excludes the namespace-alias std::views by definition.

I commented:

I suppose this begs the question, do freestanding implementations have to use std::ranges::views rather than std::views?
-- #5713 (comment)

Currently, by my fault, #5713 does append // freestanding to std::views, but that currently has no effects since std::views is not an entity.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions