Mercurial > hg > vamp-build-and-test
view DEPENDENCIES/generic/include/boost/icl/detail/on_absorbtion.hpp @ 130:d659ed4b9197
Another point to run repoint
author | Chris Cannam |
---|---|
date | Thu, 07 Feb 2019 11:48:53 +0000 |
parents | 2665513ce2d3 |
children |
line wrap: on
line source
/*-----------------------------------------------------------------------------+ Copyright (c) 2010-2010: Joachim Faulhaber +------------------------------------------------------------------------------+ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENCE.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #ifndef BOOST_ICL_TYPE_TRAITS_ON_ABSORBTION_HPP_JOFA_100915 #define BOOST_ICL_TYPE_TRAITS_ON_ABSORBTION_HPP_JOFA_100915 namespace boost{ namespace icl { template<class Type, class Combiner, bool absorbs_identities> struct on_absorbtion; template<class Type, class Combiner> struct on_absorbtion<Type, Combiner, false> { typedef on_absorbtion type; typedef typename Type::codomain_type codomain_type; static bool is_absorbable(const codomain_type&){ return false; } }; template<class Type, class Combiner> struct on_absorbtion<Type, Combiner, true> { typedef on_absorbtion type; typedef typename Type::codomain_type codomain_type; typedef typename Type::codomain_combine codomain_combine; static bool is_absorbable(const codomain_type& co_value) { return co_value == Combiner::identity_element(); } }; }} // namespace boost icl #endif