@@ -312,7 +312,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
#endif
private:
- friend class _Dir;
+ friend struct _Dir;
friend class directory_iterator;
friend class recursive_directory_iterator;
@@ -122,7 +122,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
tolower(_CharT, const locale&);
// 22.2.1 and 22.2.1.3 ctype
- class ctype_base;
+ struct ctype_base;
template<typename _CharT>
class ctype;
template<> class ctype<char>;
@@ -200,7 +200,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
_GLIBCXX_END_NAMESPACE_CXX11
// 22.2.7 message retrieval
- class messages_base;
+ struct messages_base;
_GLIBCXX_BEGIN_NAMESPACE_CXX11
template<typename _CharT>
class messages;
@@ -77,12 +77,13 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
* satisfies the requirements of such a traits class.
*/
template<typename _Ch_type>
- struct regex_traits
+ class regex_traits
{
public:
typedef _Ch_type char_type;
typedef std::basic_string<char_type> string_type;
typedef std::locale locale_type;
+
private:
struct _RegexMask
{
@@ -635,7 +635,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{ return _M_t._M_reinsert_node_hint_unique(__hint, std::move(__nh)); }
template<typename, typename>
- friend class std::_Rb_tree_merge_helper;
+ friend struct std::_Rb_tree_merge_helper;
template<typename _Cmp2>
void
@@ -651,7 +651,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{ return _M_t._M_reinsert_node_hint_equal(__hint, std::move(__nh)); }
template<typename, typename>
- friend class std::_Rb_tree_merge_helper;
+ friend struct std::_Rb_tree_merge_helper;
template<typename _Cmp2>
void
@@ -589,7 +589,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{ return _M_t._M_reinsert_node_hint_equal(__hint, std::move(__nh)); }
template<typename, typename>
- friend class std::_Rb_tree_merge_helper;
+ friend struct std::_Rb_tree_merge_helper;
template<typename _Compare1>
void
@@ -604,7 +604,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{ return _M_t._M_reinsert_node_hint_unique(__hint, std::move(__nh)); }
template<typename, typename>
- friend class std::_Rb_tree_merge_helper;
+ friend struct std::_Rb_tree_merge_helper;
template<typename _Compare1>
void
@@ -124,8 +124,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @param Tp Type of real and imaginary values.
*/
template<typename _Tp>
- struct complex
+ class complex
{
+ public:
/// Value typedef.
typedef _Tp value_type;
@@ -1079,8 +1080,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// 26.2.3 complex specializations
/// complex<float> specialization
template<>
- struct complex<float>
+ class complex<float>
{
+ public:
typedef float value_type;
typedef __complex__ float _ComplexT;
@@ -1224,8 +1226,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// 26.2.3 complex specializations
/// complex<double> specialization
template<>
- struct complex<double>
+ class complex<double>
{
+ public:
typedef double value_type;
typedef __complex__ double _ComplexT;
@@ -1369,8 +1372,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// 26.2.3 complex specializations
/// complex<long double> specialization
template<>
- struct complex<long double>
+ class complex<long double>
{
+ public:
typedef long double value_type;
typedef __complex__ long double _ComplexT;
@@ -395,7 +395,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// Type of the function object returned from bind().
template<typename _Signature>
- struct _Bind;
+ class _Bind;
template<typename _Functor, typename... _Bound_args>
class _Bind<_Functor(_Bound_args...)>
@@ -546,7 +546,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// Type of the function object returned from bind<R>().
template<typename _Result, typename _Signature>
- struct _Bind_result;
+ class _Bind_result;
template<typename _Result, typename _Functor, typename... _Bound_args>
class _Bind_result<_Result, _Functor(_Bound_args...)>
@@ -1048,7 +1048,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef __future_base::_State_base _State;
typedef __future_base::_Result<_Res> _Res_type;
typedef __future_base::_Ptr<_Res_type> _Ptr_type;
- template<typename, typename> friend class _State::_Setter;
+ template<typename, typename> friend struct _State::_Setter;
friend _State;
shared_ptr<_State> _M_future;
@@ -1159,7 +1159,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef __future_base::_State_base _State;
typedef __future_base::_Result<_Res&> _Res_type;
typedef __future_base::_Ptr<_Res_type> _Ptr_type;
- template<typename, typename> friend class _State::_Setter;
+ template<typename, typename> friend struct _State::_Setter;
friend _State;
shared_ptr<_State> _M_future;
@@ -1249,7 +1249,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef __future_base::_State_base _State;
typedef __future_base::_Result<void> _Res_type;
typedef __future_base::_Ptr<_Res_type> _Ptr_type;
- template<typename, typename> friend class _State::_Setter;
+ template<typename, typename> friend struct _State::_Setter;
friend _State;
shared_ptr<_State> _M_future;
@@ -177,8 +177,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* library might be represented by an HTTP response status code (e.g. 404)
* and a custom category defined by the library.
*/
- struct error_code
+ class error_code
{
+ public:
error_code() noexcept
: _M_value(0), _M_cat(&system_category()) { }
@@ -275,8 +276,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* An `error_condition` represents something that the program can test for,
* and subsequently take appropriate action.
*/
- struct error_condition
+ class error_condition
{
+ public:
error_condition() noexcept
: _M_value(0), _M_cat(&generic_category()) { }
@@ -97,7 +97,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
private:
friend class thread;
- friend class hash<id>;
+ friend struct hash<id>;
friend bool
operator==(id __x, id __y) noexcept;
@@ -192,7 +192,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
: public _Tuple_impl<_Idx + 1, _Tail...>,
private _Head_base<_Idx, _Head>
{
- template<size_t, typename...> friend class _Tuple_impl;
+ template<size_t, typename...> friend struct _Tuple_impl;
typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited;
typedef _Head_base<_Idx, _Head> _Base;
@@ -341,7 +341,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
struct _Tuple_impl<_Idx, _Head>
: private _Head_base<_Idx, _Head>
{
- template<size_t, typename...> friend class _Tuple_impl;
+ template<size_t, typename...> friend struct _Tuple_impl;
typedef _Head_base<_Idx, _Head> _Base;
@@ -2343,7 +2343,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// result_of
template<typename _Signature>
- class result_of;
+ struct result_of;
// Sfinae-friendly result_of implementation:
@@ -571,7 +571,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
size_t _M_size;
_Tp* __restrict__ _M_data;
- friend class _Array<_Tp>;
+ friend struct _Array<_Tp>;
};
#if __cpp_deduction_guides >= 201606