17
Language support library
[support]
17.11
Initializer lists
[support.initlist]
17.11.2
Header
<initializer_
list>
synopsis
[initializer.list.syn]
// all freestanding
namespace
std
{
template
<
class
E
>
class
initializer_list
{
public
:
using
value_type
=
E;
using
reference
=
const
E
&
;
using
const_reference
=
const
E
&
;
using
size_type
=
size_t;
using
iterator
=
const
E
*
;
using
const_iterator
=
const
E
*
;
constexpr
initializer_list
(
)
noexcept
;
constexpr
const
E
*
data
(
)
const
noexcept
;
constexpr
size_t size
(
)
const
noexcept
;
constexpr
bool
empty
(
)
const
noexcept
;
constexpr
const
E
*
begin
(
)
const
noexcept
;
constexpr
const
E
*
end
(
)
const
noexcept
;
}
;
}
1
#
An object of type
initializer_
list
<
E
>
provides access to an array of objects of type
const
E
.
[
Note
1
:
A pair of pointers or a pointer plus a length would be obvious representations for
initializer_
list
.
initializer_
list
is used to implement initializer lists as specified in
[dcl.
init.
list]
.
Copying an
initializer_
list
does not copy the underlying elements
.
—
end note
]
2
#
If an explicit specialization or partial specialization of
initializer_
list
is declared, the program is ill-formed
.