File indexing completed on 2025-01-18 09:42:49
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #ifndef BOOST_NUMERIC_ODEINT_ALGEBRA_DETAIL_FOR_EACH_HPP_INCLUDED
0019 #define BOOST_NUMERIC_ODEINT_ALGEBRA_DETAIL_FOR_EACH_HPP_INCLUDED
0020
0021 namespace boost {
0022 namespace numeric {
0023 namespace odeint {
0024 namespace detail {
0025
0026
0027 template< class Iterator1 , class Operation >
0028 inline void for_each1( Iterator1 first1 , Iterator1 last1 , Operation op )
0029 {
0030 for( ; first1 != last1 ; )
0031 op( *first1++ );
0032 }
0033
0034
0035 template< class Iterator1 , class Iterator2 , class Operation >
0036 inline void for_each2( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Operation op )
0037 {
0038 for( ; first1 != last1 ; )
0039 op( *first1++ , *first2++ );
0040 }
0041
0042
0043 template< class Iterator1 , class Iterator2 , class Iterator3 , class Operation >
0044 inline void for_each3( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3, Operation op )
0045 {
0046 for( ; first1 != last1 ; )
0047 op( *first1++ , *first2++ , *first3++ );
0048 }
0049
0050
0051 template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Operation >
0052 inline void for_each4( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3, Iterator4 first4, Operation op )
0053 {
0054 for( ; first1 != last1 ; )
0055 op( *first1++ , *first2++ , *first3++ , *first4++ );
0056 }
0057
0058
0059 template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Operation >
0060 inline void for_each5( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3,
0061 Iterator4 first4, Iterator5 first5, Operation op )
0062 {
0063 for( ; first1 != last1 ; )
0064 op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ );
0065 }
0066
0067
0068 template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Operation >
0069 inline void for_each6( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3,
0070 Iterator4 first4, Iterator5 first5, Iterator6 first6 , Operation op )
0071 {
0072 for( ; first1 != last1 ; )
0073 op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ );
0074 }
0075
0076
0077 template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Operation >
0078 inline void for_each7( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3,
0079 Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Operation op )
0080 {
0081 for( ; first1 != last1 ; )
0082 op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ );
0083 }
0084
0085 template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Iterator8 , class Operation >
0086 inline void for_each8( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3,
0087 Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Iterator8 first8 , Operation op )
0088 {
0089 for( ; first1 != last1 ; )
0090 op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ , *first8++ );
0091 }
0092
0093 template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Iterator8 , class Iterator9 , class Operation >
0094 inline void for_each9( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3,
0095 Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Iterator8 first8 ,
0096 Iterator9 first9 , Operation op )
0097 {
0098 for( ; first1 != last1 ; )
0099 op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ , *first8++ , *first9++ );
0100 }
0101
0102 template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Iterator8 , class Iterator9 , class Iterator10 , class Operation >
0103 inline void for_each10( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3,
0104 Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Iterator8 first8 ,
0105 Iterator9 first9 , Iterator10 first10 , Operation op )
0106 {
0107 for( ; first1 != last1 ; )
0108 op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ , *first8++ , *first9++ , *first10++ );
0109 }
0110
0111 template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Iterator8 , class Iterator9 , class Iterator10 , class Iterator11 , class Operation >
0112 inline void for_each11( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3,
0113 Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Iterator8 first8 ,
0114 Iterator9 first9 , Iterator10 first10 , Iterator11 first11 , Operation op )
0115 {
0116 for( ; first1 != last1 ; )
0117 op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ , *first8++ , *first9++ , *first10++ , *first11++ );
0118 }
0119
0120 template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Iterator8 , class Iterator9 , class Iterator10 , class Iterator11 , class Iterator12 , class Operation >
0121 inline void for_each12( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3,
0122 Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Iterator8 first8 ,
0123 Iterator9 first9 , Iterator10 first10 , Iterator11 first11 , Iterator12 first12 , Operation op )
0124 {
0125 for( ; first1 != last1 ; )
0126 op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ , *first8++ , *first9++ , *first10++ , *first11++ , *first12++ );
0127 }
0128
0129 template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Iterator8 , class Iterator9 , class Iterator10 , class Iterator11 , class Iterator12 , class Iterator13 , class Operation >
0130 inline void for_each13( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3,
0131 Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Iterator8 first8 ,
0132 Iterator9 first9 , Iterator10 first10 , Iterator11 first11 , Iterator12 first12 , Iterator13 first13 , Operation op )
0133 {
0134 for( ; first1 != last1 ; )
0135 op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ , *first8++ , *first9++ , *first10++ , *first11++ , *first12++ , *first13++ );
0136 }
0137
0138 template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Iterator8 , class Iterator9 , class Iterator10 , class Iterator11 , class Iterator12 , class Iterator13 , class Iterator14 , class Operation >
0139 inline void for_each14( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3,
0140 Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Iterator8 first8 ,
0141 Iterator9 first9 , Iterator10 first10 , Iterator11 first11 , Iterator12 first12 , Iterator13 first13 ,
0142 Iterator14 first14 , Operation op )
0143 {
0144 for( ; first1 != last1 ; )
0145 op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ , *first8++ , *first9++ , *first10++ , *first11++ , *first12++ , *first13++ , *first14++ );
0146 }
0147
0148 template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Iterator8 , class Iterator9 , class Iterator10 , class Iterator11 , class Iterator12 , class Iterator13 , class Iterator14 , class Iterator15 , class Operation >
0149 inline void for_each15( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3,
0150 Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Iterator8 first8 ,
0151 Iterator9 first9 , Iterator10 first10 , Iterator11 first11 , Iterator12 first12 , Iterator13 first13 ,
0152 Iterator14 first14 , Iterator15 first15 , Operation op )
0153 {
0154 for( ; first1 != last1 ; )
0155 op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ , *first8++ , *first9++ , *first10++ , *first11++ , *first12++ , *first13++ , *first14++ , *first15++ );
0156 }
0157
0158
0159 }
0160 }
0161 }
0162 }
0163
0164
0165 #endif