Functions


Functions

template<class T>
check_and_cast (cPolymorphic *p)


Function Documentation

template<class T>
T check_and_cast cPolymorphic p  ) 
 

Cast an object pointer to the given C++ type and throw exception if fails.

The method calls dynamic_cast<T>(p) where T is a type you supplied; if the result is NULL (which indicates incompatible types), an exception is thrown.

In the following example, MyPacket is a subclass of cMessage, and we want to assert that the message received is actually a MyPacket. If not, the simulation stops with an error message as the result of the exception.

   cMessage *msg = receive();
   MyPacket *pkt = check_and_cast<MyPacket *>(msg);
 


Generated on Sat Oct 21 17:47:57 2006 for OMNeT++/OMNEST Simulation Library by  doxygen 1.4.6