Header file functions/arithmetic/complement.hpp

namespace brigand
{
    template <typename A>
    struct complement
    : std::integral_constant<typename A::value_type, typename A::value_type(~A::value)>
    {
    };
}