52 #ifndef __PCL_Rotate_h
53 #define __PCL_Rotate_h
79 template <
class BI>
inline
80 void Reverse( BI i, BI j )
85 template <
class BI>
inline
86 void __reverse__( BI i, BI j, BidirectionalIterator )
88 for ( ; i != j && i != --j; ++i )
92 template <
class RI>
inline
93 void __reverse__( RI i, RI j, RandomAccessIterator )
96 for ( ; i < --j; ++i )
104 template <
class FI>
inline
105 void Rotate( FI i, FI m, FI j )
107 if ( m != i && m != j )
111 template <
class FI>
inline
112 void __rotate__( FI i, FI m, FI j, ForwardIterator )
127 template <
class BI>
inline
128 void __rotate__( BI i, BI m, BI j, BidirectionalIterator )
135 template <
class RI>
inline
136 void __rotate__( RI i, RI m, RI j, RandomAccessIterator )
138 __rotate_ri__( i, m, j,
ItemType( i ) );
141 template <
class RI,
class T>
inline
142 void __rotate_ri__( RI i, RI m, RI j,
const T* )
169 z = (d < j-z) ? z+d : i+(d-(j-z));
181 template <
class FI,
class T>
inline
182 void Shift( FI i, FI m, FI j,
const T& v )
186 for ( ; m != j; ++m, ++i )
188 for ( ; i != j; ++i )
193 template <
class FI,
class T>
inline
194 void ShiftLeft( FI i, FI m, FI j,
const T& v )
203 template <
class FI,
class T>
inline
204 void ShiftRight( FI i, FI m, FI j,
const T& v )
206 if ( i != j && m != j )
210 template <
class FI,
class T>
inline
211 void __shift_right__( FI i, FI m, FI j,
const T& v, ForwardIterator )
230 template <
class BI,
class T>
inline
231 void __shift_right__( BI i, BI m, BI j,
const T& v, BidirectionalIterator )
void Rotate(T &x, T &y, T1 sa, T1 ca, T2 xc, T2 yc) noexcept
void Swap(GenericPoint< T > &p1, GenericPoint< T > &p2) noexcept
C IteratorClass(const Iterator< C, T > &)
T * ItemType(const Iterator< C, T > &)