Bläddra i källkod

Document str2tag_core's compile-time-only role

yhirose 3 månader sedan
förälder
incheckning
40e18460bc
1 ändrade filer med 4 tillägg och 0 borttagningar
  1. 4 0
      httplib.h

+ 4 - 0
httplib.h

@@ -6361,6 +6361,10 @@ inline void get_remote_ip_and_port(socket_t sock, std::string &ip, int &port) {
   }
 }
 
+// Recursive form retained so operator""_t below can compute hashes for
+// switch-case labels at compile time (C++11 constexpr forbids loops). Do not
+// call from runtime paths with arbitrary-length inputs — use str2tag()
+// instead, which is iterative and stack-safe.
 inline constexpr unsigned int str2tag_core(const char *s, size_t l,
                                            unsigned int h) {
   return (l == 0)