cast.h: Fix typo in include guard.
2011-07-09 Jonathan Wakely <jwakely.gcc@gmail.com> * include/ext/cast.h: Fix typo in include guard. * include/ext/pointer.h (_Unqualified_type): Remove redundant partial specializations for volatile types. Fix typos in comments. (pointer_traits<_Pointer_adaptor<Tp>>::pointer_to): Define. From-SVN: r176075
This commit is contained in:
parent
0a222ba757
commit
eece716393
|
@ -1,3 +1,10 @@
|
||||||
|
2011-07-09 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||||
|
|
||||||
|
* include/ext/cast.h: Fix typo in include guard.
|
||||||
|
* include/ext/pointer.h (_Unqualified_type): Remove redundant
|
||||||
|
partial specializations for volatile types. Fix typos in comments.
|
||||||
|
(pointer_traits<_Pointer_adaptor<Tp>>::pointer_to): Define.
|
||||||
|
|
||||||
2011-07-09 Jonathan Wakely <jwakely.gcc@gmail.com>
|
2011-07-09 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||||
|
|
||||||
PR libstdc++/49668
|
PR libstdc++/49668
|
||||||
|
|
|
@ -118,4 +118,4 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
_GLIBCXX_END_NAMESPACE_VERSION
|
_GLIBCXX_END_NAMESPACE_VERSION
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
#endif // __GLIBCXX_CAST_H
|
#endif // _GLIBCXX_CAST_H
|
||||||
|
|
|
@ -232,7 +232,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
{ typedef const volatile _Invalid_type& reference; };
|
{ typedef const volatile _Invalid_type& reference; };
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This structure accomodates the way in which
|
* This structure accommodates the way in which
|
||||||
* std::iterator_traits<> is normally specialized for const T*, so
|
* std::iterator_traits<> is normally specialized for const T*, so
|
||||||
* that value_type is still T.
|
* that value_type is still T.
|
||||||
*/
|
*/
|
||||||
|
@ -244,14 +244,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
struct _Unqualified_type<const _Tp>
|
struct _Unqualified_type<const _Tp>
|
||||||
{ typedef _Tp type; };
|
{ typedef _Tp type; };
|
||||||
|
|
||||||
template<typename _Tp>
|
|
||||||
struct _Unqualified_type<volatile _Tp>
|
|
||||||
{ typedef volatile _Tp type; };
|
|
||||||
|
|
||||||
template<typename _Tp>
|
|
||||||
struct _Unqualified_type<volatile const _Tp>
|
|
||||||
{ typedef volatile _Tp type; };
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The following provides an 'alternative pointer' that works with
|
* The following provides an 'alternative pointer' that works with
|
||||||
* the containers when specified as the pointer typedef of the
|
* the containers when specified as the pointer typedef of the
|
||||||
|
@ -266,7 +258,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
* so that it becomes reusable for creating other pointer types.
|
* so that it becomes reusable for creating other pointer types.
|
||||||
*
|
*
|
||||||
* A key point of this class is also that it allows container
|
* A key point of this class is also that it allows container
|
||||||
* writers to 'assume' Alocator::pointer is a typedef for a normal
|
* writers to 'assume' Allocator::pointer is a typedef for a normal
|
||||||
* pointer. This class supports most of the conventions of a true
|
* pointer. This class supports most of the conventions of a true
|
||||||
* pointer, and can, for instance handle implicit conversion to
|
* pointer, and can, for instance handle implicit conversion to
|
||||||
* const and base class pointer types. The only impositions on
|
* const and base class pointer types. The only impositions on
|
||||||
|
@ -274,7 +266,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
* Allocator::pointer typedef appropriately for pointer types. 2)
|
* Allocator::pointer typedef appropriately for pointer types. 2)
|
||||||
* if you need pointer casting, use the __pointer_cast<> functions
|
* if you need pointer casting, use the __pointer_cast<> functions
|
||||||
* from ext/cast.h. This allows pointer cast operations to be
|
* from ext/cast.h. This allows pointer cast operations to be
|
||||||
* overloaded is necessary by custom pointers.
|
* overloaded as necessary by custom pointers.
|
||||||
*
|
*
|
||||||
* Note: The const qualifier works with this pointer adapter as
|
* Note: The const qualifier works with this pointer adapter as
|
||||||
* follows:
|
* follows:
|
||||||
|
@ -437,7 +429,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
} \
|
} \
|
||||||
// END of _CXX_POINTER_ARITH_OPERATOR_SET macro
|
// END of _CXX_POINTER_ARITH_OPERATOR_SET macro
|
||||||
|
|
||||||
// Expand into the various pointer arithmatic operators needed.
|
// Expand into the various pointer arithmetic operators needed.
|
||||||
_CXX_POINTER_ARITH_OPERATOR_SET(short);
|
_CXX_POINTER_ARITH_OPERATOR_SET(short);
|
||||||
_CXX_POINTER_ARITH_OPERATOR_SET(unsigned short);
|
_CXX_POINTER_ARITH_OPERATOR_SET(unsigned short);
|
||||||
_CXX_POINTER_ARITH_OPERATOR_SET(int);
|
_CXX_POINTER_ARITH_OPERATOR_SET(int);
|
||||||
|
@ -528,7 +520,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
{ return __rhs.get() != reinterpret_cast<void*>(__lhs); }
|
{ return __rhs.get() != reinterpret_cast<void*>(__lhs); }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Comparison operators for _Pointer_adapter defer to the base class'es
|
* Comparison operators for _Pointer_adapter defer to the base class'
|
||||||
* comparison operators, when possible.
|
* comparison operators, when possible.
|
||||||
*/
|
*/
|
||||||
template<typename _Tp>
|
template<typename _Tp>
|
||||||
|
@ -600,6 +592,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
public:
|
public:
|
||||||
typedef typename __gnu_cxx::_Pointer_adapter<_Rebound_policy> __type;
|
typedef typename __gnu_cxx::_Pointer_adapter<_Rebound_policy> __type;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static pointer pointer_to(typename pointer::reference __r) noexcept
|
||||||
|
{ return pointer(std::addressof(__r)); }
|
||||||
};
|
};
|
||||||
|
|
||||||
_GLIBCXX_END_NAMESPACE_VERSION
|
_GLIBCXX_END_NAMESPACE_VERSION
|
||||||
|
|
Loading…
Reference in New Issue