00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __SERIALIZEHELPERS_H__
00018 #define __SERIALIZEHELPERS_H__
00019
00020 #include <vector>
00021
00022 #include "Serialize.h"
00023
00024 namespace oasys {
00025
00026
00027 template<typename _type> void
00028 serialize_basic_vector(oasys::SerializeAction* action,
00029 std::string name,
00030 std::vector<_type>* v)
00031 {
00032 name += ".size";
00033
00034 u_int32_t size;
00035 size = v->size();
00036 action->process(name.c_str(), &size);
00037
00038 if (action->error())
00039 return;
00040
00041 v->resize(size);
00042
00043 for (u_int32_t i=0; i<size; ++i)
00044 {
00045 action->process(name.c_str(), &((*v)[i]));
00046 if (action->error())
00047 return;
00048 }
00049 }
00050
00051 }
00052
00053 #endif