// member extended type info records - NOT their
// addresses. This is necessary in order for the
// void cast operations to work across dll and exe
-// module boundries.
+// module boundaries.
bool void_caster::operator<(const void_caster & rhs) const {
// include short cut to save time and eliminate
// problems when when base class aren't virtual
vbc_downcast(
void const * const t
) const;
- virtual void const *
- upcast(void const * const t) const{
+ void const *
+ upcast(void const * const t) const BOOST_OVERRIDE {
if(m_includes_virtual_base)
return vbc_upcast(t);
return static_cast<const char *> ( t ) - m_difference;
}
- virtual void const *
- downcast(void const * const t) const{
+ void const *
+ downcast(void const * const t) const BOOST_OVERRIDE {
if(m_includes_virtual_base)
return vbc_downcast(t);
return static_cast<const char *> ( t ) + m_difference;
virtual bool is_shortcut() const {
return true;
}
- virtual bool has_virtual_base() const {
+ bool has_virtual_base() const BOOST_OVERRIDE {
return m_includes_virtual_base;
}
public:
{
recursive_register(includes_virtual_base);
}
- virtual ~void_caster_shortcut(){
+ ~void_caster_shortcut() BOOST_OVERRIDE {
recursive_unregister();
}
};
// just used as a search key
class void_caster_argument : public void_caster
{
- virtual void const *
- upcast(void const * const /*t*/) const {
+ void const *
+ upcast(void const * const /*t*/) const BOOST_OVERRIDE {
BOOST_ASSERT(false);
return NULL;
}
- virtual void const *
- downcast( void const * const /*t*/) const {
+ void const *
+ downcast( void const * const /*t*/) const BOOST_OVERRIDE {
BOOST_ASSERT(false);
return NULL;
}
- virtual bool has_virtual_base() const {
+ bool has_virtual_base() const BOOST_OVERRIDE {
BOOST_ASSERT(false);
return false;
}
) :
void_caster(derived, base)
{}
- virtual ~void_caster_argument(){};
+ ~void_caster_argument() BOOST_OVERRIDE {}
};
#ifdef BOOST_MSVC