Converter between C++ flag types and libmagic flag values.
More...
Converter between C++ flag types and libmagic flag values.
FlagsConverter provides bidirectional conversion between the various flag representations used in the library:
Supported Conversions
| From | To | Purpose |
| FlagsContainerT | FlagsMaskT | Container to bitmask |
| FlagsMaskT | LibmagicValueT | Bitmask to libmagic int |
| FlagsMaskT | FlagsContainerT | Bitmask to container |
| FlagsMaskT | LibmagicValueNameT | Bitmask to string |
Usage Examples
std::vector< Flags > FlagsContainerT
Container type holding a collection of Magic::Flags.
Definition magic.hpp:401
std::bitset< 30uz > FlagsMaskT
Bitmask type representing a set of Magic::Flags used to configure the Magic instance.
Definition magic.hpp:223
int LibmagicValueT
Definition magic.cpp:1973
@ Mime
Definition magic.hpp:328
@ Compress
Definition magic.hpp:319
FlagsConverter(const FlagsContainerT &flags_container) noexcept
Construct from a container of flags.
Definition magic.cpp:2113
- See also
- Magic::Flags
-
Magic::FlagsContainerT
-
Magic::FlagsMaskT
◆ FlagsConverter() [1/2]
| Recognition::Magic::MagicPrivate::FlagsConverter::FlagsConverter |
( |
const FlagsContainerT & | flags_container | ) |
|
|
inlineexplicitnoexcept |
Construct from a container of flags.
Folds the container using bitwise OR to create the bitmask.
- Parameters
-
| [in] | flags_container | Container of individual Flags values. |
◆ FlagsConverter() [2/2]
| Recognition::Magic::MagicPrivate::FlagsConverter::FlagsConverter |
( |
FlagsMaskT | flags_mask | ) |
|
|
inlineexplicitnoexcept |
Construct from a flags bitmask.
- Parameters
-
| [in] | flags_mask | Pre-computed flags bitmask. |
◆ operator FlagsContainerT()
| Recognition::Magic::MagicPrivate::FlagsConverter::operator FlagsContainerT |
( |
| ) |
const |
|
inline |
Convert to container of individual flag values.
Extracts each set bit in the bitmask and converts to the corresponding Flags enum value.
- Returns
- Container of active Flags values.
◆ operator FlagsMaskT()
| Recognition::Magic::MagicPrivate::FlagsConverter::operator FlagsMaskT |
( |
| ) |
const |
|
inline |
Convert to bitmask representation.
- Returns
- The underlying FlagsMaskT bitmask.
◆ operator LibmagicValueNameT()
Convert to comma-separated flag names string.
Creates a human-readable string of flag names for logging and debugging purposes.
- Returns
- Comma-separated flag names (e.g., "Mime,Compress").
◆ operator LibmagicValueT()
| Recognition::Magic::MagicPrivate::FlagsConverter::operator LibmagicValueT |
( |
| ) |
const |
|
inlinenoexcept |
Convert to libmagic integer flags.
Iterates through the bitmask and ORs together the corresponding libmagic constants for use with magic_open() and magic_setflags().
- Returns
- Libmagic-compatible integer flags value.
◆ m_flags_mask
| const FlagsMaskT Recognition::Magic::MagicPrivate::FlagsConverter::m_flags_mask |
The underlying flags bitmask
The documentation for this struct was generated from the following file: