casting operations for DataVector/
More...DataList
.
#include <DVLCast.h>
casting operations for DataVector/
DataList
.
When inheritance is used with DataVector/List
, we need to be able to cast from the pointers actually stored in the container to the T*
pointers which the derived DataVector/List
uses. We want this to use a static_cast
if at all possible, and dynamic_cast
otherwise.
This is handled by this template. The operation
DVLCast<DVL>::cast (p)
will cast the pointer p
to DVL's
T* type. This is done either by static_cast
or dynamic_cast
, depending on the value of DVL::has_virtual
.