#ifndef VISITOR_SHARED_PTR_H_ #define VISITOR_SHARED_PTR_H_ #include "boost/shared_ptr.hpp" #include "Visitor.h" template struct SharedPointerPolicy { typedef boost::shared_ptr type; }; template struct DefaultConvertPolicy< boost::shared_ptr > { template To Convert( const typename boost::add_reference::type f, bool& success ) { To t( f, boost::detail::dynamic_cast_tag() ); success = t.get(); return t; } }; #endif