0.4.1
Loading...
Searching...
No Matches
NAV::Pin::Kind Struct Reference

Kind of the Pin (Input/Output) More...

Public Types

enum  Value : uint8_t {
  None ,
  Output ,
  Input
}
 Kind of the Pin (Input/Output) More...
 

Public Member Functions

 Kind ()=default
 Default Constructor.
 
 Kind (const std::string &kindString)
 Constructor from std::string.
 
constexpr Kind (Value kind)
 Implicit Constructor from Value type.
 
 operator bool ()=delete
 Prevent usage: if(pin)
 
 operator std::string () const
 std::string conversion operator
 
 operator Value () const
 Allow switch(Node::Value(kind)) and comparisons.
 
Kindoperator= (Value v)
 Assignment operator from Value type.
 

Private Attributes

Value value
 Value of the pin kind.
 

Friends

constexpr bool operator!= (const Pin::Kind &lhs, const Pin::Kind &rhs)
 Inequal compares Pin::Kind values.
 
constexpr bool operator!= (const Pin::Kind &lhs, const Pin::Kind::Value &rhs)
 Inequal compares Pin::Kind values.
 
constexpr bool operator!= (const Pin::Kind::Value &lhs, const Pin::Kind &rhs)
 Inequal compares Pin::Kind values.
 
constexpr bool operator== (const Pin::Kind &lhs, const Pin::Kind &rhs)
 Equal compares Pin::Kind values.
 
constexpr bool operator== (const Pin::Kind &lhs, const Pin::Kind::Value &rhs)
 Equal compares Pin::Kind values.
 
constexpr bool operator== (const Pin::Kind::Value &lhs, const Pin::Kind &rhs)
 Equal compares Pin::Kind values.
 

Detailed Description

Kind of the Pin (Input/Output)

Definition at line 164 of file Pin.hpp.

Member Enumeration Documentation

◆ Value

enum NAV::Pin::Kind::Value : uint8_t

Kind of the Pin (Input/Output)

Enumerator
None 

None.

Output 

Output Pin.

Input 

Input Pin.

Definition at line 167 of file Pin.hpp.

Constructor & Destructor Documentation

◆ Kind() [1/3]

NAV::Pin::Kind::Kind ( )
default

Default Constructor.

◆ Kind() [2/3]

NAV::Pin::Kind::Kind ( Value kind)
inlineconstexpr

Implicit Constructor from Value type.

Parameters
[in]kindValue type to construct from

Definition at line 179 of file Pin.hpp.

◆ Kind() [3/3]

NAV::Pin::Kind::Kind ( const std::string & kindString)
inlineexplicit

Constructor from std::string.

Parameters
[in]kindStringString representation of the type

Definition at line 185 of file Pin.hpp.

Member Function Documentation

◆ operator bool()

NAV::Pin::Kind::operator bool ( )
explicitdelete

Prevent usage: if(pin)

◆ operator std::string()

NAV::Pin::Kind::operator std::string ( ) const
inlineexplicit

std::string conversion operator

Returns
A std::string representation of the pin kind

Definition at line 220 of file Pin.hpp.

◆ operator Value()

NAV::Pin::Kind::operator Value ( ) const
inlineexplicit

Allow switch(Node::Value(kind)) and comparisons.

Definition at line 198 of file Pin.hpp.

◆ operator=()

Kind & NAV::Pin::Kind::operator= ( Value v)
inline

Assignment operator from Value type.

Parameters
[in]vValue type to construct from
Returns
The Kind type from the value type

Definition at line 204 of file Pin.hpp.

Friends And Related Symbol Documentation

◆ operator!= [1/3]

bool operator!= ( const Pin::Kind & lhs,
const Pin::Kind & rhs )
friend

Inequal compares Pin::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 785 of file Pin.hpp.

◆ operator!= [2/3]

bool operator!= ( const Pin::Kind & lhs,
const Pin::Kind::Value & rhs )
friend

Inequal compares Pin::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 801 of file Pin.hpp.

◆ operator!= [3/3]

bool operator!= ( const Pin::Kind::Value & lhs,
const Pin::Kind & rhs )
friend

Inequal compares Pin::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 806 of file Pin.hpp.

◆ operator== [1/3]

bool operator== ( const Pin::Kind & lhs,
const Pin::Kind & rhs )
friend

Equal compares Pin::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 780 of file Pin.hpp.

◆ operator== [2/3]

bool operator== ( const Pin::Kind & lhs,
const Pin::Kind::Value & rhs )
friend

Equal compares Pin::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 791 of file Pin.hpp.

◆ operator== [3/3]

bool operator== ( const Pin::Kind::Value & lhs,
const Pin::Kind & rhs )
friend

Equal compares Pin::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 796 of file Pin.hpp.

Field Documentation

◆ value

Value NAV::Pin::Kind::value
private

Value of the pin kind.

Definition at line 235 of file Pin.hpp.


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