From 8eef3b64474ab7b9c5642254dc53c11e7530134e Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 19 Aug 2018 10:38:38 +0200 Subject: Move traits to separate header --- chilbert/Operations.hpp | 13 ++----------- chilbert/Traits.hpp | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 11 deletions(-) create mode 100644 chilbert/Traits.hpp diff --git a/chilbert/Operations.hpp b/chilbert/Operations.hpp index d80a994..29641fb 100644 --- a/chilbert/Operations.hpp +++ b/chilbert/Operations.hpp @@ -19,6 +19,8 @@ #ifndef CHILBERT_OPERATIONS_HPP #define CHILBERT_OPERATIONS_HPP +#include "chilbert/Traits.hpp" + #include #include #include @@ -27,17 +29,6 @@ namespace chilbert { -/// Member `value` is true iff T is a chilbert bitset -template -struct is_bitvec -{ - static constexpr bool value = false; -}; - -/// True iff T is a chilbert bitset -template -static constexpr bool is_bitvec_v = is_bitvec::value; - /// Reset all bits in `field` template std::enable_if_t::value> diff --git a/chilbert/Traits.hpp b/chilbert/Traits.hpp new file mode 100644 index 0000000..0c7807d --- /dev/null +++ b/chilbert/Traits.hpp @@ -0,0 +1,37 @@ +/* + Copyright (C) 2018 David Robillard + Copyright (C) 2006-2007 Chris Hamilton + + This program is free software: you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free Software + Foundation, either version 2 of the License, or (at your option) any later + version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + details. + + You should have received a copy of the GNU General Public License along with + this program. If not, see . +*/ + +#ifndef CHILBERT_TRAITS_HPP +#define CHILBERT_TRAITS_HPP + +namespace chilbert { + +/// Member `value` is true iff T is a chilbert bitset +template +struct is_bitvec +{ + static constexpr bool value = false; +}; + +/// True iff T is a chilbert bitset +template +static constexpr bool is_bitvec_v = is_bitvec::value; + +} // namespace chilbert + +#endif -- cgit v1.2.1