blob: c206dbdaf3ca3984288cf16e52a9250a8eb0df85 [file] [log] [blame]
arovir014424b0a2018-10-04 10:46:04 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5#pragma once
6
David Beck6b779f02018-10-09 17:20:21 +01007#include <backends/IBackendInternal.hpp>
arovir014424b0a2018-10-04 10:46:04 +01008#include "RefLayerSupport.hpp"
9
10namespace armnn
11{
12
13class RefBackend : public IBackendInternal
14{
15public:
16 RefBackend() = default;
17 ~RefBackend() = default;
18
David Beck3cc9a622018-10-12 10:38:31 +010019 static const BackendId& GetIdStatic();
20 const BackendId& GetId() const override { return GetIdStatic(); }
arovir014424b0a2018-10-04 10:46:04 +010021
22 const ILayerSupport& GetLayerSupport() const override;
23
24 std::unique_ptr<IWorkloadFactory> CreateWorkloadFactory() const override;
25
David Beck6b779f02018-10-09 17:20:21 +010026 static void Destroy(IBackend* backend);
arovir014424b0a2018-10-04 10:46:04 +010027
David Beck6b779f02018-10-09 17:20:21 +010028private:
arovir014424b0a2018-10-04 10:46:04 +010029 RefLayerSupport m_LayerSupport;
30};
31
32} // namespace armnn