00001 // AUTOMATICALLY GENERATED -- DO NOT EDIT! -*- c++ -*- 00002 00003 #ifndef downcast_h 00004 #define downcast_h 00005 00006 #include <ptree-core.h> 00007 00008 // 00009 // INTERFACE definition follows 00010 // 00011 00012 00013 template <typename Child_ptr, typename Src_ptr> Child_ptr downcast(Src_ptr p); 00014 00015 // 00016 // IMPLEMENTATION of inline functions (and needed classes) 00017 // 00018 00019 00020 00021 00022 template <typename Child_ptr, typename Src_ptr> inline Child_ptr downcast(Src_ptr p) 00023 { 00024 Child_ptr c = dynamic_cast<Child_ptr>(p); 00025 00026 assert (c); 00027 00028 return c; 00029 } 00030 00031 #endif // downcast_h