6 #ifndef INCLUDED_IMF_STANDARD_ATTRIBUTES_H
7 #define INCLUDED_IMF_STANDARD_ATTRIBUTES_H
44 #define IMF_ADD_SUFFIX(suffix) add##suffix
45 #define IMF_HAS_SUFFIX(suffix) has##suffix
46 #define IMF_NAME_ATTRIBUTE(name) name##Attribute
48 #define IMF_STD_ATTRIBUTE_DEF(name, suffix, object) \
50 OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER \
51 IMF_EXPORT void IMF_ADD_SUFFIX (suffix) ( \
52 Header & header, const object& v); \
53 IMF_EXPORT bool IMF_HAS_SUFFIX (suffix) (const Header& header); \
54 IMF_EXPORT const TypedAttribute<object>& IMF_NAME_ATTRIBUTE (name) ( \
55 const Header& header); \
56 IMF_EXPORT TypedAttribute<object>& IMF_NAME_ATTRIBUTE (name) ( \
58 IMF_EXPORT const object& name (const Header& header); \
59 IMF_EXPORT object& name (Header& header); \
60 OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
62 #define IMF_STD_ATTRIBUTE_DEF_DEPRECATED(name, suffix, object, msg) \
64 OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER \
65 OPENEXR_DEPRECATED (msg) \
66 IMF_EXPORT void IMF_ADD_SUFFIX (suffix) ( \
67 Header & header, const object& v); \
68 OPENEXR_DEPRECATED (msg) \
69 IMF_EXPORT bool IMF_HAS_SUFFIX (suffix) (const Header& header); \
70 OPENEXR_DEPRECATED (msg) \
71 IMF_EXPORT const TypedAttribute<object>& IMF_NAME_ATTRIBUTE (name) ( \
72 const Header& header); \
73 OPENEXR_DEPRECATED (msg) \
74 IMF_EXPORT TypedAttribute<object>& IMF_NAME_ATTRIBUTE (name) ( \
76 OPENEXR_DEPRECATED (msg) \
77 IMF_EXPORT const object& name (const Header& header); \
78 OPENEXR_DEPRECATED (msg) IMF_EXPORT object& name (Header& header); \
79 OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
struct ImfHeader ImfHeader
#define IMF_STD_ATTRIBUTE_DEF(name, suffix, object)
#define IMF_STD_ATTRIBUTE_DEF_DEPRECATED(name, suffix, object, msg)
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER typedef std::vector< std::string > StringVector