Title
[fund.ts.v2] No handling for over-aligned types in optional
Status
open
Section
[optional.object]
Submitter
Marshall Clow

Created on 2015-11-03.00:00:00 last changed 81 months ago

Messages

Date: 2016-11-26.14:34:13

Proposed resolution:

This wording is relative to N4562.

  1. Edit [optional.optional]/p1 as follows::

    […] The contained value shall be allocated in a region of the optional<T> storage suitably aligned for the type T. It is implementation-defined whether over-aligned types are supported (C++14 §3.11). When an object of type optional<T> is contextually converted to bool, the conversion returns true if the object contains a value; otherwise the conversion returns false.

Date: 2016-11-26.14:34:13

Addresses: fund.ts.v2

[optional.optional] does not specify whether over-aligned types are supported. In other places where we specify allocation of user-supplied types, we state that "It is implementation-defined whether over-aligned types are supported (3.11)." (Examples: [expr.new]/p1, [allocator.members]/p5, [temporary.buffer]/p1). We should presumably do the same thing here.

History
Date User Action Args
2017-07-30 20:10:41adminsetstatus: wp -> open
2016-06-28 12:52:37adminsetstatus: ready -> wp
2016-03-07 04:46:57adminsetstatus: new -> ready
2015-12-08 19:24:18adminsetmessages: + msg7626
2015-11-03 00:00:00admincreate