26 #ifndef SHORE_PROCESSING_PIPE_BOX_HPP__
27 #define SHORE_PROCESSING_PIPE_BOX_HPP__
38 template<
typename Pipe,
39 typename S=
typename source_traits<Pipe>::current_type,
40 typename T=
typename sink_traits<Pipe>::append_type>
45 typedef S current_type;
46 typedef T append_type;
47 typedef Pipe pipe_type;
59 m_feed|m_pipe|m_extractor;
62 pipe_box(
const pipe_box<Pipe,S,T> & other)
65 m_feed|m_pipe|m_extractor;
68 template<
typename Arg1>
72 m_feed|m_pipe|m_extractor;
75 template<
typename Arg1,
typename Arg2>
76 pipe_box(Arg1 arg1,Arg2 arg2)
79 m_feed|m_pipe|m_extractor;
83 pipe_type * operator->()
89 pipe_type & operator*()
94 const current_type & current()
const
96 return m_extractor.current();
101 return m_extractor.has_data();
109 void append(
const append_type & d)
123 #endif // SHORE_PROCESSING_PIPE_BOX_HPP__