6#ifndef MATERIALX_LIBRARY_H
7#define MATERIALX_LIBRARY_H
19#include <unordered_map>
22#include <MaterialXCore/Generated.h>
25#if defined(MATERIALX_BUILD_SHARED_LIBS)
27 #pragma warning(disable : 4251)
28 #pragma warning(disable : 4275)
29 #pragma warning(disable : 4661)
30 #define MATERIALX_SYMBOL_EXPORT __declspec(dllexport)
31 #define MATERIALX_SYMBOL_IMPORT __declspec(dllimport)
32 #define MATERIALX_EXPORT_EXTERN_TEMPLATE(...) template class MATERIALX_SYMBOL_EXPORT __VA_ARGS__
33 #define MATERIALX_IMPORT_EXTERN_TEMPLATE(...) extern template class MATERIALX_SYMBOL_IMPORT __VA_ARGS__
35 #define MATERIALX_SYMBOL_EXPORT __attribute__((__visibility__("default")))
36 #define MATERIALX_SYMBOL_IMPORT __attribute__((__visibility__("default")))
37 #define MATERIALX_EXPORT_EXTERN_TEMPLATE(...) template class MATERIALX_SYMBOL_EXPORT __VA_ARGS__
38 #define MATERIALX_IMPORT_EXTERN_TEMPLATE(...) extern template class MATERIALX_SYMBOL_IMPORT __VA_ARGS__
41 #define MATERIALX_SYMBOL_EXPORT
42 #define MATERIALX_SYMBOL_IMPORT
43 #define MATERIALX_EXPORT_EXTERN_TEMPLATE(...)
44 #define MATERIALX_IMPORT_EXTERN_TEMPLATE(...)
47MATERIALX_NAMESPACE_BEGIN
57using StringMap = std::unordered_map<string, string>;
61MATERIALX_NAMESPACE_END
std::set< string > StringSet
A set of strings.
Definition: Library.h:59
vector< string > StringVec
A vector of strings.
Definition: Library.h:55
std::unordered_map< string, string > StringMap
An unordered map with strings as both keys and values.
Definition: Library.h:57