void apply(THandlers&... handlers) { osmium::item_type type = osmium::item_type::undefined; while (osmium::memory::Buffer buffer = read()) { type = apply_helper(buffer, type, handlers...); } apply_helper(type, handlers...); }
void zmq::trie_t::apply (void (*func_) (unsigned char *data_, size_t size_, void *arg_), void *arg_) { unsigned char *buff = NULL; apply_helper (&buff, 0, 0, func_, arg_); free (buff); }
void ChangeSet::apply(QTextCursor *textCursor) { m_cursor = textCursor; apply_helper(); m_cursor = 0; }
void ChangeSet::apply(QString *s) { m_string = s; apply_helper(); m_string = 0; }
void apply_helper(osmium::item_type type, THead& handler, TTail&... more) { handler(type); apply_helper(type, more...); }
osmium::item_type apply_helper(osmium::memory::Buffer& buffer, osmium::item_type type, THead& handler, TTail&... more) { handler(buffer, type); return apply_helper(buffer, type, more...); }
typename std::result_of<F(Args...)>::type apply3(F&& pf, tuple<Args...>&& tup) { return apply_helper(forward<F>(pf), typename make_indexes3<sizeof ...(Args), 0>::type(), forward<tuple<Args...>>(tup)); }
typename std::result_of<F(Args...)>::type apply2(F&& pf, const tuple<Args...>& tup) { return apply_helper(forward<F>(pf), typename make_indexes2<sizeof ...(Args)>::type(), tuple<Args...>(tup)); }