10 #ifndef INCLUDED_LIBEPUBGEN_UTILS_H
11 #define INCLUDED_LIBEPUBGEN_UTILS_H
20 #include <boost/cstdint.hpp>
22 #if defined(HAVE_FUNC_ATTRIBUTE_FORMAT)
23 #define EPUBGEN_ATTRIBUTE_PRINTF(fmt, arg) __attribute__((format(printf, fmt, arg)))
25 #define EPUBGEN_ATTRIBUTE_PRINTF(fmt, arg)
36 #define EPUBGEN_DEBUG_MSG(M) libepubgen::debugPrint M
37 #define EPUBGEN_DEBUG(M) M
41 #define EPUBGEN_DEBUG_MSG(M)
42 #define EPUBGEN_DEBUG(M)
46 #define EPUBGEN_NUM_ELEMENTS(array) (sizeof(array) / sizeof(array[0]))
51 template<
typename T,
typename... Args>
54 return std::unique_ptr<T>(
new T(std::forward<Args>(args)...));
63 #endif // INCLUDED_LIBEPUBGEN_UTILS_H
Definition: EPUBBinaryContent.cpp:14
#define EPUBGEN_ATTRIBUTE_PRINTF(fmt, arg)
Definition: libepubgen_utils.h:25
std::unique_ptr< T > make_unique(Args &&...args)
Definition: libepubgen_utils.h:52
Definition: libepubgen_utils.h:57