TECHNICAL ISO/IEC TS SPECIFICATION 19841 Firstedition 2015-10-01 Technical Specification for C++ Extensions for Transactional Memory Specification technique pour les extensions C++ de la mémoire transactionnelle Reference number ISO/IEC TS 19841:2015(E) TE( . International Organization for Standardization nstitute of Sta andardization5956617 @IS0/IEC2015 vided by IHS under I Not for Resale, 2015/11/11 09:11:54 itted without license from IHS IS0/IEC TS 19841:2015(E) COPYRIGHTPROTECTEDDOCUMENT ISO/IEC2015,PublishedinSwitzerland 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 copyrightoffice Ch. de Blandonnet 8 . CP 401 CH-1214 Vernier, Geneva, Switzerland Tel. +41 22 749 01 11 Fax +41 22 749 09 47 [email protected] www.iso.org Intenationaibr PrganizationforStandardization Not for Resale, 2015/11/11 09:11:54 etworking permitted without license from IHS ISO/IEC TS 19841:2015(E) @ ISO/IEC N4514 Contents General 1.1 Scope 1.2 Acknowledgements 6 1.3 Normative references 9 1.4 Implementation compliance 9 1.5 Feature testing 6 1.10 Multi-threaded executions and data races Lexical conventions 9 2.11 Identifiers 9 2.12 Keywords 4 Standard conversions 4.3 Function-to-pointer conversion 10 4.14 Transaction-safety conversion 10 5 Expressions 11 5.1 Primary expressions 11 5.1.2 Lambda expressions 11 5.2 Postfix expressions 11 5.2.2 Function call 11 5.2.9 Static cast 12 5.10 Equality operators 5.16 Conditional operator 12 6 Statements. 6.6 Jump statements 13 6.9 Synchronized statement 13 6.10 Atomic statement 14 Declarations . 15 7.4 The asm declaration 15 7.6 Attributes 15 7.6.6 Attribute for optimization in synchronized blocks 15 8 Declarators 16 8.3 Meaning of declarators 16 8.3.5 Functions 16 8.4 Function definitions 17 8.4.1 In general 17 8.4.4 Transaction-safe function 17 10 Derived classes 19 10.3 Virtual functions 19 13 Overloading . .20 13.1 Overloadable declarations 20 13.3 Overload resolution 20 13.3.3 Best viable function 20 13.3.3.1 Implicit conversion sequences 20 13.3.3.1.1 Standard conversion sequences 20 13.4 Address of overloaded function 20 14 Templates 21 14.1 Template parameters 21 14.7 Template instantiation and specialization 21 14.7.3 Explicit specialization 21 14.8 Function template specializations 14.8.2 Template argument deduction 14.8.2.1 Deducing template arguments from a function call 21 15 Exception handling . 22 15.1 Throwing an exception 22 15.2 Constructors and destructors 22 3 pnematioal ganizaion /E2015 - All ights reserved Nouneworkingemitewithulicenfm
ISO IEC TS 19841 2015 Technical Specification for C++ Extensions for Transactional Memory