aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h
diff options
context:
space:
mode:
Diffstat (limited to 'arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h')
-rw-r--r--arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h25
1 files changed, 12 insertions, 13 deletions
diff --git a/arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h b/arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h
index 0afc9d3f38..6e9e2161b9 100644
--- a/arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h
+++ b/arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -33,8 +33,6 @@
namespace arm_compute
{
class CLCompileContext;
-class CLDirectConvolutionLayerKernel;
-class CLFillBorderKernel;
class ICLTensor;
class ITensorInfo;
@@ -43,14 +41,18 @@ class ITensorInfo;
class CLDirectConvolutionLayer : public IFunction
{
public:
- /** Default constructor */
+ /** Constructor */
CLDirectConvolutionLayer();
- /** Prevent instances of this class from being copied */
+ /** Destructor */
+ ~CLDirectConvolutionLayer();
+ /** Prevent instances of this class from being copied (As this class contains pointers) */
CLDirectConvolutionLayer(const CLDirectConvolutionLayer &) = delete;
- /** Prevent instances of this class from being copied */
+ /** Default move constructor */
+ CLDirectConvolutionLayer(CLDirectConvolutionLayer &&);
+ /** Prevent instances of this class from being copied (As this class contains pointers) */
CLDirectConvolutionLayer &operator=(const CLDirectConvolutionLayer &) = delete;
- /** Default destructor */
- ~CLDirectConvolutionLayer();
+ /** Default move assignment operator */
+ CLDirectConvolutionLayer &operator=(CLDirectConvolutionLayer &&);
/** Set the input and output tensors.
*
* @param[in] input Source tensor. 3 lower dimensions represent a single input [width, height, IFM],
@@ -103,11 +105,8 @@ public:
void run() override;
private:
- std::unique_ptr<CLDirectConvolutionLayerKernel> _direct_conv_kernel;
- std::unique_ptr<CLFillBorderKernel> _input_border_handler;
- CLActivationLayer _activationlayer_function;
-
- bool _is_activationlayer_enabled;
+ struct Impl;
+ std::unique_ptr<Impl> _impl;
};
}
#endif /* ARM_COMPUTE_CLDIRECTCONVOLUTIONLAYER_H */