26 #ifndef SHORE_PROCESSING_PLUGIN_HPP__
27 #define SHORE_PROCESSING_PLUGIN_HPP__
65 virtual int apply(std::deque<T *> & buffers,
66 std::vector<T *> & unused,
74 template<
typename Cmp>
76 typename boost::disable_if<boost::is_pointer<Cmp> >::type * =0)
85 template<
typename Cmp>
87 typename boost::enable_if<boost::is_pointer<Cmp> >::type * =0)
96 typename Cmp=bool (*)(
const T &,
const T &)>
108 :
public std::runtime_error
111 :std::runtime_error(
"sorting_check: not sorted appropriately")
114 error(
const std::string &name)
115 :std::runtime_error(
"sorting_check: \""+name+
"\" is"
116 " not sorted appropriately")
150 virtual int apply(std::deque<T *> & buffers,
151 std::vector<T *> & unused,
155 return plugin_type::PLUGIN_SUCCESS;
158 return flush?(plugin_type::PLUGIN_SUCCESS)
159 :(plugin_type::PLUGIN_STARVED);
161 if(m_cmp(*(buffers[1]),*(buffers.front())))
164 return plugin_type::PLUGIN_SUCCESS;
178 #endif // SHORE_PROCESSING_PLUGIN_HPP__