[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