A library containing C++ general primitives that I use. Some things that might be of use to others include but are not limited to:
The library also contains networking primitives that I use. Some things that might be of interest to others include but are not limited to:
- ndgpp::net::basic_ipv4_address
- ndgpp::net::ipv4_address
- ndgpp::net::multicast_ipv4_address
- ndgpp::net::port
An integer type that allows for a compile time specifications of the allowed value range. This class faciliates proper construction from an arbitraty integer type and has safe signed / unsigned comparisions. It also facilitates integer construction from "string" types.
A function overload set that facilitates converting strings to numeric types. These functions are convenient because they allow for compile time specification of the allowed value range as well as a requiring a template parameter to specify the target integer type. The target integer type template parameter facilitates string to integer conversions in template functions because the template function does not have to use a different function name for each target integer type.
A namespace that contains several functions that perform safe comparisons on integer types that differ in signedness.
A integral type that stores an integral value in network byte order.
This type represents an IPv4 address and allows for specifying the range of values the IP address can take on.
This type represents an IPv4 address that can take on any IPv4 address value
This type represents a multicast IPv4 address that can only take on address values that are in the IPv4 multicast address range.
This type represents a network port.