19 : element_pool_(DEFAULT_ELEMENT_POOL_SIZE)
20 , dataset_pool_(DEFAULT_DATASET_POOL_SIZE) {}
29 return element_pool_.acquire(tag,
vr);
34 return dataset_pool_.acquire();
void reset_statistics()
Reset all statistics.
tracked_pool< dicom_element > element_pool_
void clear_all()
Clear all pools.
auto element_statistics() const noexcept -> const pool_statistics &
Get element pool statistics.
auto acquire_element(dicom_tag tag, encoding::vr_type vr) -> tracked_pool< dicom_element >::unique_ptr_type
Acquire a dicom_element from the pool.
void reserve_elements(std::size_t count)
Reserve capacity in element pool.
static auto get() noexcept -> pool_manager &
Get the thread-local pool manager instance.
void reserve_datasets(std::size_t count)
Reserve capacity in dataset pool.
auto dataset_statistics() const noexcept -> const pool_statistics &
Get dataset pool statistics.
auto acquire_dataset() -> tracked_pool< dicom_dataset >::unique_ptr_type
Acquire a dicom_dataset from the pool.
tracked_pool< dicom_dataset > dataset_pool_
std::unique_ptr< T, std::function< void(T *)> > unique_ptr_type
vr_type
DICOM Value Representation (VR) types.
Centralized object pool management for DICOM objects.
Statistics for object pool usage monitoring.
void reset() noexcept
Reset all statistics.