ENH: Update FreeFOAM contributions to GPL v3
[freefoam.git] / src / Pstream / dummy / dummyOPstreamImpl.H
blobb75b43282a483f2434924dedb5ef37abeffb11c1
1 /*----------------------------------------------------------------------------*\
2                 ______                _     ____          __  __
3                |  ____|             _| |_  / __ \   /\   |  \/  |
4                | |__ _ __ ___  ___ /     \| |  | | /  \  | \  / |
5                |  __| '__/ _ \/ _ ( (| |) ) |  | |/ /\ \ | |\/| |
6                | |  | | |  __/  __/\_   _/| |__| / ____ \| |  | |
7                |_|  |_|  \___|\___|  |_|   \____/_/    \_\_|  |_|
9                     FreeFOAM: The Cross-Platform CFD Toolkit
11   Copyright (C) 2008-2012 Michael Wild <themiwi@users.sf.net>
12                           Gerber van der Graaf <gerber_graaf@users.sf.net>
13 --------------------------------------------------------------------------------
14 License
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 3 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
25     for more details.
27     You should have received a copy of the GNU General Public License
28     along with FreeFOAM.  If not, see <http://www.gnu.org/licenses/>.
30 Class
31     Foam::dummyOPstreamImpl
33 Description
34     Dummy implementation of the OPstreamImpl abstract base class.
36 SourceFiles
37     dummyOPstreamImpl.C
39 \*----------------------------------------------------------------------------*/
41 #ifndef dummyOPstreamImpl_H
42 #define dummyOPstreamImpl_H
44 #include <OpenFOAM/OPstreamImpl.H>
46 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48 namespace Foam
51 /*---------------------------------------------------------------------------*\
52                            Class dummyOPstreamImpl Declaration
53 \*---------------------------------------------------------------------------*/
55 class dummyOPstreamImpl
57     public OPstreamImpl
59     // Private Member Functions
61         //- Disallow default bitwise copy construct
62         dummyOPstreamImpl(const dummyOPstreamImpl&);
64         //- Disallow default bitwise assignment
65         void operator=(const dummyOPstreamImpl&);
67 public:
69     // Declare name of the class and its debug switch
70     TypeName("dummyOPstreamImpl");
72     // Constructors
74         //- Construct null
75         dummyOPstreamImpl(){}
77     // Member Functions
79         //- Flush the buffer (used in OPstream::~OPstream())
80         virtual void flush
81         (
82             const PstreamImpl::commsTypes commsType,
83             const int toProcNo,
84             const char* buf,
85             const int bufPosition
86         );
88         //- Write given buffer to given processor
89         virtual bool write
90         (
91             const PstreamImpl::commsTypes commsType,
92             const int toProcNo,
93             const char* buf,
94             const std::streamsize bufSize
95         );
97         //- Non-blocking writes: wait until all have finished.
98         virtual void waitRequests();
100         //- Non-blocking writes: has request i finished?
101         virtual bool finishedRequest(const label i);
106 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
108 } // End namespace Foam
110 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
112 #endif
114 // ************************ vim: set sw=4 sts=4 et: ************************ //