|
|
@ -29,6 +29,7 @@ distribution.
|
|
|
|
#include <sstream>
|
|
|
|
#include <sstream>
|
|
|
|
#include <string>
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
#include <future>
|
|
|
|
|
|
|
|
|
|
|
|
#include "DataDefs.h"
|
|
|
|
#include "DataDefs.h"
|
|
|
|
|
|
|
|
|
|
|
@ -546,6 +547,9 @@ namespace df
|
|
|
|
#define INTEGER_IDENTITY_TRAITS(type) NUMBER_IDENTITY_TRAITS(integer, type)
|
|
|
|
#define INTEGER_IDENTITY_TRAITS(type) NUMBER_IDENTITY_TRAITS(integer, type)
|
|
|
|
#define FLOAT_IDENTITY_TRAITS(type) NUMBER_IDENTITY_TRAITS(float, type)
|
|
|
|
#define FLOAT_IDENTITY_TRAITS(type) NUMBER_IDENTITY_TRAITS(float, type)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// the space after the use of "type" in OPAQUE_IDENTITY_TRAITS is _required_
|
|
|
|
|
|
|
|
// without it the macro generates a syntax error when type is a template specification
|
|
|
|
|
|
|
|
|
|
|
|
#define OPAQUE_IDENTITY_TRAITS(type) \
|
|
|
|
#define OPAQUE_IDENTITY_TRAITS(type) \
|
|
|
|
template<> struct DFHACK_EXPORT identity_traits<type > { \
|
|
|
|
template<> struct DFHACK_EXPORT identity_traits<type > { \
|
|
|
|
static opaque_identity identity; \
|
|
|
|
static opaque_identity identity; \
|
|
|
@ -568,6 +572,7 @@ namespace df
|
|
|
|
OPAQUE_IDENTITY_TRAITS(std::condition_variable);
|
|
|
|
OPAQUE_IDENTITY_TRAITS(std::condition_variable);
|
|
|
|
OPAQUE_IDENTITY_TRAITS(std::fstream);
|
|
|
|
OPAQUE_IDENTITY_TRAITS(std::fstream);
|
|
|
|
OPAQUE_IDENTITY_TRAITS(std::mutex);
|
|
|
|
OPAQUE_IDENTITY_TRAITS(std::mutex);
|
|
|
|
|
|
|
|
OPAQUE_IDENTITY_TRAITS(std::future<void>);
|
|
|
|
|
|
|
|
|
|
|
|
template<> struct DFHACK_EXPORT identity_traits<bool> {
|
|
|
|
template<> struct DFHACK_EXPORT identity_traits<bool> {
|
|
|
|
static bool_identity identity;
|
|
|
|
static bool_identity identity;
|
|
|
|