diff options
Diffstat (limited to 'src/armnn/LayerVisitorBase.hpp')
-rw-r--r-- | src/armnn/LayerVisitorBase.hpp | 112 |
1 files changed, 61 insertions, 51 deletions
diff --git a/src/armnn/LayerVisitorBase.hpp b/src/armnn/LayerVisitorBase.hpp index 037a5a75ac..3b6a2ff578 100644 --- a/src/armnn/LayerVisitorBase.hpp +++ b/src/armnn/LayerVisitorBase.hpp @@ -10,7 +10,18 @@ namespace armnn { +struct VisitorThrowingPolicy +{ + static void Apply() { throw UnimplementedException(); } +}; + +struct VisitorNoThrowPolicy +{ + static void Apply() {} +}; + // Visitor base class with empty implementations. +template<typename DefaultPolicy> class LayerVisitorBase : public ILayerVisitor { protected: @@ -20,82 +31,82 @@ protected: public: virtual void VisitInputLayer(const IConnectableLayer*, LayerBindingId, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitConvolution2dLayer(const IConnectableLayer*, const Convolution2dDescriptor&, const ConstTensor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitConvolution2dLayer(const IConnectableLayer*, const Convolution2dDescriptor&, const ConstTensor&, const ConstTensor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitDepthwiseConvolution2dLayer(const IConnectableLayer*, const DepthwiseConvolution2dDescriptor&, const ConstTensor& , - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitDepthwiseConvolution2dLayer(const IConnectableLayer*, const DepthwiseConvolution2dDescriptor&, const ConstTensor&, const ConstTensor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitDetectionPostProcessLayer(const IConnectableLayer*, const DetectionPostProcessDescriptor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitFullyConnectedLayer(const IConnectableLayer*, const FullyConnectedDescriptor&, const ConstTensor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitFullyConnectedLayer(const IConnectableLayer*, const FullyConnectedDescriptor&, const ConstTensor&, const ConstTensor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitPermuteLayer(const IConnectableLayer*, const PermuteDescriptor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitBatchToSpaceNdLayer(const IConnectableLayer*, const BatchToSpaceNdDescriptor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitPooling2dLayer(const IConnectableLayer*, const Pooling2dDescriptor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitActivationLayer(const IConnectableLayer*, const ActivationDescriptor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitNormalizationLayer(const IConnectableLayer*, const NormalizationDescriptor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitSoftmaxLayer(const IConnectableLayer*, const SoftmaxDescriptor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitSplitterLayer(const IConnectableLayer*, const ViewsDescriptor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitMergerLayer(const IConnectableLayer*, const OriginsDescriptor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitAdditionLayer(const IConnectableLayer*, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitMultiplicationLayer(const IConnectableLayer*, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitBatchNormalizationLayer(const IConnectableLayer*, const BatchNormalizationDescriptor&, @@ -103,76 +114,75 @@ public: const ConstTensor&, const ConstTensor&, const ConstTensor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitResizeBilinearLayer(const IConnectableLayer*, const ResizeBilinearDescriptor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitL2NormalizationLayer(const IConnectableLayer*, const L2NormalizationDescriptor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitConstantLayer(const IConnectableLayer*, const ConstTensor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitReshapeLayer(const IConnectableLayer*, const ReshapeDescriptor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitSpaceToBatchNdLayer(const IConnectableLayer*, const SpaceToBatchNdDescriptor&, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitFloorLayer(const IConnectableLayer*, - const char*) {} + const char*) { DefaultPolicy::Apply(); } virtual void VisitOutputLayer(const IConnectableLayer*, LayerBindingId id, - const char*) {} - + const char*) { DefaultPolicy::Apply(); } + virtual void VisitLstmLayer(const IConnectableLayer*, const LstmDescriptor&, const LstmInputParams&, - const char*) {} - + const char*) { DefaultPolicy::Apply(); } + virtual void VisitDivisionLayer(const IConnectableLayer*, - const char*) {} - + const char*) { DefaultPolicy::Apply(); } + virtual void VisitSubtractionLayer(const IConnectableLayer*, - const char*) {} - + const char*) { DefaultPolicy::Apply(); } + virtual void VisitMaximumLayer(const IConnectableLayer*, - const char*) {} - + const char*) { DefaultPolicy::Apply(); } + virtual void VisitMeanLayer(const IConnectableLayer*, const MeanDescriptor&, - const char*) {} - + const char*) { DefaultPolicy::Apply(); } + virtual void VisitPadLayer(const IConnectableLayer*, const PadDescriptor&, - const char*) {} - + const char*) { DefaultPolicy::Apply(); } + virtual void VisitStridedSliceLayer(const IConnectableLayer*, const StridedSliceDescriptor&, - const char*) {} - + const char*) { DefaultPolicy::Apply(); } + virtual void VisitMinimumLayer(const IConnectableLayer*, - const char*) {} - + const char*) { DefaultPolicy::Apply(); } + virtual void VisitGreaterLayer(const IConnectableLayer*, - const char*) {} - + const char*) { DefaultPolicy::Apply(); } + virtual void VisitEqualLayer(const IConnectableLayer*, - const char*) {} - + const char*) { DefaultPolicy::Apply(); } + virtual void VisitRsqrtLayer(const IConnectableLayer*, - const char*) {} - + const char*) { DefaultPolicy::Apply(); } + virtual void VisitGatherLayer(const IConnectableLayer*, - const char*) {} - + const char*) { DefaultPolicy::Apply(); } }; } //namespace armnn |