Exiv2
version.hpp
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 
3 #ifndef VERSION_HPP_
4 #define VERSION_HPP_
5 
6 #include "exiv2lib_export.h"
7 #include "exv_conf.h"
8 
9 // *****************************************************************************
10 // included header files
11 // + standard includes
12 #include <regex>
13 #include <vector>
14 
19 #define EXIV2_MAKE_VERSION(major, minor, patch) (((major) << 16) | ((minor) << 8) | (patch))
20 
24 #define EXIV2_VERSION EXIV2_MAKE_VERSION(EXIV2_MAJOR_VERSION, EXIV2_MINOR_VERSION, EXIV2_PATCH_VERSION)
25 
69 #define EXIV2_TEST_VERSION(major, minor, patch) (EXIV2_VERSION >= EXIV2_MAKE_VERSION(major, minor, patch))
70 
71 // *****************************************************************************
72 // namespace extensions
73 namespace Exiv2 {
77 EXIV2API uint32_t versionNumber();
81 EXIV2API std::string versionString();
85 EXIV2API std::string versionNumberHexString();
86 
90 EXIV2API const char* version();
91 
99 EXIV2API bool testVersion(uint32_t major, uint32_t minor, uint32_t patch);
104 EXIV2API void dumpLibraryInfo(std::ostream& os, const std::vector<std::regex>& keys);
105 } // namespace Exiv2
106 
107 #endif // VERSION_HPP_
EXIV2API std::string versionString()
Return the version string Example: "0.25.0" (major.minor.patch)
Definition: version.cpp:67
EXIV2API void dumpLibraryInfo(std::ostream &os, const std::vector< std::regex > &keys)
dumpLibraryInfo implements the exiv2 option –version –verbose used by exiv2 test suite to inspect l...
Definition: version.cpp:193
EXIV2API std::string versionNumberHexString()
Return the version of Exiv2 as hex string of fixed length 6.
Definition: version.cpp:73
Class CrwImage to access Canon CRW images. References: The Canon RAW (CRW) File Format by Phil Harv...
Definition: asfvideo.hpp:15
EXIV2API uint32_t versionNumber()
Return the version of Exiv2 available at runtime as a uint32_t.
Definition: version.cpp:63
EXIV2API bool testVersion(uint32_t major, uint32_t minor, uint32_t patch)
Test the version of the available Exiv2 library at runtime. Return true if it is the same as or newer...
Definition: version.cpp:83
EXIV2API const char * version()
Return the version of Exiv2 as "C" string eg "0.27.0.2".
Definition: version.cpp:79