diff options
author | Jon Atack <jon@atack.com> | 2023-07-14 07:08:23 -0600 |
---|---|---|
committer | Jon Atack <jon@atack.com> | 2023-07-19 12:43:05 -0600 |
commit | 4ecfd3eaf434d868455466e001adae4b68515ab8 (patch) | |
tree | c05fac4c09927974d85b1a37e8422efcb2c5bb8b /src/netaddress.h | |
parent | 5316ae5dd8d90623f9bb883bb253fa6463ee4d34 (diff) | |
download | bitcoin-4ecfd3eaf434d868455466e001adae4b68515ab8.tar.xz |
Inline short, often-called, rarely-changed basic CNetAddr getters
and make them nodiscard.
Member functions containing a few lines of code are usually inlined, either
implicitly by defining them in the declaration as done here, or declared inline.
References
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-inline
https://google.github.io/styleguide/cppguide#Inline_Functions
https://www.ibm.com/docs/en/i/7.1?topic=only-inline-member-functions-c
Diffstat (limited to 'src/netaddress.h')
-rw-r--r-- | src/netaddress.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/netaddress.h b/src/netaddress.h index 428ab87423..867042b387 100644 --- a/src/netaddress.h +++ b/src/netaddress.h @@ -162,8 +162,8 @@ public: bool SetSpecial(const std::string& addr); bool IsBindAny() const; // INADDR_ANY equivalent - bool IsIPv4() const; // IPv4 mapped address (::FFFF:0:0/96, 0.0.0.0/0) - bool IsIPv6() const; // IPv6 address (not mapped IPv4, not Tor) + [[nodiscard]] bool IsIPv4() const { return m_net == NET_IPV4; } // IPv4 mapped address (::FFFF:0:0/96, 0.0.0.0/0) + [[nodiscard]] bool IsIPv6() const { return m_net == NET_IPV6; } // IPv6 address (not mapped IPv4, not Tor) bool IsRFC1918() const; // IPv4 private networks (10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12) bool IsRFC2544() const; // IPv4 inter-network communications (198.18.0.0/15) bool IsRFC6598() const; // IPv4 ISP-level NAT (100.64.0.0/10) @@ -179,9 +179,9 @@ public: bool IsRFC6052() const; // IPv6 well-known prefix for IPv4-embedded address (64:FF9B::/96) bool IsRFC6145() const; // IPv6 IPv4-translated address (::FFFF:0:0:0/96) (actually defined in RFC2765) bool IsHeNet() const; // IPv6 Hurricane Electric - https://he.net (2001:0470::/36) - bool IsTor() const; - bool IsI2P() const; - bool IsCJDNS() const; + [[nodiscard]] bool IsTor() const { return m_net == NET_ONION; } + [[nodiscard]] bool IsI2P() const { return m_net == NET_I2P; } + [[nodiscard]] bool IsCJDNS() const { return m_net == NET_CJDNS; } [[nodiscard]] bool HasCJDNSPrefix() const { return m_addr[0] == 0xfc; } bool IsLocal() const; bool IsRoutable() const; |