![]() |
XMP Toolkit SDK
6.0.0
|
Overall header file for the XMP Toolkit. More...
#include "XMP_Environment.h"
#include "XMP_Version.h"
#include "XMP_Const.h"
#include "TXMPMeta.hpp"
#include "TXMPIterator.hpp"
#include "TXMPUtils.hpp"
Go to the source code of this file.
Overall header file for the XMP Toolkit.
This is an overall header file, the only one that C++ clients should include.
The full client API is in the TXMPMeta.hpp
, TXMPIterator.hpp
, TXMPUtils.hpp
headers. Read these for information, but do not include them directly. The TXMP
... classes are C++ template classes that must be instantiated with a string class such as std::string
. The string class is used to return text strings for property values, serialized XMP, and so on. Clients must also compile XMP.incl_cpp
to ensure that all client-side glue code is generated. This should be done by including it in exactly one client source file.
There are two C preprocessor macros that simplify use of the templates:
TXMP_STRING_TYPE
- Define this as the string class to use with the template. You will get the template headers included and typedefs (SXMPMeta
, and so on) to use in your code.TXMP_EXPAND_INLINE
- Define this as 1 if you want to have the template functions expanded inline in your code. Leave it undefined, or defined as 0, to use out-of-line instantiations of the template functions. Compiling XMP.incl_cpp
generates explicit out-of-line instantiations if TXMP_EXPAND_INLINE
is off.The template parameter, class tStringObj
, must have the following member functions (which match those for std::string
):
tStringObj& assign ( const char * str, size_t len ) size_t size() const const char * c_str() const
The string class must be suitable for at least UTF-8. This is the encoding used for all general values, and is the default encoding for serialized XMP. The string type must also be suitable for UTF-16 or UTF-32 if those serialization encodings are used. This mainly means tolerating embedded 0 bytes, which std::string
does.
Definition in file XMP.hpp.