diff --git a/src/netaddress.cpp b/src/netaddress.cpp --- a/src/netaddress.cpp +++ b/src/netaddress.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include @@ -50,13 +51,6 @@ m_addr = ipIn.m_addr; } -template -inline bool HasPrefix(const T1 &obj, - const std::array &prefix) { - return obj.size() >= PREFIX_LEN && - std::equal(std::begin(prefix), std::end(prefix), std::begin(obj)); -} - void CNetAddr::SetLegacyIPv6(Span ipv6) { assert(ipv6.size() == ADDR_IPV6_SIZE); diff --git a/src/util/string.h b/src/util/string.h --- a/src/util/string.h +++ b/src/util/string.h @@ -7,6 +7,8 @@ #include +#include +#include #include #include #include @@ -71,4 +73,14 @@ return oss.str(); } +/** + * Check whether a container begins with the given prefix. + */ +template +NODISCARD inline bool HasPrefix(const T1 &obj, + const std::array &prefix) { + return obj.size() >= PREFIX_LEN && + std::equal(std::begin(prefix), std::end(prefix), std::begin(obj)); +} + #endif // BITCOIN_UTIL_STRING_H