IPv4 and IPv6 addresses and networks. More...
#include <array>#include <exception>#include <string>#include <system_error>#include <vector>#include <sys/socket.h>#include <fmt/format.h>
Include dependency graph for ip.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| class | utils::ip::AddressBase< N > |
| Base class for IPv4/IPv6 addresses. More... | |
| class | utils::ip::NetworkBase< Address, typename > |
| Base class for IPv4/IPv6 network. More... | |
| class | utils::ip::InetNetwork |
| INET IPv4/IPv4 network. More... | |
| class | utils::ip::AddressSystemError |
| Invalid network or address. More... | |
Namespaces | |
| namespace | utils |
| Utilities. | |
Typedefs | |
| using | utils::ip::AddressV4 = AddressBase< 4 > |
| IPv4 address in network bytes order. | |
| using | utils::ip::AddressV6 = AddressBase< 16 > |
| IPv6 address in network bytes order. | |
| using | utils::ip::NetworkV4 = NetworkBase< AddressV4 > |
| IPv4 network. | |
| using | utils::ip::NetworkV6 = NetworkBase< AddressV6 > |
| IPv6 network. | |
Functions | |
| AddressV4 | utils::ip::AddressV4FromString (const std::string &str) |
| Create an IPv4 address from an IP address string in dotted decimal form. | |
| AddressV6 | utils::ip::AddressV6FromString (const std::string &str) |
| Create an IPv6 address from an IP address string in dotted decimal form. | |
| std::string | utils::ip::AddressV4ToString (const AddressV4 &address) |
| Get the address as a string in dotted decimal format. | |
| std::string | utils::ip::AddressV6ToString (const AddressV6 &address) |
| Get the address as a string in dotted decimal format. | |
| NetworkV4 | utils::ip::NetworkV4FromString (const std::string &str) |
| Create an IPv4 network from a string containing IP address and prefix length. | |
| NetworkV6 | utils::ip::NetworkV6FromString (const std::string &str) |
| Create an IPv6 network from a string containing IP address and prefix length. | |
| std::string | utils::ip::NetworkV4ToString (const NetworkV4 &network) |
| Get the network as an address in dotted decimal format. | |
| std::string | utils::ip::NetworkV6ToString (const NetworkV6 &network) |
| Get the network as an address in dotted decimal format. | |
| NetworkV4 | utils::ip::TransformToCidrFormat (NetworkV4 network) |
| Convert NetworkV4 to CIDR format. | |
| NetworkV6 | utils::ip::TransformToCidrFormat (NetworkV6 network) |
| Convert NetworkV4 to CIDR format. | |
| NetworkV4 | utils::ip::NetworkV4FromInetNetwork (const InetNetwork &inet_network) |
| Convert InetNetwork to NetworkV4. | |
| NetworkV6 | utils::ip::NetworkV6FromInetNetwork (const InetNetwork &inet_network) |
| Convert InetNetwork to NetworkV6. | |
| InetNetwork | utils::ip::NetworkV4ToInetNetwork (const NetworkV4 &network) |
| Convert NetworkV4 to InetNetwork. | |
| InetNetwork | utils::ip::NetworkV6ToInetNetwork (const NetworkV6 &network) |
| Convert NetworkV6 to InetNetwork. | |
Variables | |
| template<typename T > | |
| constexpr bool | utils::ip::kIsAddressType |
IPv4 and IPv6 addresses and networks.
Definition in file ip.hpp.
| AddressV4 utils::ip::AddressV4FromString | ( | const std::string & | str | ) |
Create an IPv4 address from an IP address string in dotted decimal form.
| AddressSystemError |
| NetworkV4 utils::ip::NetworkV4FromString | ( | const std::string & | str | ) |
Create an IPv4 network from a string containing IP address and prefix length.
| std::invalid_argument,AddressSystemError |