Technical Specification C++ Extensions for Coroutines

Similar documents
This document is a preview generated by EVS

Information technology Security techniques Mapping the revised editions of ISO/IEC and ISO/IEC 27002

Information technology Extensions of Office Open XML file formats. Part 1: Guidelines

This document is a preview generated by EVS

Part 1: Numbering system

Sýnishorn. Information technology Dynamic adaptive streaming over HTTP (DASH) Part 1: Media presentation description and segment formats

This document is a preview generated by EVS

Information technology Security techniques Sector-specific application of ISO/IEC Requirements

This document is a preview generated by EVS

This document is a preview generated by EVS

This document is a preview generated by EVS

This document is a preview generated by EVS

Information technology Identification cards Biometric System-on-Card. Part 3: Logical information interchange mechanism

This document is a preview generated by EVS

Mobile robots Vocabulary

Information technology Process assessment Process measurement framework for assessment of process capability

Information technology Multimedia service platform technologies. Part 3: Conformance and reference software

Information technology Office equipment Method for Measuring Scanning Productivity of Digital Multifunctional Devices

Identification cards Optical memory cards Holographic recording method. Part 3: Optical properties and characteristics

Information technology Security techniques Application security. Part 5: Protocols and application security controls data structure

Information technology IT asset management Overview and vocabulary

Systems and software engineering Information technology project performance benchmarking framework. Part 4:

Software engineering Guidelines for the application of ISO 9001:2008 to computer software

Technical product documentation Design for manufacturing, assembling, disassembling and end-of-life processing. Part 1:

INTERNATIONAL STANDARD

This document is a preview generated by EVS

This document is a preview generated by EVS

Part 5: Hash-functions

This document is a preview generated by EVS

Information technology Realtime locating system (RTLS) device performance test methods. Part 62:

This document is a preview generated by EVS

This document is a preview generated by EVS

This document is a preview generated by EVS

Part 5: Face image data

ISO/IEC Information technology Open Systems Interconnection The Directory. Part 9: Replication

Information technology Programming languages, their environments and system software interfaces Guidelines for language bindings

This document is a preview generated by EVS

Information Technology Real Time Locating System (RTLS) Device Conformance Test Methods. Part 62:

Systems and software engineering Framework for categorization of IT systems and software, and guide for applying it

This document is a preview generated by EVS

Information technology Service management. Part 10: Concepts and terminology

Tool holders with rectangular shank for indexable inserts. Part 14: Style H

This document is a preview generated by EVS

Identification cards Optical memory cards Holographic recording method. Part 2: Dimensions and location of accessible optical area

This document is a preview generated by EVS

ISO/IEC INTERNATIONAL STANDARD. Information technology Message Queuing Telemetry Transport (MQTT) v3.1.1

Information technology Cloud computing Service level agreement (SLA) framework. Part 3: Core conformance requirements

Information technology MPEG systems technologies. Part 8: Coding-independent code points

Information technology Security techniques Blind digital signatures. Part 1: General

This document is a preview generated by EVS

Information technology Automatic identification and data capture techniques PDF417 bar code symbology specification

Solid biofuels Determination of mechanical durability of pellets and briquettes. Part 1: Pellets

Information technology Scalable compression and coding of continuous-tone still images. Part 1:

Implants for surgery Metallic materials. Part 7: Forgeable and cold-formed cobaltchromium-nickel-molybdenum-iron. alloy

This document is a preview generated by EVS

Graphical symbols Safety colours and safety signs Registered safety signs

This document is a preview generated by EVS

This document is a preview generated by EVS

Information technology Security techniques Cryptographic algorithms and security mechanisms conformance testing

Part 7: Selected object classes

Information technology Data centres Key performance indicators. Part 4: IT Equipment Energy Efficiency for servers (ITEEsv)

This document is a preview generated by EVS

Part 5: Protocol specifications

Information technology Governance of IT Governance of data. Part 1: Application of ISO/IEC to the governance of data

This document is a preview generated by EVS

Tool holders with rectangular shank for indexable inserts. Part 12: Style S

This document is a preview generated by EVS

This document is a preview generated by EVS

This document is a preview generated by EVS

Data structures for electronic product catalogues for building services. Part 2: Geometry

PROOF/ÉPREUVE. Safety of machinery Relationship with ISO Part 1: How ISO relates to type-b and type-c standards

Information technology Service management. Part 11: Guidance on the relationship between ISO/IEC :2011 and service management frameworks: ITIL

Information technology Process assessment Concepts and terminology

This document is a preview generated by EVS

Information technology Office equipment Method for measuring digital printing productivity

This document is a preview generated by EVS

This document is a preview generated by EVS

This document is a preview generated by EVS

Medical devices Quality management Medical device nomenclature data structure

This document is a preview generated by EVS

This document is a preview generated by EVS

Dentistry Polymer-based pit and fissure sealants

Information technology Automatic identification and data capture techniques Bar code verifier conformance specification. Part 2:

This document is a preview generated by EVS

INTERNATIONAL STANDARD

Packaging Distribution packaging Graphical symbols for handling and storage of packages

Information technology Security techniques Requirements for bodies providing audit and certification of information security management systems

Part 4: Video tool library

Part 6: Fall cone test

This document is a preview generated by EVS

Information technology Keyboard layouts for text and office systems. Part 9: Multi-lingual, multiscript keyboard layouts

Part 6: Earth-moving machinery Safety. Requirements for dumpers. Engins de terrassement Sécurité Partie 6: Exigences applicables aux tombereaux

This document is a preview generated by EVS

Graphic technology Colour data exchange format (CxF/X) Part 2: Scanner target data (CxF/X-2)

This document is a preview generated by EVS

Part 72: XML file format x3p

This document is a preview generated by EVS

This document is a preview generated by EVS

Transcription:

TECHNICAL SPECIFICATION ISO/IEC TS 77 First edition 07- Technical Specification C++ Extensions for Coroutines Langages de programmation Extensions C++ pour les Coroutines Reference number ISO/IEC TS 77:07(E) ISO/IEC 07

ISO/IEC TS 77:07(E) COPYRIGHT PROTECTED DOCUMENT ISO/IEC 07, Published in Switzerland All rights reserved Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior written permission Permission can be requested from either ISO at the address below or ISO s member body in the country of the requester ISO copyright office Ch de Blandonnet CP 40 CH-4 Vernier, Geneva, Switzerland Tel +4 749 0 Fax +4 749 09 47 copyright@isoorg wwwisoorg ii ISO/IEC 07 All rights reserved

ISO/IEC TS 77:07(E) Contents Foreword v Scope Normative references 3 Terms and definitions operators 3 3 5 5 5 6 Statements 65 Iteration statements 66 Jump statements 6 6 7 7 Declarations 7 Specifiers Declarators 4 Function definitions 4 General 4 Implementation compliance 4 Feature testing 43 Program execution 44 Lexical conventions 45 Basic concepts 46 Dynamic storage duration 5 Expressions 53 Unary expressions 57 Assignment and compound assignment 59 Constant expressions 50 Yield 9 Classes 0 Derived classes Member Access Control Special member functions Constructors 4 Destructors Copying and moving class objects 3 Overloading 35 Overloaded operators 4 Templates iii ISO/IEC 07 All rights reserved

ISO/IEC TS 77:07(E) Exception handling 3 6 Preprocessing directives 3 7 Library introduction 4 Language support library General 0 Other runtime support Coroutines support library iv ISO/IEC 07 All rights reserved

ISO/IEC TS 77:07(E) Foreword ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity ISO and IEC technical committees collaborate in fields of mutual interest Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC The procedures used to develop this document and those intended for its further maintenance are described in the ISO/IEC Directives, Part In particular the different approval criteria needed for the different types of document should be noted This document was drafted in accordance with the editorial rules of the ISO/IEC Directives, Part (see wwwisoorg/directives) Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights ISO and IEC shall not be held responsible for identifying any or all such patent rights Details of any patent rights identified during the development of the document will be in the Introduction and/or on the ISO list of patent declarations received (see wwwisoorg/patents) Any trade name used in this document is information given for the convenience of users and does not constitute an endorsement For an explanation on the voluntary nature of standards, the meaning of ISO specific terms and expressions related to conformity assessment, as well as information about ISO s adherence to the World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT) see the following URL: wwwisoorg/iso/forewordhtml This document was prepared by Technical Committee ISO/IEC JTC, Information technology, Subcommittee SC, Programming languages, their environments and system software interfaces v ISO/IEC 07 All rights reserved

TECHNICAL SPECIFICATION ISO/IEC TS 77:07(E) Technical Specification C++ Extensions for Coroutines Scope [introscope] This document describes extensions to the C++ Programming Language (Clause ) that enable definition of coroutines These extensions include new syntactic forms and modifications to existing language semantics The International Standard, ISO/IEC 4:04, provides important context and specification for this document This document is written as a set of changes against that specification Instructions to modify or add paragraphs are written as explicit instructions Modifications made directly to existing text from the International Standard use underlining to represent added text and strikethrough to represent deleted text Normative references [introrefs] The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document For dated references, only the edition cited applies For undated references, the latest edition of the referenced document (including any amendments) applies () ISO/IEC 4:04, Programming Languages C++ ISO/IEC 4:04 is hereafter called the C++ Standard Beginning with Clause 5, all clause and subclause numbers, titles, and symbolic references in [brackets] refer to the corresponding elements of the C++ Standard Clauses through 4 of this document are unrelated to the similarly-numbered clauses and subclauses of the C++ Standard ISO/IEC 07 All rights reserved