IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
IpplInfo.h
1
//
2
// Class IpplInfo
3
// Global Ippl information.
4
//
5
#ifndef IPPL_INFO_H
6
#define IPPL_INFO_H
7
8
/*
9
* IpplInfo.has the following capabilities:
10
* 1) It initializes all globally-used Ippl variables, such as the
11
* Communicate class and other manager classes;
12
* 2) It parses command-line arguments to determine how to configure the
13
* global state of the Ippl application;
14
* 3) It properly selects and configures the Communicate class, generally
15
* resulting in initialization of the parallel machine;
16
* 4) It offers to the user a single class with access member functions to
17
* query for information about the Ippl application (such as what is
18
* the Communicate class instance to use, how many processors are there
19
* in the current run, etc.)
20
*
21
* The globally-available Ippl objects are (available via IpplInfo::variable)
22
* Communicate *Comm ....... parallel communication object
23
* Inform *Info ............ used to print out informative messages
24
* Inform *Warn ............ used to print out warning messages
25
* Inform *Error ........... used to print out error messages
26
*
27
* Note that you should use the following macros to access the Inform objects,
28
* so that these messages may be left out at compile time:
29
* INFOMSG("This is some information " << 34 << endl);
30
* WARNMSG("This is a warning " << 34 << endl);
31
* ERRORMSG("This is an error message " << 34 << endl);
32
*
33
* There is also a 'typedef IpplInfo Ippl' here, so you can simply use
34
* the name 'Ippl' instead of the longer 'IpplInfo' to access this class.
35
* 'Ippl' is in fact preferred, as it is shorter.
36
*/
37
38
class
IpplInfo
{
39
public
:
40
// printVersion: print out a version summary. If the argument is true,
41
// print out a detailed listing, otherwise a summary.
42
static
void
printVersion(
void
);
43
44
static
void
printHelp(
char
** argv);
45
46
// version: return the name of this version of Ippl, as a string
47
// (from IpplVersions.h)
48
static
const
char
* version();
49
50
// compileArch: return the architecture on which this library was built
51
// (from IpplVersions.h)
52
static
const
char
* compileArch();
53
54
// compileDate: return the date on which this library was prepared for
55
// compilation (from IpplVersions.h)
56
static
const
char
* compileDate();
57
58
// compileLine: return the compiler command used to compile each source file
59
// (from IpplVersions.h)
60
static
const
char
* compileLine();
61
62
// compileMachine: return the machine on which this library was
63
// compiled (from IpplVersions.h)
64
static
const
char
* compileMachine();
65
66
// compileOptions: return the option list used to compile this library
67
// (from IpplVersions.h)
68
static
const
char
* compileOptions();
69
70
// compileUser: return the username of the user who compiled this
71
// library (from IpplVersions.h)
72
static
const
char
* compileUser();
73
};
74
75
#endif
IpplInfo
Definition
IpplInfo.h:38
ippl-src
src
Utility
IpplInfo.h
Generated by
1.9.8