ArmNN
 20.05
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< armnn::BackendId >::value, armnn::BackendId > OptionalReferenceSwitch< std::is_reference< armnn::ConstTensor >::value, armnn::ConstTensor > OptionalReferenceSwitch< std::is_reference< armnn::DynamicQuantizationVisitor >::value, armnn::DynamicQuantizationVisitor > OptionalReferenceSwitch< std::is_reference< armnn::profiling::IReportStructure & >::value, armnn::profiling::IReportStructure & > OptionalReferenceSwitch< std::is_reference< armnn::profiling::ProfilingService & >::value, armnn::profiling::ProfilingService & > OptionalReferenceSwitch< std::is_reference< armnnTfLiteParser::ITfLiteParser::TfLiteParserOptions >::value, armnnTfLiteParser::ITfLiteParser::TfLiteParserOptions > OptionalReferenceSwitch< std::is_reference< BackendProfilingContexts >::value, BackendProfilingContexts > OptionalReferenceSwitch< std::is_reference< int32_t >::value, int32_t > OptionalReferenceSwitch< std::is_reference< std::string >::value, std::string > 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

Definition at line 53 of file Optional.hpp.

Referenced by Network::AddConcatLayer(), Network::AddConvolution2dLayer(), Network::AddElementwiseUnaryLayer(), Network::AddTransposeConvolution2dLayer(), BOOST_AUTO_TEST_CASE(), TestLayerVisitor::CheckOptionalConstTensors(), CounterDirectory::Clear(), armnn::GetBiasDataType(), RefLayerSupport::IsConvolution2dSupported(), RefLayerSupport::IsDepthwiseConvolutionSupported(), RefLayerSupport::IsTransposeConvolution2dSupported(), ConnectionAcknowledgedCommandHandler::operator()(), OptionalReferenceSwitch< std::is_reference< int32_t >::value, int32_t >::operator=(), OptionalReferenceSwitch< true, T >::operator=(), Optional< armnnTfLiteParser::ITfLiteParser::TfLiteParserOptions >::operator==(), PeriodicCounterSelectionCommandHandler::PeriodicCounterSelectionCommandHandler(), CounterDirectory::RegisterCounter(), CounterDirectory::RegisterCounterSet(), CounterDirectory::RegisterDevice(), VerifyTimelineEntityBinaryPacketData(), VerifyTimelineEventBinaryPacket(), VerifyTimelineLabelBinaryPacketData(), VerifyTimelineRelationshipBinaryPacketData(), QuantizerVisitor::VisitConvolution2dLayer(), SerializerVisitor::VisitConvolution2dLayer(), QuantizerVisitor::VisitDepthwiseConvolution2dLayer(), SerializerVisitor::VisitDepthwiseConvolution2dLayer(), QuantizerVisitor::VisitFullyConnectedLayer(), QuantizerVisitor::VisitTransposeConvolution2dLayer(), and SerializerVisitor::VisitTransposeConvolution2dLayer().

54  {
55  return m_HasValue;
56  }

◆ 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: