1 /*----------------------------------------------------------------------------*\
2 ______ ______ ____ __ __
3 | ____| | ____/ __ \ /\ | \/ |
4 | |__ _ __ ___ ___| |__ | | | | / \ | \ / |
5 | __| '__/ _ \/ _ \ __|| | | |/ /\ \ | |\/| |
6 | | | | | __/ __/ | | |__| / ____ \| | | |
7 |_| |_| \___|\___|_| \____/_/ \_\_| |_|
9 FreeFOAM: The Cross-Platform CFD Toolkit
11 Copyright (C) 2008-2009 Michael Wild <themiwi@users.sf.net>
12 Gerber van der Graaf <gerber_graaf@users.sf.net>
13 --------------------------------------------------------------------------------
15 This file is part of FreeFOAM.
17 FreeFOAM is free software; you can redistribute it and/or modify it
18 under the terms of the GNU General Public License as published by the
19 Free Software Foundation; either version 2 of the License, or (at your
20 option) any later version.
22 FreeFOAM is distributed in the hope that it will be useful, but WITHOUT
23 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
24 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
27 You should have received a copy of the GNU General Public License
28 along with FreeFOAM; if not, write to the Free Software Foundation,
29 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
32 Foam::gammaOPstreamImpl
35 GAMMA implementation of the OPstreamImpl abstract base class.
40 \*----------------------------------------------------------------------------*/
42 #ifndef gammaOPstreamImpl_H
43 #define gammaOPstreamImpl_H
45 #include <OpenFOAM/OPstreamImpl.H>
47 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52 /*---------------------------------------------------------------------------*\
53 Class gammaOPstreamImpl Declaration
54 \*---------------------------------------------------------------------------*/
56 class gammaOPstreamImpl
60 // Private Member Functions
62 //- Disallow default bitwise copy construct
63 gammaOPstreamImpl(const gammaOPstreamImpl&);
65 //- Disallow default bitwise assignment
66 void operator=(const gammaOPstreamImpl&);
70 // Declare name of the class and its debug switch
71 TypeName("gammaOPstreamImpl");
80 //- Flush the buffer (used in OPstream::~OPstream())
83 const PstreamImpl::commsTypes commsType,
89 //- Write given buffer to given processor
92 const PstreamImpl::commsTypes commsType,
95 const std::streamsize bufSize
98 //- Non-blocking writes: wait until all have finished.
99 virtual void waitRequests();
101 //- Non-blocking writes: has request i finished?
102 virtual bool finishedRequest(const label i);
107 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
109 } // End namespace Foam
111 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115 // ************************ vim: set sw=4 sts=4 et: ************************ //