2015-06-30 Ville Voutilainen <ville.voutilainen@gmail.com> Implement N4387, "Improving pair and tuple", and LWG 2367. * include/bits/stl_pair.h (_ConstructiblePair, _ImplicitlyConvertiblePair, _MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): New. (pair()): Constrain it. (pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&), pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&), pair(pair<_U1, _U2>&&)): Make conditionally explicit. * include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New. (tuple()): Constrain it. (tuple(const _UElements&...), tuple(_UElements&&...), tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&), tuple(allocator_arg_t, const _Alloc&, const _UElements&...), tuple(allocator_arg_t, const _Alloc&, _UElements&&...), tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&), tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&), tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&), tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make conditionally explicit. * include/experimental/functional (__boyer_moore_array_base): Name array type explicitly instead of using an empty braced-init-list. * testsuite/20_util/pair/cons/explicit_construct.cc: New. * testsuite/20_util/pair/piecewise.cc: Use piecewise_construct. * testsuite/20_util/pair/requirements/dr2367.cc: New. * testsuite/20_util/tuple/cons/explicit_construct.cc: New. * testsuite/20_util/tuple/requirements/dr2367.cc: New. From-SVN: r225189
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
add_const | Loading commit data... | |
add_cv | Loading commit data... | |
add_lvalue_reference | Loading commit data... | |
add_pointer | Loading commit data... | |
add_rvalue_reference | Loading commit data... | |
add_volatile | Loading commit data... | |
addressof | Loading commit data... | |
align | Loading commit data... | |
aligned_storage | Loading commit data... | |
aligned_union | Loading commit data... | |
alignment_of | Loading commit data... | |
allocator | Loading commit data... | |
allocator_traits | Loading commit data... | |
auto_ptr | Loading commit data... | |
bad_function_call | Loading commit data... | |
bind | Loading commit data... | |
bool_constant | Loading commit data... | |
common_type/requirements | Loading commit data... | |
conditional/requirements | Loading commit data... | |
decay/requirements | Loading commit data... | |
declval/requirements | Loading commit data... | |
default_delete | Loading commit data... | |
duration | Loading commit data... | |
duration_cast | Loading commit data... | |
enable_if/requirements | Loading commit data... | |
enable_shared_from_this | Loading commit data... | |
exchange | Loading commit data... | |
extent | Loading commit data... | |
forward | Loading commit data... | |
function | Loading commit data... | |
function_objects | Loading commit data... | |
has_trivial_copy_assign | Loading commit data... | |
has_trivial_copy_constructor | Loading commit data... | |
has_trivial_default_constructor | Loading commit data... | |
has_virtual_destructor | Loading commit data... | |
hash | Loading commit data... | |
headers | Loading commit data... | |
integer_sequence | Loading commit data... | |
integral_constant | Loading commit data... | |
is_abstract | Loading commit data... | |
is_arithmetic | Loading commit data... | |
is_array | Loading commit data... | |
is_assignable | Loading commit data... | |
is_base_of | Loading commit data... | |
is_class | Loading commit data... | |
is_compound | Loading commit data... | |
is_const | Loading commit data... | |
is_constructible | Loading commit data... | |
is_convertible | Loading commit data... | |
is_copy_assignable | Loading commit data... | |
is_copy_constructible | Loading commit data... | |
is_default_constructible | Loading commit data... | |
is_destructible | Loading commit data... | |
is_empty | Loading commit data... | |
is_enum | Loading commit data... | |
is_final | Loading commit data... | |
is_floating_point | Loading commit data... | |
is_function | Loading commit data... | |
is_fundamental | Loading commit data... | |
is_integral | Loading commit data... | |
is_literal_type | Loading commit data... | |
is_lvalue_reference | Loading commit data... | |
is_member_function_pointer | Loading commit data... | |
is_member_object_pointer | Loading commit data... | |
is_member_pointer | Loading commit data... | |
is_move_assignable | Loading commit data... | |
is_move_constructible | Loading commit data... | |
is_nothrow_assignable | Loading commit data... | |
is_nothrow_constructible | Loading commit data... | |
is_nothrow_copy_assignable | Loading commit data... | |
is_nothrow_copy_constructible | Loading commit data... | |
is_nothrow_default_constructible | Loading commit data... | |
is_nothrow_destructible | Loading commit data... | |
is_nothrow_move_assignable | Loading commit data... | |
is_nothrow_move_constructible | Loading commit data... | |
is_nothrow_swappable | Loading commit data... | |
is_null_pointer | Loading commit data... | |
is_object | Loading commit data... | |
is_pod | Loading commit data... | |
is_pointer | Loading commit data... | |
is_polymorphic | Loading commit data... | |
is_reference | Loading commit data... | |
is_rvalue_reference | Loading commit data... | |
is_same | Loading commit data... | |
is_scalar | Loading commit data... | |
is_signed | Loading commit data... | |
is_standard_layout | Loading commit data... | |
is_trivial | Loading commit data... | |
is_trivially_assignable | Loading commit data... | |
is_trivially_constructible | Loading commit data... | |
is_trivially_copy_assignable | Loading commit data... | |
is_trivially_copy_constructible | Loading commit data... | |
is_trivially_copyable | Loading commit data... | |
is_trivially_default_constructible | Loading commit data... | |
is_trivially_destructible | Loading commit data... | |
is_trivially_move_assignable | Loading commit data... | |
is_trivially_move_constructible | Loading commit data... | |
is_union | Loading commit data... | |
is_unsigned | Loading commit data... | |
is_void | Loading commit data... | |
is_volatile | Loading commit data... | |
make_signed/requirements | Loading commit data... | |
make_unsigned/requirements | Loading commit data... | |
move | Loading commit data... | |
move_if_noexcept | Loading commit data... | |
owner_less | Loading commit data... | |
pair | Loading commit data... | |
pointer_safety | Loading commit data... | |
pointer_traits | Loading commit data... | |
rank | Loading commit data... | |
ratio | Loading commit data... | |
raw_storage_iterator | Loading commit data... | |
reference_wrapper | Loading commit data... | |
remove_all_extents | Loading commit data... | |
remove_const | Loading commit data... | |
remove_cv | Loading commit data... | |
remove_extent | Loading commit data... | |
remove_pointer | Loading commit data... | |
remove_reference | Loading commit data... | |
remove_volatile | Loading commit data... | |
result_of | Loading commit data... | |
scoped_allocator | Loading commit data... | |
shared_ptr | Loading commit data... | |
specialized_algorithms | Loading commit data... | |
steady_clock | Loading commit data... | |
system_clock | Loading commit data... | |
time_point | Loading commit data... | |
time_point_cast | Loading commit data... | |
tuple | Loading commit data... | |
typeindex | Loading commit data... | |
underlying_type/requirements | Loading commit data... | |
unique_ptr | Loading commit data... | |
uses_allocator | Loading commit data... | |
void_t | Loading commit data... | |
weak_ptr | Loading commit data... | |
rel_ops.cc | Loading commit data... | |
temporary_buffer.cc | Loading commit data... |