Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / src / inference_engine / cpp_interfaces / interface / ie_imemory_state_internal.hpp
1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4
5 #pragma once
6 #include <string>
7 #include <memory>
8
9 namespace InferenceEngine {
10 /**
11  * @brief minimal interface for memory state implementation
12  */
13 class IMemoryStateInternal {
14  public:
15     using Ptr = std::shared_ptr<IMemoryStateInternal>;
16
17     virtual ~IMemoryStateInternal() = default;
18     virtual std::string GetName() const  = 0;
19     virtual void Reset() = 0;
20     virtual void SetState(Blob::Ptr newState) = 0;
21     virtual Blob::CPtr GetLastState() const = 0;
22 };
23
24 }  // namespace InferenceEngine