serialize.hh (11075:f959b7f89d4d) serialize.hh (11076:463a4b0f0dda)
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>
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 <set>
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> &param);
121
122template <class T>
123void arrayParamOut(CheckpointOut &cp, const std::string &name,
124 const std::list<T> &param);
125
126template <class T>
59#include <vector>
60
61#include "base/bitunion.hh"
62#include "base/types.hh"
63
64class IniFile;
65class Serializable;
66class CheckpointIn;

--- 53 unchanged lines hidden (view full) ---

120void arrayParamOut(CheckpointOut &cp, const std::string &name,
121 const std::vector<T> &param);
122
123template <class T>
124void arrayParamOut(CheckpointOut &cp, const std::string &name,
125 const std::list<T> &param);
126
127template <class T>
128void arrayParamOut(CheckpointOut &cp, const std::string &name,
129 const std::set<T> &param);
130
131template <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> &param);
133
134template <class T>
135void arrayParamIn(CheckpointIn &cp, const std::string &name,
136 std::list<T> &param);
137
132void arrayParamIn(CheckpointIn &cp, const std::string &name,
133 T *param, unsigned size);
134
135template <class T>
136void arrayParamIn(CheckpointIn &cp, const std::string &name,
137 std::vector<T> &param);
138
139template <class T>
140void arrayParamIn(CheckpointIn &cp, const std::string &name,
141 std::list<T> &param);
142
143template <class T>
144void arrayParamIn(CheckpointIn &cp, const std::string &name,
145 std::set<T> &param);
146
138void
139objParamIn(CheckpointIn &cp, const std::string &name, SimObject * &param);
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 ---
147void
148objParamIn(CheckpointIn &cp, const std::string &name, SimObject * &param);
149
150//
151// These macros are streamlined to use in serialize/unserialize
152// functions. It's assumed that serialize() has a parameter 'os' for
153// the ostream, and unserialize() has parameters 'cp' and 'section'.
154#define SERIALIZE_SCALAR(scalar) paramOut(cp, #scalar, scalar)

--- 272 unchanged lines hidden ---