1/*
2 * Copyright (c) 2015 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software
--- 41 unchanged lines hidden (view full) ---
50#ifndef __SERIALIZE_HH__
51#define __SERIALIZE_HH__
52
53
54#include <iostream>
55#include <list>
56#include <map>
57#include <stack>
58#include <vector>
59
60#include "base/bitunion.hh"
61#include "base/types.hh"
62
63class IniFile;
64class Serializable;
65class CheckpointIn;
--- 53 unchanged lines hidden (view full) ---
119void arrayParamOut(CheckpointOut &cp, const std::string &name,
120 const std::vector<T> ¶m);
121
122template <class T>
123void arrayParamOut(CheckpointOut &cp, const std::string &name,
124 const std::list<T> ¶m);
125
126template <class T>
127void arrayParamIn(CheckpointIn &cp, const std::string &name,
128 T *param, unsigned size);
129
130template <class T>
131void arrayParamIn(CheckpointIn &cp, const std::string &name,
132 std::vector<T> ¶m);
133
134template <class T>
135void arrayParamIn(CheckpointIn &cp, const std::string &name,
136 std::list<T> ¶m);
137
138void
139objParamIn(CheckpointIn &cp, const std::string &name, SimObject * ¶m);
140
141//
142// These macros are streamlined to use in serialize/unserialize
143// functions. It's assumed that serialize() has a parameter 'os' for
144// the ostream, and unserialize() has parameters 'cp' and 'section'.
145#define SERIALIZE_SCALAR(scalar) paramOut(cp, #scalar, scalar)
--- 272 unchanged lines hidden ---
2 * Copyright (c) 2015 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software
--- 41 unchanged lines hidden (view full) ---
50#ifndef __SERIALIZE_HH__
51#define __SERIALIZE_HH__
52
53
54#include <iostream>
55#include <list>
56#include <map>
57#include <stack>
58#include <vector>
59
60#include "base/bitunion.hh"
61#include "base/types.hh"
62
63class IniFile;
64class Serializable;
65class CheckpointIn;
--- 53 unchanged lines hidden (view full) ---
119void arrayParamOut(CheckpointOut &cp, const std::string &name,
120 const std::vector<T> ¶m);
121
122template <class T>
123void arrayParamOut(CheckpointOut &cp, const std::string &name,
124 const std::list<T> ¶m);
125
126template <class T>
127void arrayParamIn(CheckpointIn &cp, const std::string &name,
128 T *param, unsigned size);
129
130template <class T>
131void arrayParamIn(CheckpointIn &cp, const std::string &name,
132 std::vector<T> ¶m);
133
134template <class T>
135void arrayParamIn(CheckpointIn &cp, const std::string &name,
136 std::list<T> ¶m);
137
138void
139objParamIn(CheckpointIn &cp, const std::string &name, SimObject * ¶m);
140
141//
142// These macros are streamlined to use in serialize/unserialize
143// functions. It's assumed that serialize() has a parameter 'os' for
144// the ostream, and unserialize() has parameters 'cp' and 'section'.
145#define SERIALIZE_SCALAR(scalar) paramOut(cp, #scalar, scalar)
--- 272 unchanged lines hidden ---