libzypp  10.5.0
Parse.h
Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                          ____ _   __ __ ___                          |
00003 |                         |__  / \ / / . \ . \                         |
00004 |                           / / \ V /|  _/  _/                         |
00005 |                          / /__ | | | | | |                           |
00006 |                         /_____||_| |_| |_|                           |
00007 |                                                                      |
00008 \---------------------------------------------------------------------*/
00012 #ifndef ZYPP_PARSER_XML_PARSE_H
00013 #define ZYPP_PARSER_XML_PARSE_H
00014 
00015 #include <iosfwd>
00016 
00017 #include "zypp/parser/xml/Reader.h"
00018 #include "zypp/parser/xml/ParseDef.h"
00019 #include "zypp/parser/xml/ParseDefConsume.h"
00020 
00022 namespace zypp
00023 { 
00024 
00025   namespace xml
00026   { 
00027 
00096     template<class _Data>
00097     inline void rnParse( const InputStream & input_r, _Data & data_r )
00098     {
00099       typedef typename _Data::RootNode RootNode;
00100       _Data pdata;
00101 
00102       xml::Reader reader( input_r );
00103       RootNode rootNode( pdata );
00104       rootNode.take( reader );
00105 
00106       data_r = pdata;
00107     }
00108 
00110   } // namespace xml
00113 } // namespace zypp
00115 #endif // ZYPP_PARSER_XML_PARSEDEF_H