PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
pacs-core.cppm
Go to the documentation of this file.
1// BSD 3-Clause License
2// Copyright (c) 2025, 🍀☀🌕🌥 🌊
3// See the LICENSE file in the project root for full license information.
4
23module;
24
25// Standard library imports needed before module declaration
26#include <compare>
27#include <cstddef>
28#include <cstdint>
29#include <functional>
30#include <initializer_list>
31#include <map>
32#include <memory>
33#include <optional>
34#include <span>
35#include <stdexcept>
36#include <string>
37#include <string_view>
38#include <type_traits>
39#include <vector>
40
41// PACS core headers
52
53export module kcenon.pacs:core;
54
55// ============================================================================
56// Re-export pacs::core namespace
57// ============================================================================
58
59export namespace pacs::core {
60
61// Tag types
62using pacs::core::dicom_tag;
63
64// Tag constants namespace
65namespace tags = ::pacs::core::tags;
66
67// Tag info
68using pacs::core::tag_info;
69
70// Dictionary
71using pacs::core::dicom_dictionary;
72
73// Element types
74using pacs::core::dicom_element;
75
76// Dataset types
77using pacs::core::dicom_dataset;
78
79// File types
80using pacs::core::dicom_file;
81
82// Pool manager
83using pacs::core::pool_manager;
84
85} // namespace pacs::core
86
87// ============================================================================
88// Re-export pacs namespace (Result pattern)
89// ============================================================================
90
91export namespace pacs {
92
93// Result types
94using pacs::Result;
95using pacs::VoidResult;
97
98// Error code namespace
99namespace error_codes = ::pacs::error_codes;
100
101// Utility functions
102using pacs::ok;
103using pacs::make_error;
104using pacs::is_ok;
105using pacs::is_error;
106using pacs::get_value;
107using pacs::get_error;
108using pacs::try_catch;
109using pacs::try_catch_void;
110using pacs::pacs_error;
111using pacs::pacs_void_error;
112
113} // namespace pacs
114
115// ============================================================================
116// Re-export pacs::core::events namespace
117// ============================================================================
118
119export namespace pacs::core::events {
120
121using namespace ::pacs::core::events;
122
123} // namespace pacs::core::events
DICOM Dataset - ordered collection of Data Elements.
DICOM Data Dictionary for tag metadata lookup.
DICOM Data Element representation (Tag, VR, Value)
DICOM Part 10 file handling for reading/writing DICOM files.
DICOM Tag representation (Group, Element pairs)
Compile-time constants for commonly used DICOM tags.
DICOM event definitions for event-based communication.
kcenon::common::error_info error_info
Error information type.
Definition result.h:40
Centralized object pool management for DICOM objects.
Result<T> type aliases and helpers for PACS system.
DICOM tag metadata information structure.