ams: prefer construct_at/destroy_at over placement new/explicit destructor
This commit is contained in:
@@ -34,7 +34,7 @@ namespace ams::os {
|
||||
|
||||
void InitializeWaitableManager(WaitableManagerType *manager) {
|
||||
/* Initialize storage. */
|
||||
new (std::addressof(GetWaitableManagerImpl(manager))) impl::WaitableManagerImpl;
|
||||
util::ConstructAt(manager->impl_storage);
|
||||
|
||||
/* Mark initialized. */
|
||||
manager->state = WaitableManagerType::State_Initialized;
|
||||
@@ -50,7 +50,7 @@ namespace ams::os {
|
||||
manager->state = WaitableManagerType::State_NotInitialized;
|
||||
|
||||
/* Destroy. */
|
||||
impl.~WaitableManagerImpl();
|
||||
util::DestroyAt(manager->impl_storage);
|
||||
}
|
||||
|
||||
WaitableHolderType *WaitAny(WaitableManagerType *manager) {
|
||||
@@ -90,7 +90,7 @@ namespace ams::os {
|
||||
|
||||
AMS_ASSERT(!holder_base->IsLinkedToManager());
|
||||
|
||||
holder_base->~WaitableHolderBase();
|
||||
std::destroy_at(holder_base);
|
||||
}
|
||||
|
||||
void LinkWaitableHolder(WaitableManagerType *manager, WaitableHolderType *holder) {
|
||||
@@ -143,7 +143,7 @@ namespace ams::os {
|
||||
void InitializeWaitableHolder(WaitableHolderType *holder, Handle handle) {
|
||||
AMS_ASSERT(handle != svc::InvalidHandle);
|
||||
|
||||
new (GetPointer(holder->impl_storage)) impl::WaitableHolderOfHandle(handle);
|
||||
util::ConstructAt(GetReference(holder->impl_storage).holder_of_handle_storage, handle);
|
||||
|
||||
holder->user_data = 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user