#pragma once
#ifndef _INITIALIZER_LIST_
#define _INITIALIZER_LIST_
#ifndef RC_INVOKED
#include <cstddef>
#pragma pack(push,_CRT_PACKING)
#pragma warning(push,_STL_WARNING_LEVEL)
#pragma warning(disable: _STL_DISABLED_WARNINGS)
#pragma warning(disable:
4455
4494
4619
4643
4702
4984
4988
)
_STL_DISABLE_CLANG_WARNINGS
#pragma push_macro("new")
#undef new
template
<
class
>
class
{
public
:
typedef
;
typedef
const
&
;
typedef
const
&
;
typedef
;
typedef
const
*
;
typedef
const
*
;
constexpr
()
noexcept
: _First(
nullptr
), _Last(
nullptr
)
{
}
constexpr
(
const
*
,
const
*
)
noexcept
: _First(
), _Last(
)
{
}
_NODISCARD constexpr const _Elem * begin() const noexcept
constexpr
const
*
()
const
noexcept
{
return
(
);
}
_NODISCARD constexpr const _Elem * end() const noexcept
constexpr
const
*
()
const
noexcept
{
return
(
);
}
_NODISCARD constexpr size_t size() const noexcept
constexpr
()
const
noexcept
{
return
(
static_cast
<
>(
-
));
}
private
:
const
*
;
const
*
;
};
template
<
class
>
_NODISCARD constexpr const _Elem * begin(initializer_list<_Elem> _Ilist) noexcept
constexpr
const
*
(
<
>
)
noexcept
{
return
(
.
());
}
template
<
class
>
_NODISCARD constexpr const _Elem * end(initializer_list<_Elem> _Ilist) noexcept
constexpr
const
*
(
<
>
)
noexcept
{
return
(
.
());
}
#pragma pop_macro("new")
_STL_RESTORE_CLANG_WARNINGS
#pragma warning(pop)
#pragma warning(pop)
#pragma pack(pop)
#endif /* RC_INVOKED */
#endif /* _INITIALIZER_LIST_ */
#pragma pack(pop)