ArmNN
 22.11
OptionalBase Class Reference

OptionalBase is the common functionality between reference and non-reference optional types. More...

#include <Optional.hpp>

Inheritance diagram for OptionalBase:
OptionalReferenceSwitch< IsReference, T > OptionalReferenceSwitch< true, T > OptionalReferenceSwitch< std::is_reference< arm::pipe::IProfilingService & >::value, arm::pipe::IProfilingService & > OptionalReferenceSwitch< std::is_reference< arm::pipe::ProfilingGuid >::value, arm::pipe::ProfilingGuid > OptionalReferenceSwitch< std::is_reference< armnn::BackendId >::value, armnn::BackendId > OptionalReferenceSwitch< std::is_reference< armnn::DebugCallbackFunction >::value, armnn::DebugCallbackFunction > OptionalReferenceSwitch< std::is_reference< armnn::LogSeverity >::value, armnn::LogSeverity > OptionalReferenceSwitch< std::is_reference< armnn::TensorInfo >::value, armnn::TensorInfo > OptionalReferenceSwitch< std::is_reference< armnnTfLiteParser::ITfLiteParser::TfLiteParserOptions >::value, armnnTfLiteParser::ITfLiteParser::TfLiteParserOptions > OptionalReferenceSwitch< std::is_reference< int32_t >::value, int32_t > OptionalReferenceSwitch< std::is_reference< std::string & >::value, std::string & > OptionalReferenceSwitch< std::is_reference< std::string >::value, std::string > OptionalReferenceSwitch< std::is_reference< std::vector< armnn::MemoryInfo > >::value, std::vector< armnn::MemoryInfo > > OptionalReferenceSwitch< std::is_reference< T >::value, T > OptionalReferenceSwitch< std::is_reference< unsigned int >::value, unsigned int >

Public Member Functions

 OptionalBase () noexcept
 
bool has_value () const noexcept
 
 operator bool () const noexcept
 Conversion to bool, so can be used in if-statements and similar contexts expecting a bool. More...
 

Protected Member Functions

 OptionalBase (bool hasValue) noexcept
 

Protected Attributes

bool m_HasValue
 

Detailed Description

OptionalBase is the common functionality between reference and non-reference optional types.

Definition at line 45 of file Optional.hpp.

Constructor & Destructor Documentation

◆ OptionalBase() [1/2]

OptionalBase ( )
inlinenoexcept

Definition at line 48 of file Optional.hpp.

49  : m_HasValue{false}
50  {
51  }

◆ OptionalBase() [2/2]

OptionalBase ( bool  hasValue)
inlineprotectednoexcept

Definition at line 67 of file Optional.hpp.

68  : m_HasValue{hasValue}
69  {
70  }

Member Function Documentation

◆ has_value()

bool has_value ( ) const
inlinenoexcept

◆ operator bool()

operator bool ( ) const
inlineexplicitnoexcept

Conversion to bool, so can be used in if-statements and similar contexts expecting a bool.

Note this is explicit so that it doesn't get implicitly converted to a bool in unwanted cases, for example "Optional<TypeA> == Optional<TypeB>" should not compile.

Definition at line 61 of file Optional.hpp.

62  {
63  return has_value();
64  }
bool has_value() const noexcept
Definition: Optional.hpp:53

Member Data Documentation

◆ m_HasValue

bool m_HasValue
protected

Definition at line 72 of file Optional.hpp.


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