IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
IpplInfo.h
Go to the documentation of this file.
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
38class IpplInfo {
39public:
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
static void printVersion(void)
Definition IpplInfo.cpp:17
static const char * compileMachine()
Definition IpplInfo.cpp:67
static const char * compileLine()
Definition IpplInfo.cpp:60
static const char * compileArch()
Definition IpplInfo.cpp:46
static const char * version()
Definition IpplInfo.cpp:39
static void printHelp(char **argv)
Definition IpplInfo.cpp:24
static const char * compileUser()
Definition IpplInfo.cpp:81
static const char * compileDate()
Definition IpplInfo.cpp:53
static const char * compileOptions()
Definition IpplInfo.cpp:74