59 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | /*============================================================================= | ||
|  |     Copyright (c) 1999-2003 Jaakko Jarvi | ||
|  |     Copyright (c) 2001-2011 Joel de Guzman | ||
|  | 
 | ||
|  |     Distributed under the Boost Software License, Version 1.0. (See accompanying | ||
|  |     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | ||
|  | ==============================================================================*/ | ||
|  | #if !defined(FUSION_NOT_EQUAL_TO_05052005_0431) | ||
|  | #define FUSION_NOT_EQUAL_TO_05052005_0431 | ||
|  | 
 | ||
|  | #include <boost/fusion/support/config.hpp> | ||
|  | #include <boost/fusion/sequence/intrinsic/begin.hpp> | ||
|  | #include <boost/fusion/sequence/intrinsic/end.hpp> | ||
|  | #include <boost/fusion/sequence/intrinsic/size.hpp> | ||
|  | #include <boost/fusion/sequence/comparison/enable_comparison.hpp> | ||
|  | 
 | ||
|  | #if defined(FUSION_DIRECT_OPERATOR_USAGE) | ||
|  | #include <boost/fusion/sequence/comparison/detail/not_equal_to.hpp> | ||
|  | #else | ||
|  | #include <boost/fusion/sequence/comparison/equal_to.hpp> | ||
|  | #endif | ||
|  | 
 | ||
|  | namespace boost { namespace fusion | ||
|  | { | ||
|  |     template <typename Seq1, typename Seq2> | ||
|  |     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |     inline bool | ||
|  |     not_equal_to(Seq1 const& a, Seq2 const& b) | ||
|  |     { | ||
|  | #if defined(FUSION_DIRECT_OPERATOR_USAGE) | ||
|  |         return result_of::size<Seq1>::value != result_of::size<Seq2>::value | ||
|  |             || detail::sequence_not_equal_to< | ||
|  |             Seq1 const, Seq2 const | ||
|  |             , result_of::size<Seq1>::value == result_of::size<Seq2>::value>:: | ||
|  |             call(fusion::begin(a), fusion::begin(b)); | ||
|  | #else | ||
|  |         return !(a == b); | ||
|  | #endif | ||
|  |     } | ||
|  | 
 | ||
|  |     namespace operators | ||
|  |     { | ||
|  |         template <typename Seq1, typename Seq2> | ||
|  |         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         inline typename | ||
|  |             boost::enable_if< | ||
|  |                 traits::enable_equality<Seq1, Seq2> | ||
|  |               , bool | ||
|  |             >::type | ||
|  |         operator!=(Seq1 const& a, Seq2 const& b) | ||
|  |         { | ||
|  |             return fusion::not_equal_to(a, b); | ||
|  |         } | ||
|  |     } | ||
|  |     using operators::operator!=; | ||
|  | }} | ||
|  | 
 | ||
|  | #endif |