Libmagicxx v9.0.2
A C++ wrapper library over the Magic Number Recognition Library.
|
Classes | |
struct | flags_converter |
struct | libmagic_pair_converter |
Public Types | |
enum | identify_file_options : unsigned long long { check_nothing = 0ULL , check_is_valid = 1ULL << 0 , check_path_empty = 1ULL << 1 , check_path_exists = 1ULL << 2 , check_path = check_path_empty | check_path_exists , check_everything = check_is_valid | check_path } |
using | identify_file_options_mask_t = std::bitset<3uz> |
Public Member Functions | |
magic_private () noexcept=default | |
magic_private (flags_mask_t flags_mask, const std::filesystem::path &database_file) | |
magic_private (flags_mask_t flags_mask, const std::nothrow_t &tag, const std::filesystem::path &database_file) noexcept | |
magic_private (const flags_container_t &flags_container, const std::filesystem::path &database_file) | |
magic_private (const flags_container_t &flags_container, const std::nothrow_t &tag, const std::filesystem::path &database_file) noexcept | |
magic_private (magic_private &&) noexcept=default | |
magic_private (const magic_private &)=delete | |
magic_private & | operator= (magic_private &&) noexcept=default |
magic_private & | operator= (const magic_private &)=delete |
~magic_private ()=default | |
bool | check (const std::filesystem::path &database_file) const noexcept |
bool | compile (const std::filesystem::path &database_file) const noexcept |
flags_container_t | get_flags () const |
std::optional< flags_container_t > | get_flags (const std::nothrow_t &tag) const noexcept |
std::size_t | get_parameter (parameters parameter) const |
std::optional< std::size_t > | get_parameter (parameters parameter, const std::nothrow_t &tag) const noexcept |
parameter_value_map_t | get_parameters () const |
std::optional< parameter_value_map_t > | get_parameters (const std::nothrow_t &tag) const noexcept |
file_type_t | identify_file (const std::filesystem::path &path, identify_file_options_mask_t options) const |
expected_file_type_t | identify_file (const std::filesystem::path &path, identify_file_options_mask_t options, const std::nothrow_t &tag) const noexcept |
default_file_container_t | identify_directory_preliminary_checks (const std::filesystem::path &directory, std::filesystem::directory_options option, tracker_t tracker) const |
std::optional< default_file_container_t > | identify_directory_preliminary_checks (const std::filesystem::path &directory, const std::nothrow_t &tag, std::filesystem::directory_options option, tracker_t tracker) const noexcept |
void | identify_container_preliminary_checks (tracker_t tracker) const |
bool | identify_container_preliminary_checks (const std::nothrow_t &tag, tracker_t tracker) const noexcept |
types_of_files_t | identify_files (const default_file_container_t &files, identify_file_options_mask_t option, tracker_t tracker) const |
expected_types_of_files_t | identify_files (const default_file_container_t &files, const std::nothrow_t &tag, identify_file_options_mask_t option, tracker_t tracker) const noexcept |
bool | is_database_loaded () const noexcept |
bool | is_open () const noexcept |
bool | is_valid () const noexcept |
void | load_database_file (const std::filesystem::path &database_file) |
bool | load_database_file (const std::nothrow_t &tag, const std::filesystem::path &database_file) noexcept |
void | open (flags_mask_t flags_mask) |
bool | open (flags_mask_t flags_mask, const std::nothrow_t &tag) noexcept |
void | open (const flags_container_t &flags_container) |
bool | open (const flags_container_t &flags_container, const std::nothrow_t &tag) noexcept |
void | set_flags (flags_mask_t flags_mask) |
bool | set_flags (flags_mask_t flags_mask, const std::nothrow_t &tag) noexcept |
void | set_flags (const flags_container_t &flags_container) |
bool | set_flags (const flags_container_t &flags_container, const std::nothrow_t &tag) noexcept |
void | set_parameter (parameters parameter, std::size_t value) |
bool | set_parameter (parameters parameter, std::size_t value, const std::nothrow_t &tag) noexcept |
void | set_parameters (const parameter_value_map_t ¶meters) |
bool | set_parameters (const parameter_value_map_t ¶meters, const std::nothrow_t &tag) noexcept |
Static Public Member Functions | |
template<std::derived_from< magic_exception > ExceptionType, typename ResultType , typename... ExceptionArgs> requires std::same_as<ResultType, int> || std::same_as<ResultType, bool> | |
static void | throw_exception_on_failure (ResultType result, ExceptionArgs &&... args) |
Throws an ExceptionType exception with ExceptionArgs if the result is false or equal to libmagic_error. | |
Private Types | |
using | cookie_t |
using | libmagic_value_t = int |
using | libmagic_value_name_t = std::string |
using | libmagic_pair_t = std::pair<libmagic_value_t, const char*> |
using | libmagic_flags_t = std::array<libmagic_pair_t, libmagic_flags_count> |
using | libmagic_parameters_t |
Private Member Functions | |
std::string | get_error_message () const noexcept |
Private Attributes | |
cookie_t | m_cookie {nullptr} |
flags_mask_t | m_flags_mask {0} |
bool | m_is_database_loaded {false} |
Static Private Attributes | |
static constexpr identify_file_options_mask_t | check_is_valid_option |
static constexpr identify_file_options_mask_t | check_path_empty_option |
static constexpr identify_file_options_mask_t | check_path_exists_option |
static constexpr auto | libmagic_error = -1 |
static constexpr auto | libmagic_flags_count = flags_mask_t{}.size() |
static constexpr auto | libmagic_parameter_count = 10uz |
static constexpr libmagic_pair_t | libmagic_flag_none |
static constexpr libmagic_flags_t | libmagic_flags |
static constexpr libmagic_parameters_t | libmagic_parameters |
Friends | |
std::string | to_string (magic::flags flag) |
Convert the magic::flags to string. | |
std::string | to_string (magic::parameters parameter) |
Convert the magic::parameters to string. | |
|
private |
using recognition::magic::magic_private::identify_file_options_mask_t = std::bitset<3uz> |
|
private |
|
private |
|
private |
|
private |
|
private |
enum recognition::magic::magic_private::identify_file_options : unsigned long long |
|
defaultnoexcept |
|
inline |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
defaultnoexcept |
|
delete |
|
default |
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
|
inlinenodiscardprivatenoexcept |
|
inlinenodiscard |
|
inlinenodiscardnoexcept |
|
inlinenodiscard |
|
inlinenodiscardnoexcept |
|
inlinenodiscard |
|
inlinenodiscardnoexcept |
|
inlinenoexcept |
|
inline |
|
inlinenodiscardnoexcept |
|
inlinenodiscard |
|
inlinenodiscard |
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
|
inlinenodiscard |
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
|
inline |
|
inlinenodiscardnoexcept |
|
inline |
|
inlinenodiscardnoexcept |
|
inline |
|
inlinenodiscardnoexcept |
|
delete |
|
defaultnoexcept |
|
inline |
|
inlinenodiscardnoexcept |
|
inline |
|
inlinenodiscardnoexcept |
|
inline |
|
inlinenodiscardnoexcept |
|
inline |
|
inlinenodiscardnoexcept |
|
inlinestatic |
Throws an ExceptionType exception with ExceptionArgs if the result is false or equal to libmagic_error.
|
friend |
|
friend |
Convert the magic::parameters to string.
[in] | parameter | The parameter. |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
private |
|
private |
|
private |