Pooyan Dadvand wrote:
> Hi,
>
> First of all thank you
for your kind suggestion. I completely agree
> about suggested methodology
for optimizing. (Indeed this is the
> methodology I use in my work)
However here my concern is the
> performance in normal use of container
and not in seriliaztion and
> optimizing the serialization will be a
secondary objective.
>
> What I need to know is
how to call a MyCostumSerialize method of my
> derive object with an
additional parameter via a pointer to the base
> class:
>
>
> Class VariableData{
>
std::size_t m_Key;
> public:
>
>
template<class TArchiveType>
>
MyCostumSerialize(TArchiveType &rArchive, const unsigned int
>
Version, void* pValue) {}
>
> };
>
>
template<class TDataType>
> class Veriable : public VariableData
{
> public:
>
> template<class
TArchiveType>
> MyCostumSerialize(TArchiveType
&rArchive, const unsigned int
> Version, void* pValue)
>
{
> rArchive &
static_cast<TDataType * >(pVAlue);
>
}
>
> }
>
>
> Let say I don't how to call the
MyCostumSerialize method of
> "Variable" class above when I have a
"VariableData*" pointer in my
> container:
>
>
> std::vector<std::pair<const VariableData*, void*> >
>
>
Just rename MyCostumeSerialize to serialize
Robert Ramey