|
PACS System 0.1.0
PACS DICOM system library
|
#include <pool_manager.h>

Public Member Functions | |
| auto | acquire_element (dicom_tag tag, encoding::vr_type vr) -> tracked_pool< dicom_element >::unique_ptr_type |
| Acquire a dicom_element from the pool. | |
| auto | acquire_dataset () -> tracked_pool< dicom_dataset >::unique_ptr_type |
| Acquire a dicom_dataset from the pool. | |
| auto | element_statistics () const noexcept -> const pool_statistics & |
| Get element pool statistics. | |
| auto | dataset_statistics () const noexcept -> const pool_statistics & |
| Get dataset pool statistics. | |
| void | reserve_elements (std::size_t count) |
| Reserve capacity in element pool. | |
| void | reserve_datasets (std::size_t count) |
| Reserve capacity in dataset pool. | |
| void | clear_all () |
| Clear all pools. | |
| void | reset_statistics () |
| Reset all statistics. | |
| pool_manager (const pool_manager &)=delete | |
| pool_manager (pool_manager &&)=delete | |
| auto | operator= (const pool_manager &) -> pool_manager &=delete |
| auto | operator= (pool_manager &&) -> pool_manager &=delete |
Static Public Member Functions | |
| static auto | get () noexcept -> pool_manager & |
| Get the thread-local pool manager instance. | |
Static Public Attributes | |
| static constexpr std::size_t | DEFAULT_ELEMENT_POOL_SIZE = 1024 |
| Default pool sizes. | |
| static constexpr std::size_t | DEFAULT_DATASET_POOL_SIZE = 128 |
Private Member Functions | |
| pool_manager () | |
| ~pool_manager ()=default | |
Private Attributes | |
| tracked_pool< dicom_element > | element_pool_ |
| tracked_pool< dicom_dataset > | dataset_pool_ |
Definition at line 156 of file pool_manager.h.
|
delete |
|
delete |
|
private |
Definition at line 18 of file pool_manager.cpp.
|
privatedefault |
| auto kcenon::pacs::core::pool_manager::acquire_dataset | ( | ) | -> tracked_pool<dicom_dataset>::unique_ptr_type |
Acquire a dicom_dataset from the pool.
Definition at line 32 of file pool_manager.cpp.
| auto kcenon::pacs::core::pool_manager::acquire_element | ( | dicom_tag | tag, |
| encoding::vr_type | vr ) -> tracked_pool<dicom_element>::unique_ptr_type |
Acquire a dicom_element from the pool.
| tag | The DICOM tag |
| vr | The value representation |
Definition at line 27 of file pool_manager.cpp.
References vr.
| void kcenon::pacs::core::pool_manager::clear_all | ( | ) |
Clear all pools.
Definition at line 53 of file pool_manager.cpp.
References dataset_pool_, and element_pool_.
|
nodiscardnoexcept |
Get dataset pool statistics.
Definition at line 41 of file pool_manager.cpp.
References dataset_pool_.
|
nodiscardnoexcept |
Get element pool statistics.
Definition at line 37 of file pool_manager.cpp.
References element_pool_.
|
staticnoexcept |
Get the thread-local pool manager instance.
Definition at line 22 of file pool_manager.cpp.
Referenced by kcenon::pacs::core::make_pooled_dataset(), kcenon::pacs::core::make_pooled_element(), and kcenon::pacs::core::make_pooled_element().

|
delete |
|
delete |
| void kcenon::pacs::core::pool_manager::reserve_datasets | ( | std::size_t | count | ) |
Reserve capacity in dataset pool.
| count | Number of datasets to pre-allocate |
Definition at line 49 of file pool_manager.cpp.
References dataset_pool_.
| void kcenon::pacs::core::pool_manager::reserve_elements | ( | std::size_t | count | ) |
Reserve capacity in element pool.
| count | Number of elements to pre-allocate |
Definition at line 45 of file pool_manager.cpp.
References element_pool_.
| void kcenon::pacs::core::pool_manager::reset_statistics | ( | ) |
Reset all statistics.
Definition at line 58 of file pool_manager.cpp.
References dataset_pool_, element_pool_, and kcenon::pacs::core::pool_statistics::reset().

|
private |
Definition at line 229 of file pool_manager.h.
Referenced by clear_all(), dataset_statistics(), reserve_datasets(), and reset_statistics().
|
staticconstexpr |
Definition at line 160 of file pool_manager.h.
|
staticconstexpr |
Default pool sizes.
Definition at line 159 of file pool_manager.h.
|
private |
Definition at line 228 of file pool_manager.h.
Referenced by clear_all(), element_statistics(), reserve_elements(), and reset_statistics().