[Click] dynamic_cast ?

Harald Schiöberg harald at net.t-labs.tu-berlin.de
Thu Nov 5 09:47:27 EST 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Michael Neufeld wrote:
> Last time I looked Linux kernel mode Click disables RTTI (as well as
> exceptions), so I wouldn't expect dynamic_cast to work in the Linux kernel.
> 
> -Mike

Thanks, that's what I almost anticipated. Is there any other solution
that does the same thing in click, some method of Element that one can
use? Basically I need to find out at initialization time whether my
neighbor elements are derived from a special subclass of element.

The "dirty" way would be to implement a "i_am_foo" handler and check for
it's existence....

	harald

> 
> Harald Schiöberg wrote:
> does anyone know whether this is safe to do in click ?
> 
> class Foo : public Element { ... }
> class FooBar : public Foo { ... }
> 
> Foo::some_method() {
>     Element downstream;
>     downstream  = output[0].element();
> 
>     if ( dynamic_cast<Foo>(e) ) {
>     ... e is a foo ...
>     } else {
>     .... e is not a foo ...
>     }
> }
> 
> I currently have no linuxkernel installation, so I can't check for this
> case, but I see potential breakage, since this requires a bit of
> compiler magic.
> 
>>
_______________________________________________
click mailing list
click at amsterdam.lcs.mit.edu
https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>

- --
Harald Schiöberg
Technische Universität Berlin | T-Laboratories | FG INET
www: http://www.net.t-labs.tu-berlin.de
Phone: +49-(0)30-8353-58476 | Fax: +49-(0)391 534 783 47
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFK8uV/y8wrZ9OvkU0RAlQKAJ455Y1L/Dpjg6rJGsMdQjBNU/H+QQCgy68X
KNaJEw1BRaQ1y27PPzaaR5o=
=pIrY
-----END PGP SIGNATURE-----



More information about the click mailing list