Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions stl/inc/memory
Original file line number Diff line number Diff line change
Expand Up @@ -4531,31 +4531,31 @@ _NODISCARD auto inout_ptr(_SmartPtr& _Smart_ptr, _ArgsT&&... _Args) {
}

#ifdef __cpp_lib_start_lifetime_as // TRANSITION
template <class _Ty>
_EXPORT_STD template <class _Ty>
_Ty* start_lifetime_as(void* const _Ptr) noexcept {
#ifdef __cpp_lib_is_implicit_lifetime // TRANSITION
static_assert(is_implicit_lifetime_v<_Ty>, "T must be an implicit-lifetime type. (N5032 [obj.lifetime]/1)");
#endif // ^^^ no workaround ^^^
static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/1)");
return __builtin_start_lifetime_as<_Ty>(_Ptr);
}
template <class _Ty>
_EXPORT_STD template <class _Ty>
const _Ty* start_lifetime_as(const void* const _Ptr) noexcept {
#ifdef __cpp_lib_is_implicit_lifetime // TRANSITION
static_assert(is_implicit_lifetime_v<_Ty>, "T must be an implicit-lifetime type. (N5032 [obj.lifetime]/1)");
#endif // ^^^ no workaround ^^^
static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/1)");
return __builtin_start_lifetime_as<_Ty>(_Ptr);
}
template <class _Ty>
_EXPORT_STD template <class _Ty>
volatile _Ty* start_lifetime_as(volatile void* const _Ptr) noexcept {
#ifdef __cpp_lib_is_implicit_lifetime // TRANSITION
static_assert(is_implicit_lifetime_v<_Ty>, "T must be an implicit-lifetime type. (N5032 [obj.lifetime]/1)");
#endif // ^^^ no workaround ^^^
static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/1)");
return __builtin_start_lifetime_as<_Ty>(_Ptr);
}
template <class _Ty>
_EXPORT_STD template <class _Ty>
const volatile _Ty* start_lifetime_as(const volatile void* const _Ptr) noexcept {
#ifdef __cpp_lib_is_implicit_lifetime // TRANSITION
static_assert(is_implicit_lifetime_v<_Ty>, "T must be an implicit-lifetime type. (N5032 [obj.lifetime]/1)");
Expand All @@ -4564,22 +4564,22 @@ const volatile _Ty* start_lifetime_as(const volatile void* const _Ptr) noexcept
return __builtin_start_lifetime_as<_Ty>(_Ptr);
}

template <class _Ty>
_EXPORT_STD template <class _Ty>
_Ty* start_lifetime_as_array(void* const _Ptr, const size_t _Nx) noexcept {
static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/5)");
return __builtin_start_lifetime_as_array<_Ty>(_Ptr, _Nx);
}
template <class _Ty>
_EXPORT_STD template <class _Ty>
const _Ty* start_lifetime_as_array(const void* const _Ptr, const size_t _Nx) noexcept {
static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/5)");
return __builtin_start_lifetime_as_array<_Ty>(_Ptr, _Nx);
}
template <class _Ty>
_EXPORT_STD template <class _Ty>
volatile _Ty* start_lifetime_as_array(volatile void* const _Ptr, const size_t _Nx) noexcept {
static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/5)");
return __builtin_start_lifetime_as_array<_Ty>(_Ptr, _Nx);
}
template <class _Ty>
_EXPORT_STD template <class _Ty>
const volatile _Ty* start_lifetime_as_array(const volatile void* const _Ptr, const size_t _Nx) noexcept {
static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/5)");
return __builtin_start_lifetime_as_array<_Ty>(_Ptr, _Nx);
Expand Down