Data: add a copy constructor and assignment operator to clone the signature pointer.
diff --git a/include/ndn-cpp/data.hpp b/include/ndn-cpp/data.hpp
index 0b40c74..d9b8fc1 100644
--- a/include/ndn-cpp/data.hpp
+++ b/include/ndn-cpp/data.hpp
@@ -137,9 +137,22 @@
Data(const Name& name);
/**
+ * The copy constructor: Create a deep copy of the given data object, including a clone of the signature object.
+ * @param data The data object to copy.
+ */
+ Data(const Data& data);
+
+ /**
* The virtual destructor.
*/
- virtual ~Data() {}
+ virtual ~Data();
+
+ /**
+ * The assignment operator: Copy fields and make a clone of the signature.
+ * @param data The other object to copy from.
+ * @return A reference to this object.
+ */
+ Data& operator=(const Data& data);
/**
* Encode this Data for a particular wire format. Also, set the wireEncoding field to the encoded result.