From 4dff2bfad11f89028c25e77008c1467a5256cd5d Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Fri, 3 Mar 2023 12:15:47 +0100 Subject: [PATCH] STYLE: PtrList emplace_set for symmetry with HashPtrTable method naming --- .../containers/PtrLists/PtrList/PtrList.H | 4 ++++ .../containers/PtrLists/PtrList/PtrListI.H | 16 +++++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/OpenFOAM/containers/PtrLists/PtrList/PtrList.H b/src/OpenFOAM/containers/PtrLists/PtrList/PtrList.H index 6d1ffb1677..80374047f0 100644 --- a/src/OpenFOAM/containers/PtrLists/PtrList/PtrList.H +++ b/src/OpenFOAM/containers/PtrLists/PtrList/PtrList.H @@ -173,6 +173,10 @@ public: //- (discard old element at that location). //- Return reference to the new list element. template + inline T& emplace_set(const label i, Args&&... args); + + //- Same as emplace_set() + template inline T& emplace(const label i, Args&&... args); //- Set element to given pointer and return old element (can be null) diff --git a/src/OpenFOAM/containers/PtrLists/PtrList/PtrListI.H b/src/OpenFOAM/containers/PtrLists/PtrList/PtrListI.H index 921c4bed09..150b2825af 100644 --- a/src/OpenFOAM/containers/PtrLists/PtrList/PtrListI.H +++ b/src/OpenFOAM/containers/PtrLists/PtrList/PtrListI.H @@ -172,11 +172,17 @@ inline void Foam::PtrList::push_back(PtrList&& other) template template -inline T& Foam::PtrList::emplace -( - const label i, - Args&&... args -) +inline T& Foam::PtrList::emplace_set(const label i, Args&&... args) +{ + T* ptr = new T(std::forward(args)...); + (void)this->set(i, ptr); + return *ptr; +} + + +template +template +inline T& Foam::PtrList::emplace(const label i, Args&&... args) { T* ptr = new T(std::forward(args)...); (void)this->set(i, ptr);