Zivid C++ API 2.13.1+18e79e79-1
Zivid::Detail::EnvironmentInfo::UserToolchain Class Reference

Information about the current toolchain. More...

#include <Zivid/Detail/EnvironmentInfo.h>

Classes

class  Compiler
 Information about which compiler is being used. More...
 
class  CxxStandard
 The C++ standard being used. More...
 
class  StandardLibrary
 Information about what standard library implementation is being used. More...
 

Public Types

using Descendants
 

Public Member Functions

 UserToolchain ()
 Default constructor.
 
template<typename... Args>
 UserToolchain (Args &&...args)
 Constructor taking variadic number of arguments.
 
template<typename... Args>
void set (Args &&...args)
 Set multiple arguments.
 
template<typename... Args>
UserToolchain copyWith (Args &&...args) const
 Returns a copy of this object with the given argument(s) set to the new value(s)
 
const Compilercompiler () const
 Get Compiler.
 
Compilercompiler ()
 Get Compiler.
 
UserToolchainset (const Compiler &value)
 Set Compiler.
 
UserToolchainset (const Compiler::ID &value)
 Set Compiler::ID.
 
UserToolchainset (const Compiler::Version &value)
 Set Compiler::Version.
 
const CxxStandardcxxStandard () const
 Get CxxStandard.
 
CxxStandardcxxStandard ()
 Get CxxStandard.
 
UserToolchainset (const CxxStandard &value)
 Set CxxStandard.
 
const StandardLibrarystandardLibrary () const
 Get StandardLibrary.
 
StandardLibrarystandardLibrary ()
 Get StandardLibrary.
 
UserToolchainset (const StandardLibrary &value)
 Set StandardLibrary.
 
UserToolchainset (const StandardLibrary::ID &value)
 Set StandardLibrary::ID.
 
UserToolchainset (const StandardLibrary::Version &value)
 Set StandardLibrary::Version.
 
template<typename T , typename std::enable_if< std::is_same< T, EnvironmentInfo::UserToolchain::Compiler >::value, int >::type = 0>
const EnvironmentInfo::UserToolchain::Compilerget () const
 
template<typename T , typename std::enable_if< std::is_same< T, EnvironmentInfo::UserToolchain::Compiler::ID >::value, int >::type = 0>
const EnvironmentInfo::UserToolchain::Compiler::IDget () const
 
template<typename T , typename std::enable_if< std::is_same< T, EnvironmentInfo::UserToolchain::Compiler::Version >::value, int >::type = 0>
const EnvironmentInfo::UserToolchain::Compiler::Versionget () const
 
template<typename T , typename std::enable_if< std::is_same< T, EnvironmentInfo::UserToolchain::CxxStandard >::value, int >::type = 0>
const EnvironmentInfo::UserToolchain::CxxStandardget () const
 
template<typename T , typename std::enable_if< std::is_same< T, EnvironmentInfo::UserToolchain::StandardLibrary >::value, int >::type = 0>
const EnvironmentInfo::UserToolchain::StandardLibraryget () const
 
template<typename T , typename std::enable_if< std::is_same< T, EnvironmentInfo::UserToolchain::StandardLibrary::ID >::value, int >::type = 0>
const EnvironmentInfo::UserToolchain::StandardLibrary::IDget () const
 
template<typename T , typename std::enable_if< std::is_same< T, EnvironmentInfo::UserToolchain::StandardLibrary::Version >::value, int >::type = 0>
const EnvironmentInfo::UserToolchain::StandardLibrary::Versionget () const
 
template<size_t i, typename std::enable_if< i==0, int >::type = 0>
const EnvironmentInfo::UserToolchain::Compilerget () const
 
template<size_t i, typename std::enable_if< i==1, int >::type = 0>
const EnvironmentInfo::UserToolchain::CxxStandardget () const
 
template<size_t i, typename std::enable_if< i==2, int >::type = 0>
const EnvironmentInfo::UserToolchain::StandardLibraryget () 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 UserToolchain &other) const
 Equality operator.
 
bool operator!= (const UserToolchain &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 { "UserToolchain" }
 The full path for this value.
 
static constexpr const char * name { "UserToolchain" }
 The name of this value.
 
static constexpr const char * description
 The description for this value.
 

Friends

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

Detailed Description

Information about the current toolchain.

Member Typedef Documentation

◆ Descendants

Initial value:
std::tuple<
EnvironmentInfo::UserToolchain::Compiler,
EnvironmentInfo::UserToolchain::Compiler::ID,
EnvironmentInfo::UserToolchain::Compiler::Version,
EnvironmentInfo::UserToolchain::CxxStandard,
EnvironmentInfo::UserToolchain::StandardLibrary,
EnvironmentInfo::UserToolchain::StandardLibrary::ID,
EnvironmentInfo::UserToolchain::StandardLibrary::Version>

Constructor & Destructor Documentation

◆ UserToolchain() [1/2]

Zivid::Detail::EnvironmentInfo::UserToolchain::UserToolchain ( )

Default constructor.

◆ UserToolchain() [2/2]

template<typename... Args>
Zivid::Detail::EnvironmentInfo::UserToolchain::UserToolchain ( 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 UserToolchain then invoking set(args).

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

Member Function Documentation

◆ compiler() [1/2]

Compiler & Zivid::Detail::EnvironmentInfo::UserToolchain::compiler ( )
inline

Get Compiler.

◆ compiler() [2/2]

const Compiler & Zivid::Detail::EnvironmentInfo::UserToolchain::compiler ( ) const
inline

Get Compiler.

◆ copyWith()

template<typename... Args>
UserToolchain Zivid::Detail::EnvironmentInfo::UserToolchain::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 UserToolchain 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 UserToolchain. These types can be provided:

◆ cxxStandard() [1/2]

CxxStandard & Zivid::Detail::EnvironmentInfo::UserToolchain::cxxStandard ( )
inline

◆ cxxStandard() [2/2]

const CxxStandard & Zivid::Detail::EnvironmentInfo::UserToolchain::cxxStandard ( ) const
inline

◆ forEach() [1/2]

template<typename F >
void Zivid::Detail::EnvironmentInfo::UserToolchain::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::Detail::EnvironmentInfo::UserToolchain::forEach ( const F & f) const
inline

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

◆ get() [1/10]

template<typename T , typename std::enable_if< std::is_same< T, EnvironmentInfo::UserToolchain::Compiler >::value, int >::type = 0>
const EnvironmentInfo::UserToolchain::Compiler & Zivid::Detail::EnvironmentInfo::UserToolchain::get ( ) const
inline

◆ get() [2/10]

template<typename T , typename std::enable_if< std::is_same< T, EnvironmentInfo::UserToolchain::Compiler::ID >::value, int >::type = 0>
const EnvironmentInfo::UserToolchain::Compiler::ID & Zivid::Detail::EnvironmentInfo::UserToolchain::get ( ) const
inline

◆ get() [3/10]

template<typename T , typename std::enable_if< std::is_same< T, EnvironmentInfo::UserToolchain::Compiler::Version >::value, int >::type = 0>
const EnvironmentInfo::UserToolchain::Compiler::Version & Zivid::Detail::EnvironmentInfo::UserToolchain::get ( ) const
inline

◆ get() [4/10]

template<typename T , typename std::enable_if< std::is_same< T, EnvironmentInfo::UserToolchain::CxxStandard >::value, int >::type = 0>
const EnvironmentInfo::UserToolchain::CxxStandard & Zivid::Detail::EnvironmentInfo::UserToolchain::get ( ) const
inline

◆ get() [5/10]

template<typename T , typename std::enable_if< std::is_same< T, EnvironmentInfo::UserToolchain::StandardLibrary >::value, int >::type = 0>
const EnvironmentInfo::UserToolchain::StandardLibrary & Zivid::Detail::EnvironmentInfo::UserToolchain::get ( ) const
inline

◆ get() [6/10]

template<typename T , typename std::enable_if< std::is_same< T, EnvironmentInfo::UserToolchain::StandardLibrary::ID >::value, int >::type = 0>
const EnvironmentInfo::UserToolchain::StandardLibrary::ID & Zivid::Detail::EnvironmentInfo::UserToolchain::get ( ) const
inline

◆ get() [7/10]

template<typename T , typename std::enable_if< std::is_same< T, EnvironmentInfo::UserToolchain::StandardLibrary::Version >::value, int >::type = 0>
const EnvironmentInfo::UserToolchain::StandardLibrary::Version & Zivid::Detail::EnvironmentInfo::UserToolchain::get ( ) const
inline

◆ get() [8/10]

template<size_t i, typename std::enable_if< i==0, int >::type = 0>
const EnvironmentInfo::UserToolchain::Compiler & Zivid::Detail::EnvironmentInfo::UserToolchain::get ( ) const
inline

◆ get() [9/10]

template<size_t i, typename std::enable_if< i==1, int >::type = 0>
const EnvironmentInfo::UserToolchain::CxxStandard & Zivid::Detail::EnvironmentInfo::UserToolchain::get ( ) const
inline

◆ get() [10/10]

template<size_t i, typename std::enable_if< i==2, int >::type = 0>
const EnvironmentInfo::UserToolchain::StandardLibrary & Zivid::Detail::EnvironmentInfo::UserToolchain::get ( ) const
inline

◆ operator!=()

bool Zivid::Detail::EnvironmentInfo::UserToolchain::operator!= ( const UserToolchain & other) const

Inequality operator.

◆ operator==()

bool Zivid::Detail::EnvironmentInfo::UserToolchain::operator== ( const UserToolchain & other) const

Equality operator.

◆ set() [1/8]

template<typename... Args>
void Zivid::Detail::EnvironmentInfo::UserToolchain::set ( Args &&... args)
inline

◆ set() [2/8]

UserToolchain & Zivid::Detail::EnvironmentInfo::UserToolchain::set ( const Compiler & value)
inline

Set Compiler.

◆ set() [3/8]

UserToolchain & Zivid::Detail::EnvironmentInfo::UserToolchain::set ( const Compiler::ID & value)
inline

◆ set() [4/8]

UserToolchain & Zivid::Detail::EnvironmentInfo::UserToolchain::set ( const Compiler::Version & value)
inline

◆ set() [5/8]

UserToolchain & Zivid::Detail::EnvironmentInfo::UserToolchain::set ( const CxxStandard & value)
inline

◆ set() [6/8]

UserToolchain & Zivid::Detail::EnvironmentInfo::UserToolchain::set ( const StandardLibrary & value)
inline

◆ set() [7/8]

UserToolchain & Zivid::Detail::EnvironmentInfo::UserToolchain::set ( const StandardLibrary::ID & value)
inline

◆ set() [8/8]

UserToolchain & Zivid::Detail::EnvironmentInfo::UserToolchain::set ( const StandardLibrary::Version & value)
inline

◆ standardLibrary() [1/2]

StandardLibrary & Zivid::Detail::EnvironmentInfo::UserToolchain::standardLibrary ( )
inline

◆ standardLibrary() [2/2]

const StandardLibrary & Zivid::Detail::EnvironmentInfo::UserToolchain::standardLibrary ( ) const
inline

◆ toString()

std::string Zivid::Detail::EnvironmentInfo::UserToolchain::toString ( ) const

Get the value as string.

Friends And Related Symbol Documentation

◆ DataModel::Detail::Befriend< UserToolchain >

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

◆ operator<<

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

Operator to send the value as string to a stream.

Member Data Documentation

◆ description

const char* Zivid::Detail::EnvironmentInfo::UserToolchain::description
staticconstexpr
Initial value:
{
R"description(Information about the current toolchain)description"
}

The description for this value.

◆ name

const char* Zivid::Detail::EnvironmentInfo::UserToolchain::name { "UserToolchain" }
staticconstexpr

The name of this value.

◆ nodeType

DataModel::NodeType Zivid::Detail::EnvironmentInfo::UserToolchain::nodeType = DataModel::NodeType::group
staticconstexpr

The type of this node.

◆ path

const char* Zivid::Detail::EnvironmentInfo::UserToolchain::path { "UserToolchain" }
staticconstexpr

The full path for this value.


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