smartpointerarraysserialize.h
来自「mfc资源大全包含MFC编程各个方面的源码」· C头文件 代码 · 共 49 行
H
49 行
///////////////////////////////////////////////////////////////////
// Header File SmartPointerArraysSerialize.h
///////////////////////////////////////////////////////////////////
//
// 309/1/1997 11:28 Author: Poul A. Costinsky poul@wizsoft.com
// Copyright (C) WizSoft Inc., 1997
///////////////////////////////////////////////////////////////////
#ifndef __CWizSmartPtrArraysSerialize_H
#define __CWizSmartPtrArraysSerialize_H
#include <SerializeVersion.h>
#include <SmartPointersSerialize.h>
///////////////////////////////////////////////////////////////////
template<class ARRAY_TYPE, class TYPE>
void SerializeArray(ARRAY_TYPE& Arr, TYPE* /*null*/, CArchive& ar, int VERSION)
{
SerializeVersion(ar,VERSION, TRUE); // Throws exception if wrong version
long n;
if (ar.IsStoring())
{
n = Arr.GetSize();
ar << n;
for (INDEX i = 0 ; i < n; i++)
StoreSmartPtr(ar, Arr.ElementAt(i));
}
else
{
ar >> n;
Arr.RemoveAll();
Arr.SetSize(n);
for (INDEX i = 0; i < n; i++)
{
LoadSmartPtr(ar, Arr.ElementAt(i), (TYPE*)NULL);
if (Arr.ElementAt(i).IsNull())
{
ASSERT(0);
AfxThrowArchiveException(CArchiveException::badSchema,ar.m_strFileName);
}
}
}
}
///////////////////////////////////////////////////////////////////
#endif // __CWizSmartPtrArraysSerialize_H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?