lilypond-0.0.27
[lilypond.git] / flower / findcurs.inl
blob593d4aae10466f6202496cc65644ef2cc0a66b1c
1 template<class T, class U>
2 inline
3 FindCursor<T, U>::FindCursor( List<T>& list, Link<T>* pointer ) : 
4     Cursor<T>( list, pointer )
8 template<class T, class U>
9 inline
10 FindCursor<T, U>::FindCursor( const Cursor<T>& cursor ) :
11     Cursor<T>( cursor )
15 template<class T, class U>
16 Cursor<T>
17 FindCursor<T, U>::operator =( const Cursor<T>& c )
18 {   
19     ( (Cursor<T>&)*this ) = c;
20     return *this;
23 template<class T, class U>
24 inline FindCursor<T, U>
25 FindCursor<T, U>::find( const T& thing )
27     Cursor<T> c( *this );
28     while( c.forward() )
29         {
30         T& look = *c;
31         if ( U::equal( look, thing ) )
32             return c;
33         c++;
34         }
36     return FindCursor( *this ); // cursor is not .ok()