sim: Move paramIn/Out definition to header file
authorGiacomo Travaglini <giacomo.travaglini@arm.com>
Wed, 17 Oct 2018 16:17:48 +0000 (17:17 +0100)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Wed, 14 Nov 2018 10:13:01 +0000 (10:13 +0000)
commit16bf103ad8e2bfbdf200a0ade11cff17dd33e81d
tree7dadfd1876ece7422b5b4738359c60f8c2a2974f
parentf3016e6846980038a50a66055cd2619df6926207
sim: Move paramIn/Out definition to header file

This patch is moving the definitions of paramIn/Out templates to
the header file. In this way we gain:

1) We don't have to do explicit instantiation anymore for user defined
types. This spares us from including data type header files into
serialize.cc

2) We can overload show/parseParam for BitUnions or any other type
that requires special handling when serializing. Just by overloading
the two templates we get all the containers' (list, vector, array..)
serialization for free

2) gtest: With the idea of adding unit tests for Serializable objects,
we can avoid importing serialize.cc and just redefine Serializable
methods in the test source, implementing a Serializable stub

Change-Id: I45a9bb87d5ef886a3668fd477005cd105f612e36
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/13635
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
src/sim/serialize.cc
src/sim/serialize.hh