:relfileprefix: ../../
[#boost-urls-ipv4_address]

= xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::ipv4_address


An IP version 4 style address.


== Synopsis

Declared in header `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/ipv4_address.hpp#L53[boost/url/ipv4_address.hpp,window=blank_]>`

[source,cpp,subs="verbatim,macros,-callouts"]
----
class ipv4_address;
----

==  Types
[cols=2,separator=¦]
|===
¦Name ¦Description
¦xref:boost/urls/ipv4_address/bytes_type.adoc[`bytes_type`]  ¦

The type used to represent an address as an array of bytes

¦xref:boost/urls/ipv4_address/uint_type.adoc[`uint_type`]  ¦

The type used to represent an address as an unsigned integer

|===
==  Member Functions
[cols=2,separator=¦]
|===
¦Name ¦Description
¦xref:boost/urls/ipv4_address/2constructor.adoc[`ipv4_address`] [.small]#[constructor]# ¦

Construct from a string.


Construct from an array of bytes.


Construct from an unsigned integer.


Constructor.

¦xref:boost/urls/ipv4_address/is_loopback.adoc[`is_loopback`]  ¦

Return true if the address is a loopback address

¦xref:boost/urls/ipv4_address/is_multicast.adoc[`is_multicast`]  ¦

Return true if the address is a multicast address

¦xref:boost/urls/ipv4_address/is_unspecified.adoc[`is_unspecified`]  ¦

Return true if the address is unspecified

¦xref:boost/urls/ipv4_address/operator_assign.adoc[`operator=`]  ¦

Copy Assignment.

¦xref:boost/urls/ipv4_address/to_buffer.adoc[`to_buffer`]  ¦

Write a dotted decimal string representing the address to a buffer

¦xref:boost/urls/ipv4_address/to_bytes.adoc[`to_bytes`]  ¦

Return the address as bytes, in network byte order.

¦xref:boost/urls/ipv4_address/to_string.adoc[`to_string`]  ¦

Return the address as a string in dotted decimal format

¦xref:boost/urls/ipv4_address/to_uint.adoc[`to_uint`]  ¦

Return the address as an unsigned integer.

|===
==  Static Member Functions
[cols=2,separator=¦]
|===
¦Name ¦Description
¦xref:boost/urls/ipv4_address/any.adoc[`any`]  ¦

Return an address object that represents any address

¦xref:boost/urls/ipv4_address/broadcast.adoc[`broadcast`]  ¦

Return an address object that represents the broadcast address

¦xref:boost/urls/ipv4_address/loopback.adoc[`loopback`]  ¦

Return an address object that represents the loopback address

|===
==  Static Data Members
[cols=2,separator=¦]
|===
¦Name ¦Description
¦xref:boost/urls/ipv4_address/max_str_len.adoc[`max_str_len`]  ¦

The number of characters in the longest possible IPv4 string.

|===
==  Friends
[cols=2,separator=¦]
|===
¦Name ¦Description
¦xref:boost/urls/ipv4_address/08friend-08.adoc[`operator!=`]  ¦

Return true if two addresses are not equal

¦xref:boost/urls/ipv4_address/08friend-05.adoc[`operator<<`]  ¦

¦xref:boost/urls/ipv4_address/08friend-01.adoc[`operator==`]  ¦

Return true if two addresses are equal

|===

== Description


Objects of this type are used to construct,
parse, and manipulate IP version 6 addresses.

=== BNF
[,cpp]
----
IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet

dec-octet   = DIGIT                 ; 0-9
            / %x31-39 DIGIT         ; 10-99
            / "1" 2DIGIT            ; 100-199
            / "2" %x30-34 DIGIT     ; 200-249
            / "25" %x30-35          ; 250-255
----

=== Specification

* link:https://en.wikipedia.org/wiki/IPv4[IPv4 (Wikipedia)]

* link:https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2[3.2.2. Host (rfc3986)]



== See Also


xref:boost/urls/parse_ipv4_address.adoc[parse_ipv4_address]
,
xref:boost/urls/ipv6_address.adoc[ipv6_address]
.



