diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a03f9a..1775dd1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,7 +36,7 @@ if(BUILD_TESTS) add_subdirectory(tests) endif() -set(LIBREXY_PUBLIC_HEADERS "include/rexy/algorithm.hpp" "include/rexy/utility.hpp" "include/rexy/basic_string_hash.hpp" "include/rexy/hash.hpp" "include/rexy/static_string_hash.hpp" "include/rexy/string_hash.hpp" "include/rexy/mpmc_queue.hpp" "include/rexy/mpmc_queue.tpp" "include/rexy/traits.hpp" "include/rexy/steal.hpp" "include/rexy/binary.hpp" "include/rexy/expression.hpp" "include/rexy/binary_base.hpp" "include/rexy/binary_base.tpp" "include/rexy/string_base.hpp" "include/rexy/string.hpp" "include/rexy/filerd.hpp" "include/rexy/string_base.tpp" "include/rexy/allocator.hpp") +set(LIBREXY_PUBLIC_HEADERS "include/rexy/algorithm.hpp" "include/rexy/utility.hpp" "include/rexy/basic_string_hash.hpp" "include/rexy/hash.hpp" "include/rexy/static_string_hash.hpp" "include/rexy/string_hash.hpp" "include/rexy/mpmc_queue.hpp" "include/rexy/mpmc_queue.tpp" "include/rexy/traits.hpp" "include/rexy/steal.hpp" "include/rexy/binary.hpp" "include/rexy/expression.hpp" "include/rexy/binary_base.hpp" "include/rexy/binary_base.tpp" "include/rexy/string_base.hpp" "include/rexy/string.hpp" "include/rexy/filerd.hpp" "include/rexy/string_base.tpp" "include/rexy/allocator.hpp" "include/rexy/meta.hpp") target_compile_options(rexy PRIVATE -Wall -Wextra -pedantic -std=c++17) install(TARGETS rexy diff --git a/include/rexy/meta.hpp b/include/rexy/meta.hpp new file mode 100644 index 0000000..4555ebf --- /dev/null +++ b/include/rexy/meta.hpp @@ -0,0 +1,37 @@ +/** + This file is a part of rexy's general purpose library + Copyright (C) 2021 rexy712 + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 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 Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + +#ifndef REXY_META_HPP +#define REXY_META_HPP + +namespace rexy{ + + template + struct sequence_tuple{}; + template + struct sequence_gen : public sequence_gen{}; + template + struct sequence_gen<0,Is...>{ + using type = sequence_tuple; + }; + template + using sequence_gen_t = typename sequence_gen::type; + +} + +#endif diff --git a/src/ensure.cpp b/src/ensure.cpp index 351828a..16d6baa 100644 --- a/src/ensure.cpp +++ b/src/ensure.cpp @@ -16,6 +16,7 @@ #include "rexy/string.hpp" #include "rexy/traits.hpp" #include "rexy/utility.hpp" +#include "rexy/meta.hpp" #include "rexy/detail/binary_string_conv.hpp" #include "rexy/detail/string_appender.hpp"