Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:03:07

0001 /*
0002  * Copyright 1999-2002,2004 The Apache Software Foundation.
0003  * 
0004  * Licensed under the Apache License, Version 2.0 (the "License");
0005  * you may not use this file except in compliance with the License.
0006  * You may obtain a copy of the License at
0007  * 
0008  *      http://www.apache.org/licenses/LICENSE-2.0
0009  * 
0010  * Unless required by applicable law or agreed to in writing, software
0011  * distributed under the License is distributed on an "AS IS" BASIS,
0012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0013  * See the License for the specific language governing permissions and
0014  * limitations under the License.
0015  */
0016 
0017 /*
0018  * $Id$
0019  */
0020 
0021 #ifndef StreamOutFormatTarget_HEADER_GUARD_
0022 #define StreamOutFormatTarget_HEADER_GUARD_
0023 
0024 #include <iostream>
0025 
0026 #include <xercesc/framework/XMLFormatter.hpp>
0027 
0028 XERCES_CPP_NAMESPACE_BEGIN
0029 
0030 class XMLPARSER_EXPORT StreamOutFormatTarget : public XMLFormatTarget {
0031 public:
0032   /** @name constructors and destructor */
0033   //@{
0034   StreamOutFormatTarget(std::ostream& fStream);
0035   StreamOutFormatTarget(const StreamOutFormatTarget&) = delete;
0036   StreamOutFormatTarget& operator=(const StreamOutFormatTarget&) = delete;
0037   ~StreamOutFormatTarget() override;
0038   //@}
0039 
0040   // -----------------------------------------------------------------------
0041   //  Implementations of the format target interface
0042   // -----------------------------------------------------------------------
0043   void writeChars(const XMLByte* const toWrite, const XMLSize_t count, XMLFormatter* const formatter) override;
0044 
0045   void flush() override;
0046 
0047 private:
0048   std::ostream* mStream;
0049   // -----------------------------------------------------------------------
0050   //  Unimplemented methods.
0051   // -----------------------------------------------------------------------
0052 };
0053 
0054 XERCES_CPP_NAMESPACE_END
0055 
0056 #endif