TrioCFD 1.9.9_beta
TrioCFD documentation
Loading...
Searching...
No Matches
LecFicDistribueBin.h
1/****************************************************************************
2* Copyright (c) 2022, CEA
3* All rights reserved.
4*
5* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
6* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8* 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
9*
10* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
11* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
12* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13*
14*****************************************************************************/
15
16
17#ifndef LecFicDistribueBin_included
18#define LecFicDistribueBin_included
19
20#include <LecFicDistribue.h>
21
22class Objet_U;
23
24/*! @brief Reading from a file in binary format.
25 *
26 * This class implements the operators and virtual methods of the EFichier class as follows:
27 * There are as many files as there are processes, physically located on the disk of the machine hosting the master task of the Trio-U application (the process of rank 0 in the "tous" group).
28 * The master process reads one item at a time from each file and sends it to the corresponding process.
29 * The same applies to the methods for inspecting the state of a file.
30 *
31 */
32
33class LecFicDistribueBin : public LecFicDistribue
34{
35 Declare_instanciable_sans_constructeur(LecFicDistribueBin);
36 // the master reads the file and propagates the information
37public:
39 {
40 set_bin(1);
41 };
42 LecFicDistribueBin(const char* name,IOS_OPEN_MODE mode=ios::in)
43 {
44 set_bin(1);
45 ouvrir(name,mode);
46 };
47};
48
49#endif
void set_bin(bool bin) override
Changes the file write mode.
Definition Entree.cpp:291
LecFicDistribueBin(const char *name, IOS_OPEN_MODE mode=ios::in)
int ouvrir(const char *name, IOS_OPEN_MODE mode=ios::in) override
Opens the file with the given mode and prot parameters. These parameters are the parameters of the st...
Base class for TRUST objects (Objet_U).
Definition Objet_U.h:68