[cfe-commits] [libcxx] r114465 - /libcxx/trunk/include/__locale

Howard Hinnant hhinnant at apple.com
Tue Sep 21 11:58:52 PDT 2010


Author: hhinnant
Date: Tue Sep 21 13:58:51 2010
New Revision: 114465

URL: http://llvm.org/viewvc/llvm-project?rev=114465&view=rev
Log:
visibility-decoration.

Modified:
    libcxx/trunk/include/__locale

Modified: libcxx/trunk/include/__locale
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__locale?rev=114465&r1=114464&r2=114465&view=diff
==============================================================================
--- libcxx/trunk/include/__locale (original)
+++ libcxx/trunk/include/__locale Tue Sep 21 13:58:51 2010
@@ -30,7 +30,7 @@
 template <class _Facet> bool has_facet(const locale&) throw();
 template <class _Facet> const _Facet& use_facet(const locale&);
 
-class locale
+class _LIBCPP_VISIBLE locale
 {
 public:
     // types:
@@ -89,10 +89,11 @@
     template <class _Facet> friend const _Facet& use_facet(const locale&);
 };
 
-class locale::facet
+class _LIBCPP_VISIBLE locale::facet
     : public __shared_count
 {
 protected:
+    _LIBCPP_INLINE_VISIBILITY
     explicit facet(size_t __refs = 0)
         : __shared_count(static_cast<long>(__refs)-1) {}
 
@@ -104,14 +105,14 @@
     virtual void __on_zero_shared();
 };
 
-class locale::id
+class _LIBCPP_VISIBLE locale::id
 {
     once_flag      __flag_;
     int32_t        __id_;
 
     static int32_t __next_id;
 public:
-    id() {}
+    _LIBCPP_INLINE_VISIBILITY id() {}
 private:
     void __init();
     void operator=(const id&); // = delete;
@@ -160,27 +161,31 @@
 // template <class _CharT> class collate;
 
 template <class _CharT>
-class collate
+class _LIBCPP_VISIBLE collate
     : public locale::facet
 {
 public:
     typedef _CharT char_type;
     typedef basic_string<char_type> string_type;
 
+    _LIBCPP_INLINE_VISIBILITY
     explicit collate(size_t __refs = 0)
         : locale::facet(__refs) {}
 
+    _LIBCPP_INLINE_VISIBILITY
     int compare(const char_type* __lo1, const char_type* __hi1,
                 const char_type* __lo2, const char_type* __hi2) const
     {
         return do_compare(__lo1, __hi1, __lo2, __hi2);
     }
 
+    _LIBCPP_INLINE_VISIBILITY
     string_type transform(const char_type* __lo, const char_type* __hi) const
     {
         return do_transform(__lo, __hi);
     }
 
+    _LIBCPP_INLINE_VISIBILITY
     long hash(const char_type* __lo, const char_type* __hi) const
     {
         return do_hash(__lo, __hi);
@@ -235,15 +240,15 @@
     return static_cast<long>(h);
 }
 
-extern template class collate<char>;
-extern template class collate<wchar_t>;
+extern template class _LIBCPP_VISIBLE collate<char>;
+extern template class _LIBCPP_VISIBLE collate<wchar_t>;
 
 // template <class CharT> class collate_byname;
 
-template <class _CharT> class collate_byname;
+template <class _CharT> class _LIBCPP_VISIBLE collate_byname;
 
 template <>
-class collate_byname<char>
+class _LIBCPP_VISIBLE collate_byname<char>
     : public collate<char>
 {
     locale_t __l;
@@ -262,7 +267,7 @@
 };
 
 template <>
-class collate_byname<wchar_t>
+class _LIBCPP_VISIBLE collate_byname<wchar_t>
     : public collate<wchar_t>
 {
     locale_t __l;
@@ -293,7 +298,8 @@
 
 // template <class charT> class ctype
 
-class ctype_base {
+class _LIBCPP_VISIBLE ctype_base
+{
 public:
     typedef __uint32_t mask;
 
@@ -326,10 +332,10 @@
     _LIBCPP_ALWAYS_INLINE ctype_base() {}
 };
 
-template <class _CharT> class ctype;
+template <class _CharT> class _LIBCPP_VISIBLE ctype;
 
 template <>
-class ctype<wchar_t>
+class _LIBCPP_VISIBLE ctype<wchar_t>
     : public locale::facet,
       public ctype_base
 {
@@ -431,7 +437,7 @@
 };
 
 template <>
-class ctype<char>
+class _LIBCPP_VISIBLE ctype<char>
     : public locale::facet, public ctype_base
 {
     const mask* __tab_;
@@ -528,7 +534,7 @@
 #else
     static const size_t table_size = 256;  // FIXME: Don't hardcode this.
 #endif
-    const mask* table() const throw() {return __tab_;}
+    _LIBCPP_ALWAYS_INLINE const mask* table() const throw() {return __tab_;}
     static const mask* classic_table() throw();
 
 protected:
@@ -545,10 +551,10 @@
 
 // template <class CharT> class ctype_byname;
 
-template <class _CharT> class ctype_byname;
+template <class _CharT> class _LIBCPP_VISIBLE ctype_byname;
 
 template <>
-class ctype_byname<char>
+class _LIBCPP_VISIBLE ctype_byname<char>
     : public ctype<char>
 {
     locale_t __l;
@@ -566,7 +572,7 @@
 };
 
 template <>
-class ctype_byname<wchar_t>
+class _LIBCPP_VISIBLE ctype_byname<wchar_t>
     : public ctype<wchar_t>
 {
     locale_t __l;
@@ -697,7 +703,7 @@
 
 // codecvt_base
 
-class codecvt_base
+class _LIBCPP_VISIBLE codecvt_base
 {
 public:
     _LIBCPP_ALWAYS_INLINE codecvt_base() {}
@@ -706,12 +712,12 @@
 
 // template <class internT, class externT, class stateT> class codecvt;
 
-template <class _InternT, class _ExternT, class _StateT> class codecvt;
+template <class _InternT, class _ExternT, class _StateT> class _LIBCPP_VISIBLE codecvt;
 
 // template <> class codecvt<char, char, mbstate_t>
 
 template <>
-class codecvt<char, char, mbstate_t>
+class _LIBCPP_VISIBLE codecvt<char, char, mbstate_t>
     : public locale::facet,
       public codecvt_base
 {
@@ -797,7 +803,7 @@
 // template <> class codecvt<wchar_t, char, mbstate_t>
 
 template <>
-class codecvt<wchar_t, char, mbstate_t>
+class _LIBCPP_VISIBLE codecvt<wchar_t, char, mbstate_t>
     : public locale::facet,
       public codecvt_base
 {
@@ -880,7 +886,7 @@
 // template <> class codecvt<char16_t, char, mbstate_t>
 
 template <>
-class codecvt<char16_t, char, mbstate_t>
+class _LIBCPP_VISIBLE codecvt<char16_t, char, mbstate_t>
     : public locale::facet,
       public codecvt_base
 {
@@ -966,7 +972,7 @@
 // template <> class codecvt<char32_t, char, mbstate_t>
 
 template <>
-class codecvt<char32_t, char, mbstate_t>
+class _LIBCPP_VISIBLE codecvt<char32_t, char, mbstate_t>
     : public locale::facet,
       public codecvt_base
 {
@@ -1052,12 +1058,14 @@
 // template <class _InternT, class _ExternT, class _StateT> class codecvt_byname
 
 template <class _InternT, class _ExternT, class _StateT>
-class codecvt_byname
+class _LIBCPP_VISIBLE codecvt_byname
     : public codecvt<_InternT, _ExternT, _StateT>
 {
 public:
+    _LIBCPP_ALWAYS_INLINE
     explicit codecvt_byname(const char* __nm, size_t __refs = 0)
         : codecvt<_InternT, _ExternT, _StateT>(__nm, __refs) {}
+    _LIBCPP_ALWAYS_INLINE
     explicit codecvt_byname(const string& __nm, size_t __refs = 0)
         : codecvt<_InternT, _ExternT, _StateT>(__nm.c_str(), __refs) {}
 protected:
@@ -1074,7 +1082,7 @@
 extern template class codecvt_byname<char16_t, char, mbstate_t>;
 extern template class codecvt_byname<char32_t, char, mbstate_t>;
 
-void __throw_runtime_error(const char*);
+_LIBCPP_VISIBLE void __throw_runtime_error(const char*);
 
 template <size_t _N>
 struct __narrow_to_utf8
@@ -1258,10 +1266,10 @@
 
 // template <class charT> class numpunct
 
-template <class _CharT> class numpunct;
+template <class _CharT> class _LIBCPP_VISIBLE numpunct;
 
 template <>
-class numpunct<char>
+class _LIBCPP_VISIBLE numpunct<char>
     : public locale::facet
 {
 public:
@@ -1292,7 +1300,7 @@
 };
 
 template <>
-class numpunct<wchar_t>
+class _LIBCPP_VISIBLE numpunct<wchar_t>
     : public locale::facet
 {
 public:
@@ -1324,10 +1332,10 @@
 
 // template <class charT> class numpunct_byname
 
-template <class charT> class numpunct_byname;
+template <class charT> class _LIBCPP_VISIBLE numpunct_byname;
 
 template <>
-class numpunct_byname<char>
+class _LIBCPP_VISIBLE numpunct_byname<char>
 : public numpunct<char>
 {
 public:
@@ -1345,7 +1353,7 @@
 };
 
 template <>
-class numpunct_byname<wchar_t>
+class _LIBCPP_VISIBLE numpunct_byname<wchar_t>
 : public numpunct<wchar_t>
 {
 public:





More information about the cfe-commits mailing list