Libosmium  2.20.0
Fast and flexible C++ library for working with OpenStreetMap data
Classes | Namespaces | Macros
chain.hpp File Reference
#include <osmium/handler.hpp>
#include <tuple>
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

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

Macros

#define OSMIUM_CHAIN_HANDLER_CALL(_func_, _type_)
 

Macro Definition Documentation

◆ OSMIUM_CHAIN_HANDLER_CALL

#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_&) {} \
};
@ object
node, way, relation, or area object
Definition: entity_bits.hpp:74