From 09f070f3ec57d9ce4673c5e5cd4587486ba07eda Mon Sep 17 00:00:00 2001
From: past-due <30942300+past-due@users.noreply.github.com>
Date: Tue, 10 Oct 2023 12:15:11 -0400
Subject: [PATCH] Replace tl::index_sequence with C++14 std::index_sequence
---
pkg/copyright | 4 --
src/3rdparty/integer_sequence.hpp | 70 -------------------------------
src/quickjs_backend.cpp | 6 +--
3 files changed, 3 insertions(+), 77 deletions(-)
delete mode 100644 src/3rdparty/integer_sequence.hpp
diff --git a/pkg/copyright b/pkg/copyright
index 3e208205dfd..e694f23769a 100644
--- a/pkg/copyright
+++ b/pkg/copyright
@@ -110,10 +110,6 @@ Files: src/3rdparty/gsl_finally.h
Copyright: 2015 Microsoft Corporation
License: Expat
-Files: src/3rdparty/integer_sequence.hpp
-Copyright: 2017 by Simon Brand
-License: CC0
-
Files: src/3rdparty/physfs.hpp
Copyright: 2013 Kevin Howell and others
2018 Arthur Brainville (Ybalrid)
diff --git a/src/3rdparty/integer_sequence.hpp b/src/3rdparty/integer_sequence.hpp
deleted file mode 100644
index 5c65eca9b68..00000000000
--- a/src/3rdparty/integer_sequence.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-///
-// TL library - A collection of small C++ utilities
-// Written in 2017 by Simon Brand (@TartanLlama)
-//
-// To the extent possible under law, the author(s) have dedicated all
-// copyright and related and neighboring rights to this software to the
-// public domain worldwide. This software is distributed without any warranty.
-//
-// You should have received a copy of the CC0 Public Domain Dedication
-// along with this software. If not, see .
-///
-// An implementation of std::index_sequence in C++11
-// Also includes tl::make_index_range
-///
-
-#ifndef TL_INTEGER_SEQUENCE_HPP
-#define TL_INTEGER_SEQUENCE_HPP
-
-#include
-
-namespace tl {
- template
- struct integer_sequence {
- using type = integer_sequence;
- using value_type = T;
- static constexpr std::size_t size() { return sizeof...(Ns); }
- };
-
- namespace detail {
- template
- struct merge;
-
- template
- struct merge , integer_sequence>
- : integer_sequence
- { };
-
- // Adds Offset to every index in an integer sequence
- template
- integer_sequence offset_integer_sequence(
- integer_sequence);
-
- template
- struct make_integer_sequence
- : detail::merge::type,
- typename make_integer_sequence::type>
- { };
-
- template struct make_integer_sequence : integer_sequence {};
- template struct make_integer_sequence : integer_sequence {};
- }
-
- template
- using make_integer_sequence = typename detail::make_integer_sequence::type;
-
- template
- using index_sequence = integer_sequence;
-
- template
- using make_index_sequence = make_integer_sequence;
-
- template
- using index_sequence_for = make_index_sequence;
-
- template
- using make_index_range = decltype(
- detail::offset_integer_sequence(make_index_sequence{}));
-}
-
-#endif
diff --git a/src/quickjs_backend.cpp b/src/quickjs_backend.cpp
index 3063d7cb69c..2a855f4fc08 100644
--- a/src/quickjs_backend.cpp
+++ b/src/quickjs_backend.cpp
@@ -95,7 +95,7 @@ MSVC_PRAGMA(warning( pop ))
#pragma GCC diagnostic pop
#endif
#include "3rdparty/gsl_finally.h"
-#include "3rdparty/integer_sequence.hpp"
+#include
// Alternatives for C++ - can't use the JS_CFUNC_DEF / JS_CGETSET_DEF / etc defines
// #define JS_CFUNC_DEF(name, length, func1) { name, JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE, JS_DEF_CFUNC, 0, .u = { .func = { length, JS_CFUNC_generic, { .generic = func1 } } } }
@@ -2126,7 +2126,7 @@ static JSValue callFunction(JSContext *ctx, const std::string &function, std::ve
template struct UnboxTupleIndex;
template
- struct UnboxTupleIndex, T...>
+ struct UnboxTupleIndex, T...>
{
public:
typedef std::tuple tuple_type;
@@ -2164,7 +2164,7 @@ static JSValue callFunction(JSContext *ctx, const std::string &function, std::ve
tuple_ref_type value;
};
- template using UnboxTuple = UnboxTupleIndex, T...>;
+ template using UnboxTuple = UnboxTupleIndex, T...>;
MSVC_PRAGMA(warning( push )) // see matching "pop" below
MSVC_PRAGMA(warning( disable : 4189 )) // disable "warning C4189: 'idx': local variable is initialized but not referenced"