diff --git a/Base/Types/OwningVector.h b/Base/Types/OwningVector.h index 4d92e4fcee79179dbd385b56d786e919705325f7..173f1dcfb3f9d621c350e7ec8941387bff8a7362 100644 --- a/Base/Types/OwningVector.h +++ b/Base/Types/OwningVector.h @@ -61,6 +61,7 @@ public: } OwningVector& operator=(OwningVector&& other) = default; + void reserve(size_t n) { m_v.reserve(n); } void emplace_back(T* e) { m_v.emplace_back(e); } void clear() { diff --git a/Device/Detector/DetectorContext.h b/Device/Detector/DetectorContext.h index d7f7f97f5f8dbec77a10e88346df395dab494bcb..6b634cd749ae43835be1d2b5a9167f8e43ef858f 100644 --- a/Device/Detector/DetectorContext.h +++ b/Device/Detector/DetectorContext.h @@ -18,6 +18,7 @@ #include "Base/Pixel/IPixel.h" #include "Base/Spin/SpinMatrix.h" +#include "Base/Types/OwningVector.h" #include <memory> #include <vector> @@ -43,7 +44,7 @@ private: void setup_context(const IDetector* detector); SpinMatrix m_analyzer_operator; - std::vector<std::unique_ptr<IPixel>> m_pixels; //! All unmasked pixels inside ROI. + OwningVector<IPixel> m_pixels; //! All unmasked pixels inside ROI. std::vector<size_t> m_active_indices; //! The sequence of bin indices (unmasked, in ROI) }; diff --git a/auto/Wrap/doxygenBase.i b/auto/Wrap/doxygenBase.i index 612cb84e31509ac5c2ffbe773c4bff9a432c2256..27c75850c3ab198ffbca0c4f4846c5a975f92b29 100644 --- a/auto/Wrap/doxygenBase.i +++ b/auto/Wrap/doxygenBase.i @@ -699,6 +699,9 @@ OwningVector::OwningVector"; %feature("docstring") OwningVector::~OwningVector "OwningVector< T >::~OwningVector() OwningVector::~OwningVector"; +%feature("docstring") OwningVector::reserve "void OwningVector< T >::reserve(size_t n) +OwningVector::reserve"; + %feature("docstring") OwningVector::emplace_back "void OwningVector< T >::emplace_back(T *e) OwningVector::emplace_back";