IVGCVSW-5365 'Create the TfLite Delegate subdirectory in ArmNN'

* Created delegate sub-directory under armnn
* Created Delegate, ArmnnSubgraph and DelegateOptions classes
* Created cmake files.
* Integrated doctest (under MIT license) as testing framework

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: If725ebd62c40a97c783cdad22bca48709d44338c
diff --git a/delegate/include/DelegateOptions.hpp b/delegate/include/DelegateOptions.hpp
new file mode 100644
index 0000000..0c8173d
--- /dev/null
+++ b/delegate/include/DelegateOptions.hpp
@@ -0,0 +1,35 @@
+//
+// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include <armnn/ArmNN.hpp>
+
+#include <set>
+#include <string>
+#include <vector>
+
+namespace armnnDelegate
+{
+
+class DelegateOptions
+{
+public:
+    DelegateOptions(armnn::Compute computeDevice);
+
+    DelegateOptions(const std::vector<armnn::BackendId>& backends);
+
+    const std::vector<armnn::BackendId>& GetBackends() const { return m_Backends; }
+
+    void SetBackends(const std::vector<armnn::BackendId>& backends) { m_Backends = backends; }
+
+private:
+    /// Which backend to run Delegate on.
+    /// Examples of possible values are: CpuRef, CpuAcc, GpuAcc.
+    /// CpuRef as default.
+    std::vector<armnn::BackendId> m_Backends = { armnn::Compute::CpuRef };
+};
+
+} // namespace armnnDelegate