NCBI C++ Toolkit Cross Reference

C++/src/util/multi_writer.cpp


  1 /*  $Id: multi_writer.cpp 103491 2007-05-04 17:18:18Z kazimird $
  2  * ===========================================================================
  3  *
  4  *                            PUBLIC DOMAIN NOTICE
  5  *               National Center for Biotechnology Information
  6  *
  7  *  This software/database is a "United States Government Work" under the
  8  *  terms of the United States Copyright Act.  It was written as part of
  9  *  the author's official duties as a United States Government employee and
 10  *  thus cannot be copyrighted.  This software/database is freely available
 11  *  to the public for use. The National Library of Medicine and the U.S.
 12  *  Government have not placed any restriction on its use or reproduction.
 13  *
 14  *  Although all reasonable efforts have been taken to ensure the accuracy
 15  *  and reliability of the software and data, the NLM and the U.S.
 16  *  Government do not and cannot warrant the performance or results that
 17  *  may be obtained by using this software or data. The NLM and the U.S.
 18  *  Government disclaim all warranties, express or implied, including
 19  *  warranties of performance, merchantability or fitness for any particular
 20  *  purpose.
 21  *
 22  *  Please cite the author in any work or product based on this material.
 23  *
 24  * ===========================================================================
 25  *
 26  * Author: Maxim Didenko
 27  *
 28  *
 29  */
 30 
 31 #include <ncbi_pch.hpp>
 32 #include <corelib/ncbistr.hpp>
 33 #include <corelib/ncbimisc.hpp>
 34 #include <util/util_exception.hpp>
 35 #include <util/multi_writer.hpp>
 36 
 37 BEGIN_NCBI_SCOPE
 38 
 39 CMultiWriter::CMultiWriter(const list<CNcbiOstream*>& dest)
 40     : m_Dest(dest)
 41 {
 42 }
 43 
 44 
 45 CMultiWriter::~CMultiWriter()
 46 {
 47 }
 48 
 49 
 50 ERW_Result CMultiWriter::Write(const void* buf,
 51                                size_t      count,
 52                                size_t*     bytes_written)
 53 {
 54     NON_CONST_ITERATE( list<CNcbiOstream*>, it, m_Dest) {
 55         (*it)->write((const char*)buf, count);        
 56     }
 57     if ( bytes_written ) *bytes_written = count;
 58     return eRW_Success;
 59 }
 60 
 61 ERW_Result CMultiWriter::Flush(void)
 62 {
 63     NON_CONST_ITERATE( list<CNcbiOstream*>, it, m_Dest) {
 64         (*it)->flush();
 65     }
 66     return eRW_Success;
 67 
 68 }
 69 
 70 END_NCBI_SCOPE
 71 

source navigation ]   [ diff markup ]   [ identifier search ]   [ freetext search ]   [ file search ]  

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.