Go to the documentation of this file. 15 #ifndef SHAKA_EMBEDDED_MACROS_H_ 16 #define SHAKA_EMBEDDED_MACROS_H_ 20 # define SHAKA_EXPORT __attribute__((visibility("default"))) 21 # elif defined(_WIN32) 22 # define SHAKA_EXPORT __declspec(dllexport) 28 # define SHAKA_EXPORT __declspec(dllimport) 34 #define SHAKA_DECLARE_STRUCT_SPECIAL_METHODS(Type) \ 39 Type& operator=(const Type&); \ 40 Type& operator=(Type&&) 43 #define SHAKA_NON_COPYABLE_TYPE(Type) \ 44 Type(const Type&) = delete; \ 45 Type& operator=(const Type&) = delete 47 #define SHAKA_NON_MOVABLE_TYPE(Type) \ 48 Type(Type&&) = delete; \ 49 Type& operator=(Type&&) = delete 51 #define SHAKA_NON_COPYABLE_OR_MOVABLE_TYPE(Type) \ 52 SHAKA_NON_COPYABLE_TYPE(Type); \ 53 SHAKA_NON_MOVABLE_TYPE(Type) 55 #define SHAKA_DECLARE_INTERFACE_METHODS(Type) \ 58 SHAKA_NON_COPYABLE_OR_MOVABLE_TYPE(Type) 61 #endif // SHAKA_EMBEDDED_MACROS_H_