mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			tuple_iterate.h (tuple_size<tuple<> >::value): Provide definition.
2006-10-30 Paolo Carlini <pcarlini@suse.de> * include/tr1/tuple_iterate.h (tuple_size<tuple<> >::value): Provide definition. * include/tr1/functional (is_bind_expression<>::value, is_placeholder<>::value, + various partial specializations): Likewise. * include/tr1/array (tuple_size<array<> >::value): Likewise. From-SVN: r118203
This commit is contained in:
		
							parent
							
								
									771e6d83c9
								
							
						
					
					
						commit
						c8bf5b7c54
					
				|  | @ -1,3 +1,11 @@ | |||
| 2006-10-30  Paolo Carlini  <pcarlini@suse.de> | ||||
| 
 | ||||
| 	* include/tr1/tuple_iterate.h (tuple_size<tuple<> >::value): Provide | ||||
| 	definition. | ||||
| 	* include/tr1/functional (is_bind_expression<>::value, | ||||
| 	is_placeholder<>::value, + various partial specializations): Likewise. | ||||
| 	* include/tr1/array (tuple_size<array<> >::value): Likewise. | ||||
| 
 | ||||
| 2006-10-30  Paolo Carlini  <pcarlini@suse.de> | ||||
| 
 | ||||
| 	* testsuite/tr1/6_containers/array/capacity/max_size.cc: Actually | ||||
|  |  | |||
|  | @ -243,6 +243,9 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) | |||
|     struct tuple_size<array<_Tp, _Nm> > | ||||
|     { static const int value = _Nm; }; | ||||
| 
 | ||||
|   template<typename _Tp, std::size_t _Nm> | ||||
|     const int tuple_size<array<_Tp, _Nm> >::value; | ||||
| 
 | ||||
|   template<int _Int, typename _Tp, std::size_t _Nm> | ||||
|     struct tuple_element<_Int, array<_Tp, _Nm> > | ||||
|     { typedef _Tp type; }; | ||||
|  |  | |||
|  | @ -514,9 +514,10 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) | |||
|    */ | ||||
|   template<typename _Tp> | ||||
|     struct is_bind_expression | ||||
|     { | ||||
|       static const bool value = false; | ||||
|     }; | ||||
|     { static const bool value = false; }; | ||||
| 
 | ||||
|   template<typename _Tp> | ||||
|     const bool is_bind_expression<_Tp>::value; | ||||
| 
 | ||||
|   /** | ||||
|    *  @brief Determines if the given type _Tp is a placeholder in a | ||||
|  | @ -524,9 +525,10 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) | |||
|    */ | ||||
|   template<typename _Tp> | ||||
|     struct is_placeholder | ||||
|     { | ||||
|       static const int value = 0; | ||||
|     }; | ||||
|     { static const int value = 0; }; | ||||
| 
 | ||||
|   template<typename _Tp> | ||||
|     const int is_placeholder<_Tp>::value; | ||||
| 
 | ||||
|   /** | ||||
|    *  @if maint | ||||
|  | @ -543,9 +545,10 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) | |||
|    */ | ||||
|   template<int _Num> | ||||
|     struct is_placeholder<_Placeholder<_Num> > | ||||
|     { | ||||
|       static const int value = _Num; | ||||
|     }; | ||||
|     { static const int value = _Num; }; | ||||
| 
 | ||||
|   template<int _Num> | ||||
|     const int is_placeholder<_Placeholder<_Num> >::value; | ||||
| 
 | ||||
|   /** | ||||
|    *  @if maint | ||||
|  | @ -714,10 +717,11 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) | |||
|    *  @endif | ||||
|    */ | ||||
|    template<typename _Signature> | ||||
|     struct is_bind_expression<_Bind<_Signature> > | ||||
|     { | ||||
|       static const bool value = true; | ||||
|     }; | ||||
|      struct is_bind_expression<_Bind<_Signature> > | ||||
|      { static const bool value = true; }; | ||||
| 
 | ||||
|    template<typename _Signature> | ||||
|      const bool is_bind_expression<_Bind<_Signature> >::value; | ||||
| 
 | ||||
|   /** | ||||
|    *  @if maint | ||||
|  | @ -725,10 +729,11 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) | |||
|    *  @endif | ||||
|    */ | ||||
|    template<typename _Result, typename _Signature> | ||||
|    struct is_bind_expression<_Bind_result<_Result, _Signature> > | ||||
|     { | ||||
|       static const bool value = true; | ||||
|     }; | ||||
|      struct is_bind_expression<_Bind_result<_Result, _Signature> > | ||||
|      { static const bool value = true; }; | ||||
| 
 | ||||
|    template<typename _Result, typename _Signature> | ||||
|      const bool is_bind_expression<_Bind_result<_Result, _Signature> >::value; | ||||
| 
 | ||||
|   /** | ||||
|    *  @brief Exception class thrown when class template function's | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| // class template tuple -*- C++ -*-
 | ||||
| 
 | ||||
| // Copyright (C) 2004, 2005 Free Software Foundation, Inc.
 | ||||
| // Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
 | ||||
| //
 | ||||
| // This file is part of the GNU ISO C++ Library.  This library is free
 | ||||
| // software; you can redistribute it and/or modify it under the
 | ||||
|  | @ -39,6 +39,11 @@ template<_GLIBCXX_TEMPLATE_PARAMS> | |||
|   struct tuple_size<tuple<_GLIBCXX_TEMPLATE_ARGS> > | ||||
|   { static const int value = _GLIBCXX_NUM_ARGS; }; | ||||
| 
 | ||||
| #if _GLIBCXX_NUM_ARGS > 0 | ||||
| template<_GLIBCXX_TEMPLATE_PARAMS> | ||||
|   const int tuple_size<tuple<_GLIBCXX_TEMPLATE_ARGS> >::value; | ||||
| #endif | ||||
| 
 | ||||
| template<_GLIBCXX_TEMPLATE_PARAMS> | ||||
| #ifdef _GLIBCXX_LAST_INCLUDE | ||||
|   class tuple | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Paolo Carlini
						Paolo Carlini