Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template<typename T>
- CompareChain<T> MakeCompareChain( const typename CompareChain<T>::CompareFunctor& f1 )
- {
- return CompareChain<T>( f1 );
- }
- template<typename T>
- CompareChain<T> MakeCompareChain( const typename CompareChain<T>::CompareFunctor& f1,
- const typename CompareChain<T>::CompareFunctor& f2 )
- {
- return CompareChain<T>( f1, f2 );
- }
- template<typename T>
- CompareChain<T> MakeCompareChain( const typename CompareChain<T>::CompareFunctor& f1,
- const typename CompareChain<T>::CompareFunctor& f2,
- const typename CompareChain<T>::CompareFunctor& f3 )
- {
- return CompareChain<T>( f1, f2, f3 );
- }
- template<typename T>
- CompareChain<T> MakeCompareChain( ComparisonResult ( *f1 )( const T&, const T& ) )
- {
- return CompareChain<T>( boost::bind( f1, _1, _2 ) );
- }
- template<typename T>
- CompareChain<T> MakeCompareChain( ComparisonResult ( *f1 )( const T&, const T& ),
- ComparisonResult ( *f2 )( const T&, const T& ) )
- {
- return CompareChain<T>( boost::bind( f1, _1, _2 ), boost::bind( f2, _1, _2 ) );
- }
- template<typename T>
- CompareChain<T> MakeCompareChain( ComparisonResult ( *f1 )( const T&, const T& ),
- ComparisonResult ( *f2 )( const T&, const T& ),
- ComparisonResult ( *f3 )( const T&, const T& ) )
- {
- return CompareChain<T>( boost::bind( f1, _1, _2 ), boost::bind( f2, _1, _2 ), boost::bind( f3, _1, _2 ) );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement