naja, vielleicht möchte ja jemand so eine dll programmieren...
Code:
template <class PT, class DT> PT _makeContainer(PT* v)
{
return (*v = (PT)(new DT));
}
template <class PT, class DT> _delContainer(PT* v)
{
v = dynamic_cast<DT*>(*v)) ? 0 : v;
}
template <class PT, class DT> DT _getValue(PT* v)
{
return (DT _v = dynamic_cast<DT*>(*v)) ? _v : DT(0);
}
template <class PT, class DT> DT _setValue(PT* v, DT w)
{
if (DT* _v = dynamic_cast<DT*>(*v)) {
*_v = w;
}
}
// ...
DLLFUNC var getDoubleContainer(void)
{
return _makeContainer<var, double>(new int);
}
// ...