|
NCBI Home IEB Home C++ Toolkit docs C Toolkit source browser C Toolkit source browser (2) |
NCBI C++ Toolkit Cross ReferenceC++/src/util/multi_writer.cpp |
source navigation diff markup identifier search freetext search file search |
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 |
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more information. |