17#ifndef Lec_Diffuse_base_included
18#define Lec_Diffuse_base_included
20#include <communications.h>
41 using Entree::operator>>;
49 int get(
int *ob, std::streamsize n)
override;
50 int get(
long *ob, std::streamsize n)
override;
51 int get(
long long *ob, std::streamsize n)
override;
52 int get(
float *ob, std::streamsize n)
override;
53 int get(
double *ob, std::streamsize n)
override;
54 int get(
char *buf, std::streamsize bufsize)
override;
60 void set_bin(
bool bin)
override;
72 template <
typename _TYPE_>
73 int get_template(_TYPE_ *ob, std::streamsize n);
75 template <
typename _TYPE_>
76 Entree& operator_template(_TYPE_&ob);
79template <
typename _TYPE_>
80int Lec_Diffuse_base::get_template(_TYPE_ *ob, std::streamsize n)
91 Cerr <<
"Lec_Diffuse_base::get(...) can't be used with diffuse_=0 on non master process." << finl;
96 envoyer_broadcast(ok, 0);
97 assert(n < std::numeric_limits<int>::max());
99 envoyer_broadcast_array(ob, (
int)n, 0);
104template <
typename _TYPE_>
105Entree& Lec_Diffuse_base::operator_template(_TYPE_& ob)
117 Cerr <<
"Lec_Diffuse_base::operator>> can't be used with diffuse_=0 on non master process." << finl;
122 envoyer_broadcast(ok, 0);
124 envoyer_broadcast(ob, 0);
EFichier(const char *name, IOS_OPEN_MODE mode=ios::in)
Class defining operators and methods for all reading operation in an input flow (file,...
int error_handle(int fail_flag)
virtual int get(int *ob, std::streamsize n)
Error_Action get_error_action()
renvoie error_action_ pour cette entree (permet de la modifier et de restaurer ensuite la valeur ante...
virtual Entree & get_entree_master()=0
int get(int *ob, std::streamsize n) override
void set_check_types(bool flag) override
appelle get_entree_master().
Entree & operator>>(int &ob) override
Lec_Diffuse_base(const Lec_Diffuse_base &)=default
Lec_Diffuse_base()
ne fait rien (constructeur protege car c'est une classe de base)
void set_bin(bool bin) override
appelle get_entree_master().
void set_diffuse(bool diffuse) override
ToDo TMA : commenter.
Lec_Diffuse_base & operator=(const Lec_Diffuse_base &)
erreur
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
static int je_suis_maitre()
renvoie 1 si on est sur le processeur maitre du groupe courant (c'est a dire me() == 0),...