// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
// As a special exception, you may use this file as part of a free
// software library without restriction. Specifically, if other files
// Given an integral builtin type, return the corresponding unsigned type.
- template<typename _T>
+ template<typename _Tp>
struct __add_unsigned
{
private:
- typedef __enable_if<std::__is_integer<_T>::__value, _T> __if_type;
+ typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
public:
typedef typename __if_type::__type __type;
// Given an integral builtin type, return the corresponding signed type.
- template<typename _T>
+ template<typename _Tp>
struct __remove_unsigned
{
private:
- typedef __enable_if<std::__is_integer<_T>::__value, _T> __if_type;
+ typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
public:
typedef typename __if_type::__type __type;
// Compile time constants for builtin types.
// Sadly std::numeric_limits member functions cannot be used for this.
-#define __glibcxx_signed(T) ((T)(-1) < 0)
-#define __glibcxx_digits(T) (sizeof(T) * __CHAR_BIT__ - __glibcxx_signed(T))
+#define __glibcxx_signed(_Tp) ((_Tp)(-1) < 0)
+#define __glibcxx_digits(_Tp) \
+ (sizeof(_Tp) * __CHAR_BIT__ - __glibcxx_signed(_Tp))
-#define __glibcxx_min(T) \
- (__glibcxx_signed(T) ? (T)1 << __glibcxx_digits(T) : (T)0)
+#define __glibcxx_min(_Tp) \
+ (__glibcxx_signed(_Tp) ? (_Tp)1 << __glibcxx_digits(_Tp) : (_Tp)0)
-#define __glibcxx_max(T) \
- (__glibcxx_signed(T) ? ((T)1 << __glibcxx_digits(T)) - 1 : ~(T)0)
+#define __glibcxx_max(_Tp) \
+ (__glibcxx_signed(_Tp) ? ((_Tp)1 << __glibcxx_digits(_Tp)) - 1 : ~(_Tp)0)
template<typename _Value>
struct __numeric_traits_integer