Libmagicxx v10.0.3
A modern C++23 wrapper for libmagic — the library that powers the Unix file command.
Loading...
Searching...
No Matches
Validity Checking

Instance and database validation methods. More...

Collaboration diagram for Validity Checking:

Functions

 Recognition::Magic::operator bool () const noexcept
 Boolean conversion operator for validity checking.
static bool Recognition::Magic::Check (const std::filesystem::path &database_file=DEFAULT_DATABASE_FILE) noexcept
 Check magic database file for validity.

Detailed Description

Instance and database validation methods.

Methods for checking instance validity and database file integrity.

Function Documentation

◆ Check()

bool Recognition::Magic::Check ( const std::filesystem::path & database_file = DEFAULT_DATABASE_FILE)
staticnodiscardnoexcept

Check magic database file for validity.

Static utility method that validates the entries in a magic database file. Useful for verifying custom database files before use.

Parameters
[in]database_filePath to database file to check (default: DEFAULT_DATABASE_FILE).
Returns
true if the database has valid entries, false otherwise.
if (Magic::Check("/path/to/custom.mgc")) {
std::println("Database is valid");
}
static bool Check(const std::filesystem::path &database_file=DEFAULT_DATABASE_FILE) noexcept
Check magic database file for validity.
Definition magic.cpp:2469
Note
This is a static method - no Magic instance is required.
See also
Compile()
Since
10.0.0
Examples
magic_examples.cpp.

◆ operator bool()

Recognition::Magic::operator bool ( ) const
nodiscardnoexcept

Boolean conversion operator for validity checking.

Allows using a Magic instance directly in boolean contexts. Returns true if the instance is valid for file identification (opened and database loaded).

Returns
true if valid (opened and database loaded), false otherwise.
Magic magic{Magic::Flags::Mime, std::nothrow};
if (magic) {
auto type = magic.IdentifyFile("file.txt");
}
Magic() noexcept
Default constructor. Creates an unopened Magic instance.
Definition magic.cpp:2421
FileTypeT IdentifyFile(const std::filesystem::path &path) const
Identify the type of a single file.
Definition magic.cpp:2530
@ Mime
Definition magic.hpp:328
See also
IsValid()
IsOpen()
IsDatabaseLoaded()
Since
10.0.0