Osmium  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes
Osmium::Input::XML< THandler > Class Template Reference

#include <xml.hpp>

Inheritance diagram for Osmium::Input::XML< THandler >:
Inheritance graph
[legend]
Collaboration diagram for Osmium::Input::XML< THandler >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 XML (Osmium::OSMFile &file, THandler &handler)
void parse ()

Private Member Functions

void init_object (Osmium::OSM::Object &obj, const XML_Char **attrs)
void start_element (const XML_Char *element, const XML_Char **attrs)
void end_element (const XML_Char *element)

Static Private Member Functions

static void XMLCALL start_element_wrapper (void *data, const XML_Char *element, const XML_Char **attrs)
static void XMLCALL end_element_wrapper (void *data, const XML_Char *element)

Private Attributes

Osmium::OSM::Objectm_current_object
bool m_in_delete_section

Static Private Attributes

static const int c_buffer_size = 10240

Detailed Description

template<class THandler>
class Osmium::Input::XML< THandler >

Class for parsing OSM XML files.

Generally you are not supposed to instantiate this class yourself. Instead create an OSMFile object and call its read() method.

Template Parameters:
THandlerA handler class (subclass of Osmium::Handler::Base).

Constructor & Destructor Documentation

template<class THandler >
Osmium::Input::XML< THandler >::XML ( Osmium::OSMFile file,
THandler &  handler 
) [inline]

Instantiate XML Parser.

Parameters:
fileOSMFile instance.
handlerInstance of THandler.

Member Function Documentation

template<class THandler >
void Osmium::Input::XML< THandler >::end_element ( const XML_Char *  element) [inline, private]
template<class THandler >
static void XMLCALL Osmium::Input::XML< THandler >::end_element_wrapper ( void *  data,
const XML_Char *  element 
) [inline, static, private]
template<class THandler >
void Osmium::Input::XML< THandler >::init_object ( Osmium::OSM::Object obj,
const XML_Char **  attrs 
) [inline, private]
template<class THandler >
void Osmium::Input::XML< THandler >::parse ( ) [inline, virtual]

Parse an OSM input file. This is a pure virtual function, it must be overwritten in a child class of Osmium::Input::Base.

Implements Osmium::Input::Base< THandler >.

template<class THandler >
void Osmium::Input::XML< THandler >::start_element ( const XML_Char *  element,
const XML_Char **  attrs 
) [inline, private]
template<class THandler >
static void XMLCALL Osmium::Input::XML< THandler >::start_element_wrapper ( void *  data,
const XML_Char *  element,
const XML_Char **  attrs 
) [inline, static, private]

Member Data Documentation

template<class THandler >
const int Osmium::Input::XML< THandler >::c_buffer_size = 10240 [static, private]
template<class THandler >
Osmium::OSM::Object* Osmium::Input::XML< THandler >::m_current_object [private]
template<class THandler >
bool Osmium::Input::XML< THandler >::m_in_delete_section [private]

This is used only for change files which contain create, modify, and delete sections.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines