Skip to content

[atomics.syn] doesn't depict memory_order_meow #5385

@StephanTLavavej

Description

@StephanTLavavej

As of N4910, [atomics.order] defines:

namespace std {
  enum class memory_order : unspecified {
    relaxed, consume, acquire, release, acq_rel, seq_cst
  };
  inline constexpr memory_order memory_order_relaxed = memory_order::relaxed;
  inline constexpr memory_order memory_order_consume = memory_order::consume;
  inline constexpr memory_order memory_order_acquire = memory_order::acquire;
  inline constexpr memory_order memory_order_release = memory_order::release;
  inline constexpr memory_order memory_order_acq_rel = memory_order::acq_rel;
  inline constexpr memory_order memory_order_seq_cst = memory_order::seq_cst;
}

However, these inline constexpr variables within namespace std don't appear within [atomics.syn] which says only:

namespace std {
  // 33.5.4, order and consistency
  enum class memory_order : unspecified ;
  template<class T>
    T kill_dependency(T y) noexcept;
}

I am unsure of the editorial conventions here, but as an implementer of the proposed Standard Library Modules, I find it most helpful when the header synopsis lists all top-level inhabitants of namespace std.

Metadata

Metadata

Assignees

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