PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
codec_factory.h
Go to the documentation of this file.
1// BSD 3-Clause License
2// Copyright (c) 2021-2025, 🍀☀🌕🌥 🌊
3// See the LICENSE file in the project root for full license information.
4
11#ifndef PACS_ENCODING_COMPRESSION_CODEC_FACTORY_HPP
12#define PACS_ENCODING_COMPRESSION_CODEC_FACTORY_HPP
13
16
17#include <memory>
18#include <optional>
19#include <string_view>
20#include <vector>
21
23
39public:
49 [[nodiscard]] static std::unique_ptr<compression_codec> create(
50 std::string_view transfer_syntax_uid);
51
58 [[nodiscard]] static std::unique_ptr<compression_codec> create(
59 const transfer_syntax& ts);
60
66 [[nodiscard]] static std::vector<std::string_view> supported_transfer_syntaxes();
67
74 [[nodiscard]] static bool is_supported(std::string_view transfer_syntax_uid);
75
82 [[nodiscard]] static bool is_supported(const transfer_syntax& ts);
83
84private:
85 codec_factory() = delete; // Static-only class
86};
87
88} // namespace kcenon::pacs::encoding::compression
89
90#endif // PACS_ENCODING_COMPRESSION_CODEC_FACTORY_HPP
Factory class for creating compression codec instances.
static std::unique_ptr< compression_codec > create(std::string_view transfer_syntax_uid)
Creates a codec instance for the given Transfer Syntax UID.
static std::vector< std::string_view > supported_transfer_syntaxes()
Returns a list of all supported Transfer Syntax UIDs.
static bool is_supported(std::string_view transfer_syntax_uid)
Checks if a Transfer Syntax is supported for compression.
Represents a DICOM Transfer Syntax.
Transfer Syntax UIDs.
Definition main.cpp:78