Zivid C++ API 2.13.1+18e79e79-1
Zivid::NetworkConfiguration::IPV4 Class Reference

IPv4 network configuration. More...

#include <Zivid/NetworkConfiguration.h>

Classes

class  Address
 IPv4 address. Only used in manual mode. More...
 
class  Mode
 DHCP or manual configuration. More...
 
class  SubnetMask
 IPv4 subnet mask (for example 255.255.255.0). Only used in manual mode. More...
 

Public Types

using Descendants
 

Public Member Functions

 IPV4 ()
 Default constructor.
 
template<typename... Args>
 IPV4 (Args &&...args)
 Constructor taking variadic number of arguments.
 
template<typename... Args>
void set (Args &&...args)
 Set multiple arguments.
 
template<typename... Args>
IPV4 copyWith (Args &&...args) const
 Returns a copy of this object with the given argument(s) set to the new value(s)
 
const Addressaddress () const
 Get Address.
 
Addressaddress ()
 Get Address.
 
IPV4set (const Address &value)
 Set Address.
 
const Modemode () const
 Get Mode.
 
Modemode ()
 Get Mode.
 
IPV4set (const Mode &value)
 Set Mode.
 
const SubnetMasksubnetMask () const
 Get SubnetMask.
 
SubnetMasksubnetMask ()
 Get SubnetMask.
 
IPV4set (const SubnetMask &value)
 Set SubnetMask.
 
template<typename T , typename std::enable_if< std::is_same< T, NetworkConfiguration::IPV4::Address >::value, int >::type = 0>
const NetworkConfiguration::IPV4::Addressget () const
 
template<typename T , typename std::enable_if< std::is_same< T, NetworkConfiguration::IPV4::Mode >::value, int >::type = 0>
const NetworkConfiguration::IPV4::Modeget () const
 
template<typename T , typename std::enable_if< std::is_same< T, NetworkConfiguration::IPV4::SubnetMask >::value, int >::type = 0>
const NetworkConfiguration::IPV4::SubnetMaskget () const
 
template<size_t i, typename std::enable_if< i==0, int >::type = 0>
const NetworkConfiguration::IPV4::Addressget () const
 
template<size_t i, typename std::enable_if< i==1, int >::type = 0>
const NetworkConfiguration::IPV4::Modeget () const
 
template<size_t i, typename std::enable_if< i==2, int >::type = 0>
const NetworkConfiguration::IPV4::SubnetMaskget () const
 
template<typename F >
void forEach (const F &f) const
 Run the given function on each direct member with the value of the member as parameter.
 
template<typename F >
void forEach (const F &f)
 Run the given function on each direct member with the value of the member as parameter.
 
bool operator== (const IPV4 &other) const
 Equality operator.
 
bool operator!= (const IPV4 &other) const
 Inequality operator.
 
std::string toString () const
 Get the value as string.
 

Static Public Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group
 The type of this node.
 
static constexpr const char * path { "IPV4" }
 The full path for this value.
 
static constexpr const char * name { "IPV4" }
 The name of this value.
 
static constexpr const char * description { R"description(IPv4 network configuration)description" }
 The description for this value.
 

Friends

struct DataModel::Detail::Befriend< IPV4 >
 
std::ostream & operator<< (std::ostream &stream, const IPV4 &value)
 Operator to send the value as string to a stream.
 

Detailed Description

IPv4 network configuration.

Member Typedef Documentation

◆ Descendants

Initial value:
std::tuple<
NetworkConfiguration::IPV4::Address,
NetworkConfiguration::IPV4::Mode,
NetworkConfiguration::IPV4::SubnetMask>

Constructor & Destructor Documentation

◆ IPV4() [1/2]

Zivid::NetworkConfiguration::IPV4::IPV4 ( )

Default constructor.

◆ IPV4() [2/2]

template<typename... Args>
Zivid::NetworkConfiguration::IPV4::IPV4 ( Args &&... args)
inlineexplicit

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing IPV4 then invoking set(args).

The provided arguments must be descendants of IPV4. These types can be provided:

Member Function Documentation

◆ address() [1/2]

Address & Zivid::NetworkConfiguration::IPV4::address ( )
inline

Get Address.

◆ address() [2/2]

const Address & Zivid::NetworkConfiguration::IPV4::address ( ) const
inline

Get Address.

◆ copyWith()

template<typename... Args>
IPV4 Zivid::NetworkConfiguration::IPV4::copyWith ( Args &&... args) const
inline

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this IPV4 object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of IPV4. These types can be provided:

◆ forEach() [1/2]

template<typename F >
void Zivid::NetworkConfiguration::IPV4::forEach ( const F & f)
inline

Run the given function on each direct member with the value of the member as parameter.

◆ forEach() [2/2]

template<typename F >
void Zivid::NetworkConfiguration::IPV4::forEach ( const F & f) const
inline

Run the given function on each direct member with the value of the member as parameter.

◆ get() [1/6]

template<typename T , typename std::enable_if< std::is_same< T, NetworkConfiguration::IPV4::Address >::value, int >::type = 0>
const NetworkConfiguration::IPV4::Address & Zivid::NetworkConfiguration::IPV4::get ( ) const
inline

◆ get() [2/6]

template<typename T , typename std::enable_if< std::is_same< T, NetworkConfiguration::IPV4::Mode >::value, int >::type = 0>
const NetworkConfiguration::IPV4::Mode & Zivid::NetworkConfiguration::IPV4::get ( ) const
inline

◆ get() [3/6]

template<typename T , typename std::enable_if< std::is_same< T, NetworkConfiguration::IPV4::SubnetMask >::value, int >::type = 0>
const NetworkConfiguration::IPV4::SubnetMask & Zivid::NetworkConfiguration::IPV4::get ( ) const
inline

◆ get() [4/6]

template<size_t i, typename std::enable_if< i==0, int >::type = 0>
const NetworkConfiguration::IPV4::Address & Zivid::NetworkConfiguration::IPV4::get ( ) const
inline

◆ get() [5/6]

template<size_t i, typename std::enable_if< i==1, int >::type = 0>
const NetworkConfiguration::IPV4::Mode & Zivid::NetworkConfiguration::IPV4::get ( ) const
inline

◆ get() [6/6]

template<size_t i, typename std::enable_if< i==2, int >::type = 0>
const NetworkConfiguration::IPV4::SubnetMask & Zivid::NetworkConfiguration::IPV4::get ( ) const
inline

◆ mode() [1/2]

Mode & Zivid::NetworkConfiguration::IPV4::mode ( )
inline

Get Mode.

◆ mode() [2/2]

const Mode & Zivid::NetworkConfiguration::IPV4::mode ( ) const
inline

Get Mode.

◆ operator!=()

bool Zivid::NetworkConfiguration::IPV4::operator!= ( const IPV4 & other) const

Inequality operator.

◆ operator==()

bool Zivid::NetworkConfiguration::IPV4::operator== ( const IPV4 & other) const

Equality operator.

◆ set() [1/4]

template<typename... Args>
void Zivid::NetworkConfiguration::IPV4::set ( Args &&... args)
inline

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of IPV4. These types can be provided:

◆ set() [2/4]

IPV4 & Zivid::NetworkConfiguration::IPV4::set ( const Address & value)
inline

Set Address.

◆ set() [3/4]

IPV4 & Zivid::NetworkConfiguration::IPV4::set ( const Mode & value)
inline

Set Mode.

◆ set() [4/4]

IPV4 & Zivid::NetworkConfiguration::IPV4::set ( const SubnetMask & value)
inline

Set SubnetMask.

◆ subnetMask() [1/2]

SubnetMask & Zivid::NetworkConfiguration::IPV4::subnetMask ( )
inline

Get SubnetMask.

◆ subnetMask() [2/2]

const SubnetMask & Zivid::NetworkConfiguration::IPV4::subnetMask ( ) const
inline

Get SubnetMask.

◆ toString()

std::string Zivid::NetworkConfiguration::IPV4::toString ( ) const

Get the value as string.

Friends And Related Symbol Documentation

◆ DataModel::Detail::Befriend< IPV4 >

friend struct DataModel::Detail::Befriend< IPV4 >
friend

◆ operator<<

std::ostream & operator<< ( std::ostream & stream,
const IPV4 & value )
friend

Operator to send the value as string to a stream.

Member Data Documentation

◆ description

const char* Zivid::NetworkConfiguration::IPV4::description { R"description(IPv4 network configuration)description" }
staticconstexpr

The description for this value.

◆ name

const char* Zivid::NetworkConfiguration::IPV4::name { "IPV4" }
staticconstexpr

The name of this value.

◆ nodeType

DataModel::NodeType Zivid::NetworkConfiguration::IPV4::nodeType = DataModel::NodeType::group
staticconstexpr

The type of this node.

◆ path

const char* Zivid::NetworkConfiguration::IPV4::path { "IPV4" }
staticconstexpr

The full path for this value.


The documentation for this class was generated from the following file: