[4.0] Add Property::EXTENTS type
[platform/core/uifw/dali-core.git] / dali / devel-api / common / set-wrapper.h
index d3b3ab1..e2eb2a3 100644 (file)
 
 #else
 
+#if defined(__clang__)
+
+#undef _LIBCPP_INLINE_VISIBILITY
+#define _LIBCPP_INLINE_VISIBILITY
+#undef _LIBCPP_EXTERN_TEMPLATE
+#define _LIBCPP_EXTERN_TEMPLATE(...)
+
+#include <set>
+
+#undef _LIBCPP_INLINE_VISIBILITY
+#define _LIBCPP_INLINE_VISIBILITY __attribute__ ((__visibility__("hidden"), __always_inline__))
+#undef _LIBCPP_EXTERN_TEMPLATE
+#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
+
+#else
+
+
 // ensure that default visibility is used with any class that is used as an exception type
 # include <memory>
 # include <new>
 # include <stdexcept>
 
+
 # include <bits/c++config.h>
 # include <bits/stl_tree.h>
 # undef _GLIBCXX_VISIBILITY_ATTR
@@ -40,6 +58,8 @@
 # undef _GLIBCXX_VISIBILITY_ATTR
 # define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) // restore `_GLIBCXX_VISIBILITY_ATTR`
 
+#endif //ifdef __clang__
+
 #endif //ifndef HIDE_DALI_INTERNALS
 
 #endif /* __DALI_SET_H__ */