namespace boost { namespace dataflow { namespace blueprint { template<typename Operation> class binary_operation; template<typename Operation> bool are_binary_operable(port & left, port & right); template<typename Operation> shared_ptr< binary_operation< Operation > > get_binary_operation(port & producer, port & consumer); void extract(port & producer, port & consumer); } } }