diff --git a/Common++/header/IpAddress.h b/Common++/header/IpAddress.h index f9282a9151..7eb8484078 100644 --- a/Common++/header/IpAddress.h +++ b/Common++/header/IpAddress.h @@ -883,6 +883,19 @@ namespace pcpp std::unique_ptr m_IPv6Network; }; + namespace literals + { + inline IPv4Address operator""_ipv4(const char* addrString, std::size_t size) + { + return IPv4Address(std::string(addrString, size)); + } + + inline IPv6Address operator""_ipv6(const char* addrString, std::size_t size) + { + return IPv6Address(std::string(addrString, size)); + } + } // namespace literals + inline std::ostream& operator<<(std::ostream& oss, const pcpp::IPv4Address& ipv4Address) { oss << ipv4Address.toString(); diff --git a/Common++/header/MacAddress.h b/Common++/header/MacAddress.h index bcf6e28b83..c88dbe82ac 100644 --- a/Common++/header/MacAddress.h +++ b/Common++/header/MacAddress.h @@ -177,14 +177,22 @@ namespace pcpp bool copyToNewBuffer(uint8_t** buffer, size_t& size) const; /// A static value representing a zero value of MAC address, meaning address of value "00:00:00:00:00:00" - static MacAddress Zero; + static const MacAddress Zero; /// A static value representing a broadcast MAC address, meaning address of value "ff:ff:ff:ff:ff:ff" - static MacAddress Broadcast; + static const MacAddress Broadcast; private: std::array m_Address{}; }; + namespace literals + { + inline MacAddress operator""_mac(const char* addrString, size_t size) + { + return MacAddress(std::string(addrString, size)); + } + } // namespace literals + inline std::ostream& operator<<(std::ostream& oss, const pcpp::MacAddress& macAddress) { oss << macAddress.toString(); diff --git a/Common++/src/MacAddress.cpp b/Common++/src/MacAddress.cpp index a65591bbf4..4f32599a43 100644 --- a/Common++/src/MacAddress.cpp +++ b/Common++/src/MacAddress.cpp @@ -3,9 +3,9 @@ namespace pcpp { - MacAddress MacAddress::Zero(0, 0, 0, 0, 0, 0); + const MacAddress MacAddress::Zero(0, 0, 0, 0, 0, 0); - MacAddress MacAddress::Broadcast(0xff, 0xff, 0xff, 0xff, 0xff, 0xff); + const MacAddress MacAddress::Broadcast(0xff, 0xff, 0xff, 0xff, 0xff, 0xff); std::string MacAddress::toString() const {