parser.h

説明を見る。
00001 // -*-c++-*-
00002 
00008 /*
00009  *Copyright:
00010 
00011  Copyright (C) Hidehisa AKIYAMA
00012 
00013  This code is free software; you can redistribute it and/or
00014  modify it under the terms of the GNU Lesser General Public
00015  License as published by the Free Software Foundation; either
00016  version 2.1 of the License, or (at your option) any later version.
00017 
00018  This library is distributed in the hope that it will be useful,
00019  but WITHOUT ANY WARRANTY; without even the implied warranty of
00020  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00021  Lesser General Public License for more details.
00022 
00023  You should have received a copy of the GNU Lesser General Public
00024  License along with this library; if not, write to the Free Software
00025  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00026 
00027  *EndCopyright:
00028  */
00029 
00031 
00032 #ifndef RCSC_RCG_PARSER_H
00033 #define RCSC_RCG_PARSER_H
00034 
00035 #include <boost/shared_ptr.hpp>
00036 
00037 #include <istream>
00038 
00039 namespace rcsc {
00040 namespace rcg {
00041 
00042 class Handler;
00043 
00045 
00050 class Parser {
00051 protected:
00052 
00056     Parser()
00057       { }
00058 
00062     virtual
00063     ~Parser()
00064       { }
00065 
00066 public:
00067 
00072     virtual
00073     int version() const = 0;
00074 
00082     virtual
00083     bool parse( std::istream & is,
00084                 Handler & handler ) const = 0;
00085 };
00086 
00087 
00089 typedef boost::shared_ptr< Parser > ParserPtr;
00090 
00091 } // end of namespace
00092 } // end of namespace
00093 
00094 #endif

librcscに対してThu May 1 15:41:21 2008に生成されました。  doxygen 1.5.0