Apply clang-format to source tree
[alexxy/gromacs.git] / src / gromacs / utility / keyvaluetreeserializer.cpp
index 2462857a2cf13e53ceba48bb2046cc6de61406c0..14510239cf3de258e36fcfbe4fb72ef77567f775 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2016,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2016,2017,2018,2019, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -49,58 +49,58 @@ namespace
 
 class ValueSerializer
 {
-    public:
-        static void initSerializers();
+public:
+    static void initSerializers();
 
-        static void serialize(const KeyValueTreeValue &value, ISerializer *serializer);
-        static KeyValueTreeValue deserialize(ISerializer *serializer);
+    static void              serialize(const KeyValueTreeValue& value, ISerializer* serializer);
+    static KeyValueTreeValue deserialize(ISerializer* serializer);
 
-    private:
-        ValueSerializer() = delete;
+private:
+    ValueSerializer() = delete;
 
-        typedef void (*SerializerFunction)(const KeyValueTreeValue &value, ISerializer *serializer);
-        typedef void (*DeserializerFunction)(KeyValueTreeValueBuilder *builder, ISerializer *serializer);
+    typedef void (*SerializerFunction)(const KeyValueTreeValue& value, ISerializer* serializer);
+    typedef void (*DeserializerFunction)(KeyValueTreeValueBuilder* builder, ISerializer* serializer);
 
-        struct Serializer
-        {
-            unsigned char         typeTag;
-            SerializerFunction    serialize;
-            DeserializerFunction  deserialize;
-        };
+    struct Serializer
+    {
+        unsigned char        typeTag;
+        SerializerFunction   serialize;
+        DeserializerFunction deserialize;
+    };
 
-        static Mutex                                         s_initMutex;
-        static std::map<std::type_index, Serializer>         s_serializers;
-        static std::map<unsigned char, DeserializerFunction> s_deserializers;
+    static Mutex                                         s_initMutex;
+    static std::map<std::type_index, Serializer>         s_serializers;
+    static std::map<unsigned char, DeserializerFunction> s_deserializers;
 };
 
 Mutex                                                          ValueSerializer::s_initMutex;
 std::map<std::type_index, ValueSerializer::Serializer>         ValueSerializer::s_serializers;
 std::map<unsigned char, ValueSerializer::DeserializerFunction> ValueSerializer::s_deserializers;
 
-template <typename T>
+template<typename T>
 struct SerializationTraits
 {
 };
 
-template <>
+template<>
 struct SerializationTraits<KeyValueTreeObject>
 {
-    static void serialize(const KeyValueTreeObject &value, ISerializer *serializer)
+    static void serialize(const KeyValueTreeObject& value, ISerializer* serializer)
     {
-        int         count = value.properties().size();
+        int count = value.properties().size();
         serializer->doInt(&count);
-        for (const auto &prop : value.properties())
+        for (const autoprop : value.properties())
         {
-            serializer->doString(const_cast<std::string *>(&prop.key()));
+            serializer->doString(const_cast<std::string*>(&prop.key()));
             ValueSerializer::serialize(prop.value(), serializer);
         }
     }
-    static void deserialize(KeyValueTreeValueBuilder *value, ISerializer *serializer)
+    static void deserialize(KeyValueTreeValueBuilder* value, ISerializer* serializer)
     {
         KeyValueTreeObjectBuilder builder(value->createObject());
         deserializeObject(&builder, serializer);
     }
-    static void deserializeObject(KeyValueTreeObjectBuilder *builder, ISerializer *serializer)
+    static void deserializeObject(KeyValueTreeObjectBuilder* builder, ISerializer* serializer)
     {
         int         count;
         std::string key;
@@ -113,19 +113,19 @@ struct SerializationTraits<KeyValueTreeObject>
     }
 };
 
-template <>
+template<>
 struct SerializationTraits<KeyValueTreeArray>
 {
-    static void serialize(const KeyValueTreeArray &array, ISerializer *serializer)
+    static void serialize(const KeyValueTreeArray& array, ISerializer* serializer)
     {
-        int         count = array.values().size();
+        int count = array.values().size();
         serializer->doInt(&count);
-        for (const auto &value : array.values())
+        for (const autovalue : array.values())
         {
             ValueSerializer::serialize(value, serializer);
         }
     }
-    static void deserialize(KeyValueTreeValueBuilder *value, ISerializer *serializer)
+    static void deserialize(KeyValueTreeValueBuilder* value, ISerializer* serializer)
     {
         KeyValueTreeArrayBuilder builder(value->createArray());
         int                      count;
@@ -137,14 +137,14 @@ struct SerializationTraits<KeyValueTreeArray>
     }
 };
 
-template <>
+template<>
 struct SerializationTraits<std::string>
 {
-    static void serialize(const std::string &value, ISerializer *serializer)
+    static void serialize(const std::string& value, ISerializer* serializer)
     {
-        serializer->doString(const_cast<std::string *>(&value));
+        serializer->doString(const_cast<std::string*>(&value));
     }
-    static void deserialize(KeyValueTreeValueBuilder *builder, ISerializer *serializer)
+    static void deserialize(KeyValueTreeValueBuilder* builder, ISerializer* serializer)
     {
         std::string value;
         serializer->doString(&value);
@@ -152,14 +152,11 @@ struct SerializationTraits<std::string>
     }
 };
 
-template <>
+template<>
 struct SerializationTraits<bool>
 {
-    static void serialize(bool value, ISerializer *serializer)
-    {
-        serializer->doBool(&value);
-    }
-    static void deserialize(KeyValueTreeValueBuilder *builder, ISerializer *serializer)
+    static void serialize(bool value, ISerializer* serializer) { serializer->doBool(&value); }
+    static void deserialize(KeyValueTreeValueBuilder* builder, ISerializer* serializer)
     {
         bool value;
         serializer->doBool(&value);
@@ -167,14 +164,11 @@ struct SerializationTraits<bool>
     }
 };
 
-template <>
+template<>
 struct SerializationTraits<int>
 {
-    static void serialize(int value, ISerializer *serializer)
-    {
-        serializer->doInt(&value);
-    }
-    static void deserialize(KeyValueTreeValueBuilder *builder, ISerializer *serializer)
+    static void serialize(int value, ISerializer* serializer) { serializer->doInt(&value); }
+    static void deserialize(KeyValueTreeValueBuilder* builder, ISerializer* serializer)
     {
         int value;
         serializer->doInt(&value);
@@ -182,14 +176,11 @@ struct SerializationTraits<int>
     }
 };
 
-template <>
+template<>
 struct SerializationTraits<int64_t>
 {
-    static void serialize(int64_t value, ISerializer *serializer)
-    {
-        serializer->doInt64(&value);
-    }
-    static void deserialize(KeyValueTreeValueBuilder *builder, ISerializer *serializer)
+    static void serialize(int64_t value, ISerializer* serializer) { serializer->doInt64(&value); }
+    static void deserialize(KeyValueTreeValueBuilder* builder, ISerializer* serializer)
     {
         int64_t value;
         serializer->doInt64(&value);
@@ -197,14 +188,11 @@ struct SerializationTraits<int64_t>
     }
 };
 
-template <>
+template<>
 struct SerializationTraits<float>
 {
-    static void serialize(float value, ISerializer *serializer)
-    {
-        serializer->doFloat(&value);
-    }
-    static void deserialize(KeyValueTreeValueBuilder *builder, ISerializer *serializer)
+    static void serialize(float value, ISerializer* serializer) { serializer->doFloat(&value); }
+    static void deserialize(KeyValueTreeValueBuilder* builder, ISerializer* serializer)
     {
         float value;
         serializer->doFloat(&value);
@@ -212,14 +200,11 @@ struct SerializationTraits<float>
     }
 };
 
-template <>
+template<>
 struct SerializationTraits<double>
 {
-    static void serialize(double value, ISerializer *serializer)
-    {
-        serializer->doDouble(&value);
-    }
-    static void deserialize(KeyValueTreeValueBuilder *builder, ISerializer *serializer)
+    static void serialize(double value, ISerializer* serializer) { serializer->doDouble(&value); }
+    static void deserialize(KeyValueTreeValueBuilder* builder, ISerializer* serializer)
     {
         double value;
         serializer->doDouble(&value);
@@ -228,15 +213,18 @@ struct SerializationTraits<double>
 };
 
 //! Helper function for serializing values of a certain type.
-template <typename T>
-void serializeValueType(const KeyValueTreeValue &value, ISerializer *serializer)
+template<typename T>
+void serializeValueType(const KeyValueTreeValue& value, ISerializer* serializer)
 {
     SerializationTraits<T>::serialize(value.cast<T>(), serializer);
 }
 
-#define SERIALIZER(tag, type) \
-    { std::type_index(typeid(type)), \
-      { tag, &serializeValueType<type>, &SerializationTraits<type>::deserialize } \
+#define SERIALIZER(tag, type)                                                       \
+    {                                                                               \
+        std::type_index(typeid(type)),                                              \
+        {                                                                           \
+            tag, &serializeValueType<type>, &SerializationTraits<type>::deserialize \
+        }                                                                           \
     }
 
 // static
@@ -257,49 +245,45 @@ void ValueSerializer::initSerializers()
         SERIALIZER('f', float),
         SERIALIZER('d', double),
     };
-    for (const auto &item : s_serializers)
+    for (const autoitem : s_serializers)
     {
         s_deserializers[item.second.typeTag] = item.second.deserialize;
     }
 }
 
-void ValueSerializer::serialize(const KeyValueTreeValue &value, ISerializer *serializer)
+void ValueSerializer::serialize(const KeyValueTreeValue& value, ISerializer* serializer)
 {
     auto iter = s_serializers.find(value.type());
-    GMX_RELEASE_ASSERT(iter != s_serializers.end(),
-                       "Unknown value type for serializization");
+    GMX_RELEASE_ASSERT(iter != s_serializers.end(), "Unknown value type for serializization");
     unsigned char typeTag = iter->second.typeTag;
     serializer->doUChar(&typeTag);
     iter->second.serialize(value, serializer);
 }
 
-KeyValueTreeValue ValueSerializer::deserialize(ISerializer *serializer)
+KeyValueTreeValue ValueSerializer::deserialize(ISerializerserializer)
 {
     unsigned char typeTag;
     serializer->doUChar(&typeTag);
-    auto          iter = s_deserializers.find(typeTag);
-    GMX_RELEASE_ASSERT(iter != s_deserializers.end(),
-                       "Unknown type tag for deserializization");
+    auto iter = s_deserializers.find(typeTag);
+    GMX_RELEASE_ASSERT(iter != s_deserializers.end(), "Unknown type tag for deserializization");
     KeyValueTreeValueBuilder builder;
     iter->second(&builder, serializer);
     return builder.build();
 }
 
-}   // namespace
+} // namespace
 
 //! \cond libapi
-void serializeKeyValueTree(const KeyValueTreeObject &root, ISerializer *serializer)
+void serializeKeyValueTree(const KeyValueTreeObject& root, ISerializer* serializer)
 {
-    GMX_RELEASE_ASSERT(!serializer->reading(),
-                       "Incorrect serializer direction");
+    GMX_RELEASE_ASSERT(!serializer->reading(), "Incorrect serializer direction");
     ValueSerializer::initSerializers();
     SerializationTraits<KeyValueTreeObject>::serialize(root, serializer);
 }
 
-KeyValueTreeObject deserializeKeyValueTree(ISerializer *serializer)
+KeyValueTreeObject deserializeKeyValueTree(ISerializerserializer)
 {
-    GMX_RELEASE_ASSERT(serializer->reading(),
-                       "Incorrect serializer direction");
+    GMX_RELEASE_ASSERT(serializer->reading(), "Incorrect serializer direction");
     ValueSerializer::initSerializers();
     KeyValueTreeBuilder       builder;
     KeyValueTreeObjectBuilder obj(builder.rootObject());