message: [Ser] Serialize/unserialize arrays capabilities.
diff: #define PIVX_SERIALIZE_H
  #include <algorithm>
  +#include <array>
  #include <assert.h>
  #include <ios>
  #include <limits>
  @@ -550,6 +551,43 @@ template<typename Stream, typename T, typename A> void Unserialize_impl(Stream&
  template<typename Stream, typename T, typename A, typename V> void Unserialize_impl(Stream& is, std::vector<T, A>& v, const V&);
  template<typename Stream, typename T, typename A> inline void Unserialize(Stream& is, std::vector<T, A>& v);
  +/**
  + * array
  + */
  +template<typename T, std::size_t N> unsigned int GetSerializeSize(const std::array<T, N> &item, int nType, int nVersion);
  +template<typename Stream, typename T, std::size_t N> void Serialize(Stream& os, const std::array<T, N>& item, int nType, int nVersion);
  +template<typename Stream, typename T, std::size_t N> void Unserialize(Stream& is, std::array<T, N>& item, int nType, int nVersion);
  +
  +/**
  + * array
  + */
  +template<typename T, std::size_t N>
  +unsigned int GetSerializeSize(const std::array<T, N> &item, int nType, int nVersion)
  +{
  + unsigned int size = 0;
  + for (size_t i = 0; i < N; i++) {
  + size += GetSerializeSize(item[0], nType, nVersion);
  + }
  + return size;
  +}
  +
  +template<typename Stream, typename T, std::size_t N>
  +void Serialize(Stream& os, const std::array<T, N>& item, int nType, int nVersion)
  +{
  + for (size_t i = 0; i < N; i++) {
  + Serialize(os, item[i], nType, nVersion);
  + }
  +}
  +
  +template<typename Stream, typename T, std::size_t N>
  +void Unserialize(Stream& is, std::array<T, N>& item, int nType, int nVersion)
  +{
  + for (size_t i = 0; i < N; i++) {
  + Unserialize(is, item[i], nType, nVersion);
  + }
  +}
  +
  +
  /**
  * pair
  */
  