namespace boost { namespace dataflow { namespace blueprint { class component; template<typename Base> class based_component; template<typename T, typename Enable = void> struct underlying_component_type; template<typename T, typename Enable = void> struct get_underlying_component; template<typename Component, typename Tag = default_tag> class component_t; template<typename T> struct underlying_component_type<T, typename dataflow::utility::enable_if_type< typename T::element_type >::type>; template<typename T> struct get_underlying_component<T, typename dataflow::utility::enable_if_type< typename T::element_type >::type>; } } }