Scippy

UG

Ubiquity Generator framework

paraInitialStat.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 /* */
3 /* This file is part of the program and software framework */
4 /* UG --- Ubquity Generator Framework */
5 /* */
6 /* Copyright Written by Yuji Shinano <shinano@zib.de>, */
7 /* Copyright (C) 2021 by Zuse Institute Berlin, */
8 /* licensed under LGPL version 3 or later. */
9 /* Commercial licenses are available through <licenses@zib.de> */
10 /* */
11 /* This code is free software; you can redistribute it and/or */
12 /* modify it under the terms of the GNU Lesser General Public License */
13 /* as published by the Free Software Foundation; either version 3 */
14 /* of the License, or (at your option) any later version. */
15 /* */
16 /* This program is distributed in the hope that it will be useful, */
17 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
18 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
19 /* GNU Lesser General Public License for more details. */
20 /* */
21 /* You should have received a copy of the GNU Lesser General Public License */
22 /* along with this program. If not, see <http://www.gnu.org/licenses/>. */
23 /* */
24 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
25 
26 /**@file paraInitialStat.h
27  * @brief Base class for initial statistics collecting class
28  * @author Yuji Shinano
29  *
30  *
31  *
32  */
33 
34 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
35 
36 
37 #ifndef __PARA_INITIAL_STAT_H__
38 #define __PARA_INITIAL_STAT_H__
39 
40 #include <iostream>
41 #include "paraComm.h"
42 
43 namespace UG
44 {
45 
46 ///
47 /// class for initial statistics collecting after racing
48 ///
49 /// This class should NOT have any data member.
50 ///
52 
53  ///
54  /// DO NOT HAVE DATA MEMBER!!
55  ///
56 
57 public:
58 
59  ///
60  /// default constructor
61  ///
63  )
64  {
65  }
66 
67  ///
68  /// destructor
69  ///
71  )
72  {
73  }
74 
75  ///
76  /// create clone of this object
77  /// @return pointer to ParaInitialStat object
78  ///
79  virtual ParaInitialStat *clone(
80  ParaComm *comm ///< communicator used
81  ) = 0;
82 
83  ///
84  /// send function for ParaInitialStat object
85  /// @return always 0 (for future extensions)
86  ///
87  virtual void send(
88  ParaComm *comm, ///< communicator used
89  int dest ///< destination rank
90  ) = 0;
91 
92  ///
93  /// receive function for ParaInitialStat object
94  /// @return always 0 (for future extensions)
95  ///
96  virtual void receive(
97  ParaComm *comm, ///< communicator used
98  int source ///< source rank
99  ) = 0;
100 
101  ///
102  /// stringfy ParaInitialStat object (for debugging)
103  /// @return string to show inside of this object
104  ///
105  virtual const std::string toString(
106  ) = 0;
107 };
108 
109 }
110 
111 #endif // __PARA_INITIAL_STAT_H__
112 
static ScipParaCommTh * comm
Definition: fscip.cpp:73
virtual const std::string toString()=0
stringfy ParaInitialStat object (for debugging)
virtual void receive(ParaComm *comm, int source)=0
receive function for ParaInitialStat object
Base class of communicator for UG Framework.
ParaInitialStat()
DO NOT HAVE DATA MEMBER!!
virtual ~ParaInitialStat()
destructor
class for initial statistics collecting after racing
virtual void send(ParaComm *comm, int dest)=0
send function for ParaInitialStat object
virtual ParaInitialStat * clone(ParaComm *comm)=0
create clone of this object
Base class of communicator object.
Definition: paraComm.h:101