Fix MemoryOptimizerStrategyLibrary search

Signed-off-by: Finn Williams <finn.williams@arm.com>
Change-Id: I4ca8d9196abd0e116d420a36c780e39edbca0eb3
diff --git a/src/backends/backendsCommon/memoryOptimizerStrategyLibrary/MemoryOptimizerStrategyFactory.hpp b/src/backends/backendsCommon/memoryOptimizerStrategyLibrary/MemoryOptimizerStrategyFactory.hpp
index aff0995..7b04f44 100644
--- a/src/backends/backendsCommon/memoryOptimizerStrategyLibrary/MemoryOptimizerStrategyFactory.hpp
+++ b/src/backends/backendsCommon/memoryOptimizerStrategyLibrary/MemoryOptimizerStrategyFactory.hpp
@@ -12,17 +12,19 @@
 namespace armnn
 {
 
-class MemoryOptimizerStrategyFactory
+struct IMemoryOptimizerStrategyFactory
 {
-public:
-    MemoryOptimizerStrategyFactory() {}
+    virtual ~IMemoryOptimizerStrategyFactory() = default;
+    virtual std::unique_ptr<IMemoryOptimizerStrategy> CreateMemoryOptimizerStrategy() = 0;
+};
 
-    template <typename T>
-    std::unique_ptr<IMemoryOptimizerStrategy> CreateMemoryOptimizerStrategy()
+template <typename T>
+struct StrategyFactory : public IMemoryOptimizerStrategyFactory
+{
+    std::unique_ptr<IMemoryOptimizerStrategy> CreateMemoryOptimizerStrategy() override
     {
         return std::make_unique<T>();
     }
-
 };
 
 } // namespace armnn
\ No newline at end of file