Libosmium  2.9.0
Fast and flexible C++ library for working with OpenStreetMap data
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Macros
chain.hpp File Reference
#include <tuple>
#include <osmium/handler.hpp>
Include dependency graph for chain.hpp:

Go to the source code of this file.

Classes

class  osmium::handler::ChainHandler< THandler >
 
struct  osmium::handler::ChainHandler< THandler >::call_flush< N, SIZE, THandlers >
 
struct  osmium::handler::ChainHandler< THandler >::call_flush< SIZE, SIZE, THandlers >
 

Namespaces

 osmium
 Namespace for everything in the Osmium library.
 
 osmium::handler
 Osmium handlers provide callbacks for OSM objects.
 

Macros

#define OSMIUM_CHAIN_HANDLER_CALL(_func_, _type_)
 

Macro Definition Documentation

#define OSMIUM_CHAIN_HANDLER_CALL (   _func_,
  _type_ 
)
Value:
template <int N, int SIZE, typename THandlers> \
struct call_ ## _func_ { \
void operator()(THandlers& handlers, osmium::_type_& object) { \
std::get<N>(handlers)._func_(object); \
call_ ## _func_<N+1, SIZE, THandlers>()(handlers, object); \
} \
}; \
template <int SIZE, typename THandlers> \
struct call_ ## _func_<SIZE, SIZE, THandlers> { \
void operator()(THandlers&, osmium::_type_&) {} \
};