aboutsummaryrefslogtreecommitdiff
path: root/src/netaddress.h
diff options
context:
space:
mode:
authorJon Atack <jon@atack.com>2023-07-14 07:08:23 -0600
committerJon Atack <jon@atack.com>2023-07-19 12:43:05 -0600
commit4ecfd3eaf434d868455466e001adae4b68515ab8 (patch)
treec05fac4c09927974d85b1a37e8422efcb2c5bb8b /src/netaddress.h
parent5316ae5dd8d90623f9bb883bb253fa6463ee4d34 (diff)
downloadbitcoin-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.h10
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;