<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">From 3197a520eb4c1e4754860441918a5930160373eb Mon Sep 17 00:00:00 2001
From: Peter Thorson &lt;git@zaphoyd.com&gt;
Date: Tue, 29 Jun 2021 09:13:12 -0500
Subject: [PATCH] [core] Remove the use of simple template ids as they have
 been removed in c++20.
 https://timsong-cpp.github.io/cppwp/n4861/diff.cpp17.class#2 references #991

--- a/websocketpp/endpoint.hpp
+++ b/websocketpp/endpoint.hpp
@@ -111,7 +111,7 @@ class endpoint : public config::transport_type, public config::endpoint_base {
 
 
     /// Destructor
-    ~endpoint&lt;connection,config&gt;() {}
+    ~endpoint() {}
 
     #ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_
         // no copy constructor because endpoints are not copyable
--- a/websocketpp/logger/basic.hpp
+++ b/websocketpp/logger/basic.hpp
@@ -58,33 +58,33 @@ namespace log {
 template &lt;typename concurrency, typename names&gt;
 class basic {
 public:
-    basic&lt;concurrency,names&gt;(channel_type_hint::value h =
+    basic(channel_type_hint::value h =
         channel_type_hint::access)
       : m_static_channels(0xffffffff)
       , m_dynamic_channels(0)
       , m_out(h == channel_type_hint::error ? &amp;std::cerr : &amp;std::cout) {}
 
-    basic&lt;concurrency,names&gt;(std::ostream * out)
+    basic(std::ostream * out)
       : m_static_channels(0xffffffff)
       , m_dynamic_channels(0)
       , m_out(out) {}
 
-    basic&lt;concurrency,names&gt;(level c, channel_type_hint::value h =
+    basic(level c, channel_type_hint::value h =
         channel_type_hint::access)
       : m_static_channels(c)
       , m_dynamic_channels(0)
       , m_out(h == channel_type_hint::error ? &amp;std::cerr : &amp;std::cout) {}
 
-    basic&lt;concurrency,names&gt;(level c, std::ostream * out)
+    basic(level c, std::ostream * out)
       : m_static_channels(c)
       , m_dynamic_channels(0)
       , m_out(out) {}
 
     /// Destructor
-    ~basic&lt;concurrency,names&gt;() {}
+    ~basic() {}
 
     /// Copy constructor
-    basic&lt;concurrency,names&gt;(basic&lt;concurrency,names&gt; const &amp; other)
+    basic(basic&lt;concurrency,names&gt; const &amp; other)
      : m_static_channels(other.m_static_channels)
      , m_dynamic_channels(other.m_dynamic_channels)
      , m_out(other.m_out)
@@ -97,7 +97,7 @@ class basic {
 
 #ifdef _WEBSOCKETPP_MOVE_SEMANTICS_
     /// Move constructor
-    basic&lt;concurrency,names&gt;(basic&lt;concurrency,names&gt; &amp;&amp; other)
+    basic(basic&lt;concurrency,names&gt; &amp;&amp; other)
      : m_static_channels(other.m_static_channels)
      , m_dynamic_channels(other.m_dynamic_channels)
      , m_out(other.m_out)
--- a/websocketpp/roles/server_endpoint.hpp
+++ b/websocketpp/roles/server_endpoint.hpp
@@ -75,11 +75,11 @@ class server : public endpoint&lt;connection&lt;config&gt;,config&gt; {
     }
 
     /// Destructor
-    ~server&lt;config&gt;() {}
+    ~server() {}
 
 #ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_
     // no copy constructor because endpoints are not copyable
-    server&lt;config&gt;(server&lt;config&gt; &amp;) = delete;
+    server(server&lt;config&gt; &amp;) = delete;
 
     // no copy assignment operator because endpoints are not copyable
     server&lt;config&gt; &amp; operator=(server&lt;config&gt; const &amp;) = delete;
@@ -87,7 +87,7 @@ class server : public endpoint&lt;connection&lt;config&gt;,config&gt; {
 
 #ifdef _WEBSOCKETPP_MOVE_SEMANTICS_
     /// Move constructor
-    server&lt;config&gt;(server&lt;config&gt; &amp;&amp; o) : endpoint&lt;connection&lt;config&gt;,config&gt;(std::move(o)) {}
+    server(server&lt;config&gt; &amp;&amp; o) : endpoint&lt;connection&lt;config&gt;,config&gt;(std::move(o)) {}
 
 #ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_
     // no move assignment operator because of const member variables
</pre></body></html>