SCPP26 Specifications
English

SCPP26 Specifications

Formal specifications – working drafts.

This directory contains three side-by-side SCPP26 specifications. The first is the language standard itself: an ISO-style list of clauses describing how SCPP26 modifies C++26. The other two are standalone file-format specifications for .scppm and .scppkg.

δΈ­ζ–‡η‰ˆ: zh/README.md

Language Standard

This document specifies SCPP26 as ISO/IEC 14882:2026 (C++26), modified by the numbered clauses below. It is a companion to the book, which teaches the language; this document instead states, precisely and normatively, exactly what changes relative to the C++ standard. Clauses are added incrementally; a topic with no clause here yet is still designed (see the book) but not yet formalized in this document.

Table of Contents

  1. Front Matter (Scope, Normative References, Terms and Definitions, Conformance)
  2. The [[scpp::unsafe]] Attribute
  3. Ownership, Initialization, and Move
  4. Dereference and Member Access
  5. Thread-Safety Properties
  6. Union types and packed layout
  7. Constant evaluation
  8. The constexpr and consteval specifiers
  9. Function template argument deduction
  10. Enumeration conversions
  11. Iteration statements
  12. Inheritance and Interfaces

File-Format Specifications