11#ifndef PACS_ENCODING_VR_INFO_HPP
12#define PACS_ENCODING_VR_INFO_HPP
107 std::span<const uint8_t> data);
vr_type
DICOM Value Representation (VR) types.
bool is_valid_charset(vr_type vr, std::string_view value)
Validates that a string uses only allowed characters for its VR.
std::vector< uint8_t > pad_to_even(vr_type vr, std::span< const uint8_t > data)
Pads data to even length as required by DICOM.
bool validate_string(vr_type vr, std::string_view value)
Validates a string value against VR encoding rules.
bool validate_value(vr_type vr, std::span< const uint8_t > data)
Validates binary data against VR encoding rules.
std::string trim_padding(vr_type vr, std::string_view value)
Removes trailing padding characters from a string value.
const vr_info & get_vr_info(vr_type vr)
Retrieves comprehensive metadata for a VR type.
Metadata structure containing comprehensive VR properties.
char padding_char
Padding character (' ' or '\0')
uint32_t max_length
Maximum value length in bytes.
bool is_fixed_length
Whether VR has fixed length.
std::string_view name
Human-readable name (e.g., "Person Name")
vr_type type
The VR enumeration value.
std::size_t fixed_size
Size for fixed-length VRs (0 if variable)