From 7da829d48f9059c83ab9cada2c850621e8bbd3f3 Mon Sep 17 00:00:00 2001 From: Dominick Allen Date: Sun, 22 Sep 2024 12:41:28 -0500 Subject: Basics of library. --- include/unique_array.hpp | 68 ------------------------------------------------ 1 file changed, 68 deletions(-) delete mode 100644 include/unique_array.hpp (limited to 'include/unique_array.hpp') diff --git a/include/unique_array.hpp b/include/unique_array.hpp deleted file mode 100644 index a7e0731..0000000 --- a/include/unique_array.hpp +++ /dev/null @@ -1,68 +0,0 @@ -/* - * libfud - * Copyright 2024 Dominick Allen - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef FUD_UNIQUE_ARRAY_HPP -#define FUD_UNIQUE_ARRAY_HPP - -#include "array.hpp" -#include "fud_type_traits.hpp" - -#include -#include - -namespace fud { - -template -class UniqueArray { // NOLINT(cppcoreguidelines-special-member-functions) - public: - // NOLINTBEGIN(cppcoreguidelines-avoid-const-or-ref-data-members) - const Array m_values{}; - // NOLINTEND(cppcoreguidelines-avoid-const-or-ref-data-members) - - ~UniqueArray() = default; - - constexpr UniqueArray() : m_values{{Vs...}} - { - static_assert(sizeof...(Vs) < 2 || !hasDuplicates()); - } - - constexpr UniqueArray(const UniqueArray& rhs) : m_values(rhs.m_values) - { - static_assert(sizeof...(Vs) < 2 || !hasDuplicates()); - } - - constexpr UniqueArray(UniqueArray&& rhs) noexcept : m_values(std::move(rhs).m_values) - { - static_assert(sizeof...(Vs) < 2 || !hasDuplicates()); - } - - [[nodiscard]] constexpr size_t size() const - { - return sizeof...(Vs); - } -}; - -template -constexpr UniqueArray makeStaticIndexSet(std::integer_sequence /*unused*/) -{ - static_assert(sizeof...(Is) > 0); - return UniqueArray{}; -} - -} // namespace fud - -#endif -- cgit v1.2.3