00001 /*****************************************************************************\
00002 * *
00003 * library XiMoL *
00004 * Copyright (C) 2002, 2003, 2004 Florent Tournois *
00005 * *
00006 * This library is free software; you can redistribute it and/or *
00007 * modify it under the terms of the GNU Lesser General Public *
00008 * License as published by the Free Software Foundation; either *
00009 * version 2.1 of the License, or (at your option) any later version. *
00010 * *
00011 * This library is distributed in the hope that it will be useful, *
00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
00014 * Lesser General Public License for more details. *
00015 * *
00016 * You should have received a copy of the GNU Lesser General Public *
00017 * License along with this library; if not, write to the Free Software *
00018 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
00019 * *
00020 \*****************************************************************************/
00021 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00022 /** \file
00023 \brief Define XiMoL prolog Interface.
00024
00025 \author Tournois Florent
00026 \version 1.0
00027
00028 $Id: prolog.hpp,v 1.3 2004/02/22 10:27:34 tournois Exp $
00029 $Log: prolog.hpp,v $
00030 Revision 1.3 2004/02/22 10:27:34 tournois
00031 Add some doc.
00032
00033 Revision 1.2 2004/02/22 09:54:21 tournois
00034 Change years on the copyright.
00035
00036 Revision 1.1 2004/01/22 22:01:35 tournois
00037 no message
00038
00039
00040 */
00041 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00042 #ifndef XIMOL_XML_PROLOG_HPP_
00043 #define XIMOL_XML_PROLOG_HPP_
00044
00045 #include <ximol/namespace_defs.hpp>
00046 #include <ximol/stop_warnings.hpp>
00047 #include <ximol/export_defs.hpp>
00048 #include <ximol/typedefs.hpp>
00049
00050 // forwarded declarations
00051 XIMOL_BEGIN_NAMESPACE00052class xostream;
00053 class xistream;
00054 XIMOL_END_NAMESPACE
00055 XIMOL_XML_BEGIN_NAMESPACE00056class attributes;
00057 XIMOL_XML_END_NAMESPACE
00058
00059 XIMOL_XML_BEGIN_NAMESPACE
00060
00061 //=============================================================================
00062 /// Manipulator for the prolog.
00063 //=============================================================================00064struct XIMOL_EXPORT manip_prolog {};
00065
00066 //-----------------------------------------------------------------------------
00067 /// GetFrom operator for the prolog.
00068 //-----------------------------------------------------------------------------
00069 XIMOL_EXPORT
00070 xistream&
00071 operator>>(xistream& xis, manip_prolog m);
00072
00073 //-----------------------------------------------------------------------------
00074 /// PutTo operator for the prolog.
00075 //-----------------------------------------------------------------------------
00076 XIMOL_EXPORT
00077 xostream&
00078 operator<<(xostream& xos, const manip_prolog& m);
00079
00080 //-----------------------------------------------------------------------------
00081 /// prolog reader-Writer
00082 //-----------------------------------------------------------------------------
00083 XIMOL_EXPORT
00084 manip_prolog prolog();
00085
00086 XIMOL_XML_END_NAMESPACE
00087
00088 #endif // #ifndef XIMOL_XML_PROLOG_HPP_