Move serialization template functions

Move serialization template functions from elog_serialize.hpp to
elog.serialize.cpp, since they are called only within the cpp.

Change-Id: I8df216e1d4a745d1386fc310fc5d4d9535a8b7c3
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
diff --git a/elog_serialize.cpp b/elog_serialize.cpp
index 0468e11..72dc295 100644
--- a/elog_serialize.cpp
+++ b/elog_serialize.cpp
@@ -10,6 +10,50 @@
 namespace logging
 {
 
+/** @brief Function required by Cereal to perform serialization.
+ *  @tparam Archive - Cereal archive type (binary in our case).
+ *  @param[in] a - reference to Cereal archive.
+ *  @param[in] e - const reference to error entry.
+ */
+template<class Archive>
+void save(Archive& a, const Entry& e)
+{
+    a(e.id(), e.severity(), e.timestamp(),
+      e.message(), e.additionalData(), e.associations(), e.resolved());
+}
+
+/** @brief Function required by Cereal to perform deserialization.
+ *  @tparam Archive - Cereal archive type (binary in our case).
+ *  @param[in] a - reference to Cereal archive.
+ *  @param[in] e - reference to error entry.
+ */
+template<class Archive>
+void load(Archive& a, Entry& e)
+{
+    using namespace
+        sdbusplus::xyz::openbmc_project::Logging::server;
+
+    uint32_t id{};
+    Entry::Level severity{};
+    uint64_t timestamp{};
+    std::string message{};
+    std::vector<std::string> additionalData{};
+    bool resolved{};
+    AssociationList associations{};
+
+    a(id, severity, timestamp, message,
+      additionalData, associations, resolved);
+
+    e.id(id);
+    e.severity(severity);
+    e.timestamp(timestamp);
+    e.message(message);
+    e.additionalData(additionalData);
+    e.sdbusplus::xyz::openbmc_project::
+        Logging::server::Entry::resolved(resolved);
+    e.associations(associations);
+}
+
 fs::path serialize(const Entry& e, const fs::path& dir)
 {
     auto path = dir / std::to_string(e.id());
diff --git a/elog_serialize.hpp b/elog_serialize.hpp
index d1bcbfb..f7f3bd9 100644
--- a/elog_serialize.hpp
+++ b/elog_serialize.hpp
@@ -13,50 +13,6 @@
 
 namespace fs = std::experimental::filesystem;
 
-/** @brief Function required by Cereal to perform serialization.
- *  @tparam Archive - Cereal archive type (binary in our case).
- *  @param[in] a - reference to Cereal archive.
- *  @param[in] e - const reference to error entry.
- */
-template<class Archive>
-void save(Archive& a, const Entry& e)
-{
-    a(e.id(), e.severity(), e.timestamp(),
-      e.message(), e.additionalData(), e.associations(), e.resolved());
-}
-
-/** @brief Function required by Cereal to perform deserialization.
- *  @tparam Archive - Cereal archive type (binary in our case).
- *  @param[in] a - reference to Cereal archive.
- *  @param[in] e - reference to error entry.
- */
-template<class Archive>
-void load(Archive& a, Entry& e)
-{
-    using namespace
-        sdbusplus::xyz::openbmc_project::Logging::server;
-
-    uint32_t id{};
-    Entry::Level severity{};
-    uint64_t timestamp{};
-    std::string message{};
-    std::vector<std::string> additionalData{};
-    bool resolved{};
-    AssociationList associations{};
-
-    a(id, severity, timestamp, message,
-      additionalData, associations, resolved);
-
-    e.id(id);
-    e.severity(severity);
-    e.timestamp(timestamp);
-    e.message(message);
-    e.additionalData(additionalData);
-    e.sdbusplus::xyz::openbmc_project::
-        Logging::server::Entry::resolved(resolved);
-    e.associations(associations);
-}
-
 /** @brief Serialize and persist error d-bus object
  *  @param[in] a - const reference to error entry.
  *  @param[in] dir - pathname of directory where the serialized error will