aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorFinn Williams <Finn.Williams@arm.com>2021-01-26 22:30:06 +0000
committerfinn.williams <finn.williams@arm.com>2021-02-01 10:28:32 +0000
commit85d3671618f0d40b71ebbc80373389140390c2cd (patch)
tree9c8ae5bdfdb871a828069943df4373a812ba959d /include
parent244b5bf11ee077b4c3bddd3786bdb80361fc2833 (diff)
downloadarmnn-85d3671618f0d40b71ebbc80373389140390c2cd.tar.gz
IVGCVSW-5593 Implement Pimpl Idiom for serialization classes
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I01c7bd314219e58f71505dcb787d606dbded914a
Diffstat (limited to 'include')
-rw-r--r--include/armnnDeserializer/IDeserializer.hpp17
-rw-r--r--include/armnnSerializer/ISerializer.hpp12
2 files changed, 17 insertions, 12 deletions
diff --git a/include/armnnDeserializer/IDeserializer.hpp b/include/armnnDeserializer/IDeserializer.hpp
index b2e5d10b69..071e7984b7 100644
--- a/include/armnnDeserializer/IDeserializer.hpp
+++ b/include/armnnDeserializer/IDeserializer.hpp
@@ -32,23 +32,24 @@ public:
static void Destroy(IDeserializer* parser);
/// Create an input network from binary file contents
- virtual armnn::INetworkPtr CreateNetworkFromBinary(const std::vector<uint8_t>& binaryContent) = 0;
+ armnn::INetworkPtr CreateNetworkFromBinary(const std::vector<uint8_t>& binaryContent);
/// Create an input network from a binary input stream
- virtual armnn::INetworkPtr CreateNetworkFromBinary(std::istream& binaryContent) = 0;
+ armnn::INetworkPtr CreateNetworkFromBinary(std::istream& binaryContent);
/// Retrieve binding info (layer id and tensor info) for the network input identified by
/// the given layer name and layers id
- virtual BindingPointInfo GetNetworkInputBindingInfo(unsigned int layerId,
- const std::string& name) const = 0;
+ BindingPointInfo GetNetworkInputBindingInfo(unsigned int layerId, const std::string& name) const;
/// Retrieve binding info (layer id and tensor info) for the network output identified by
/// the given layer name and layers id
- virtual BindingPointInfo GetNetworkOutputBindingInfo(unsigned int layerId,
- const std::string& name) const = 0;
+ BindingPointInfo GetNetworkOutputBindingInfo(unsigned int layerId, const std::string& name) const;
-protected:
- virtual ~IDeserializer() {};
+private:
+ IDeserializer();
+ ~IDeserializer();
+ class DeserializerImpl;
+ std::unique_ptr<DeserializerImpl> pDeserializerImpl;
};
} //namespace armnnDeserializer \ No newline at end of file
diff --git a/include/armnnSerializer/ISerializer.hpp b/include/armnnSerializer/ISerializer.hpp
index 7d91af8afe..5c6b3cc71f 100644
--- a/include/armnnSerializer/ISerializer.hpp
+++ b/include/armnnSerializer/ISerializer.hpp
@@ -23,15 +23,19 @@ public:
/// Serializes the network to ArmNN SerializedGraph.
/// @param [in] inNetwork The network to be serialized.
- virtual void Serialize(const armnn::INetwork& inNetwork) = 0;
+ void Serialize(const armnn::INetwork& inNetwork);
/// Serializes the SerializedGraph to the stream.
/// @param [stream] the stream to save to
/// @return true if graph is Serialized to the Stream, false otherwise
- virtual bool SaveSerializedToStream(std::ostream& stream) = 0;
+ bool SaveSerializedToStream(std::ostream& stream);
-protected:
- virtual ~ISerializer() {}
+private:
+ ISerializer();
+ ~ISerializer();
+
+ class SerializerImpl;
+ std::unique_ptr<SerializerImpl> pSerializerImpl;
};
} //namespace armnnSerializer