diff options
author | David Robillard <d@drobilla.net> | 2018-08-19 10:38:38 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2018-09-29 14:47:59 +0200 |
commit | 8eef3b64474ab7b9c5642254dc53c11e7530134e (patch) | |
tree | 94190a765b19c14ef1abd01080edb60c9f63c0be | |
parent | 9db42db409cf1d84c13d6659c773db44c9f3e29e (diff) | |
download | chilbert-8eef3b64474ab7b9c5642254dc53c11e7530134e.tar.gz chilbert-8eef3b64474ab7b9c5642254dc53c11e7530134e.tar.bz2 chilbert-8eef3b64474ab7b9c5642254dc53c11e7530134e.zip |
Move traits to separate header
-rw-r--r-- | chilbert/Operations.hpp | 13 | ||||
-rw-r--r-- | chilbert/Traits.hpp | 37 |
2 files changed, 39 insertions, 11 deletions
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 <cassert> #include <climits> #include <cstddef> @@ -27,17 +29,6 @@ namespace chilbert { -/// Member `value` is true iff T is a chilbert bitset -template <class T> -struct is_bitvec -{ - static constexpr bool value = false; -}; - -/// True iff T is a chilbert bitset -template <class T> -static constexpr bool is_bitvec_v = is_bitvec<T>::value; - /// Reset all bits in `field` template <typename T> std::enable_if_t<std::is_integral<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 <d@drobilla.net> + Copyright (C) 2006-2007 Chris Hamilton <chamilton@cs.dal.ca> + + 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 <https://www.gnu.org/licenses/>. +*/ + +#ifndef CHILBERT_TRAITS_HPP +#define CHILBERT_TRAITS_HPP + +namespace chilbert { + +/// Member `value` is true iff T is a chilbert bitset +template <class T> +struct is_bitvec +{ + static constexpr bool value = false; +}; + +/// True iff T is a chilbert bitset +template <class T> +static constexpr bool is_bitvec_v = is_bitvec<T>::value; + +} // namespace chilbert + +#endif |