Orbiter 2022
Combinatorial Objects
orbiter.cpp
Go to the documentation of this file.
1// orbiter.cpp
2//
3// by Anton Betten
4//
5// started: 4/3/2020
6//
7
8#include "orbiter.h"
9
10using namespace std;
11using namespace orbiter;
12using namespace orbiter::layer5_applications;
13
15#include "../../../build_number"
16;
17
19
20int main(int argc, const char **argv)
21{
22
23 //cout << "orbiter.out main" << endl;
24
26 int i;
27
28
29
31
32
33 // setup:
34
35
36 cout << "Welcome to Orbiter! Your build number is " << build_number + 1 << "." << endl;
37 cout << "A user's guide is available here: " << endl;
38 cout << "https://www.math.colostate.edu/~betten/orbiter/users_guide.pdf" << endl;
39 cout << "The sources are available here: " << endl;
40 cout << "https://github.com/abetten/orbiter" << endl;
41 cout << "An example makefile with many commands from the user's guide is here: " << endl;
42 cout << "https://github.com/abetten/orbiter/tree/master/examples/users_guide/makefile" << endl;
43#ifdef SYSTEMUNIX
44 cout << "SYSTEMUNIX is defined" << endl;
45#endif
46#ifdef SYSTEMWINDOWS
47 cout << "SYSTEMWINDOWS is defined" << endl;
48#endif
49#ifdef SYSTEM_IS_MACINTOSH
50 cout << "SYSTEM_IS_MACINTOSH is defined" << endl;
51#endif
52 cout << "sizeof(int)=" << sizeof(int) << endl;
53 cout << "sizeof(long int)=" << sizeof(long int) << endl;
54
55
56 std::string *Argv;
58
59 cout << "before ST.convert_arguments, argc=" << argc << endl;
60
61 ST.convert_arguments(argc, argv, Argv);
62 // argc has changed!
63
64 cout << "after ST.convert_arguments, argc=" << argc << endl;
65
66 cout << "before Top_level_session.startup_and_read_arguments" << endl;
67 i = Top_level_session.startup_and_read_arguments(argc, Argv, 1);
68 cout << "after Top_level_session.startup_and_read_arguments" << endl;
69
70
71
72 int verbose_level;
73
74 verbose_level = Top_level_session.Orbiter_session->verbose_level;
75
76 int f_v = (verbose_level > 1);
77
78 if (f_v) {
79 cout << "main, before Top_level_session.handle_everything" << endl;
80 cout << "argc=" << argc << endl;
81 }
82
83
84 Top_level_session.handle_everything(argc, Argv, i, verbose_level);
85
86 if (FALSE) {
87 cout << "main, after Top_level_session.handle_everything" << endl;
88 }
89
90 cout << "Orbiter session is finished." << endl;
91 cout << "User time: ";
92 the_end(Top_level_session.Orbiter_session->t0);
93
94}
95
96
97
functions related to strings and character arrays
void convert_arguments(int &argc, const char **argv, std::string *&Argv)
The top level orbiter session is responsible for the command line interface and the program execution...
Definition: interfaces.h:814
void handle_everything(int argc, std::string *Argv, int i, int verbose_level)
#define FALSE
Definition: foundations.h:234
user_interface::orbiter_top_level_session * The_Orbiter_top_level_session
classes for combinatorial objects and their classification
the orbiter library for the classification of combinatorial objects
int main(int argc, const char **argv)
This is the Orbiter front-end. It passes the command line on to the user interface.
Definition: orbiter.cpp:20
int build_number
Definition: orbiter.cpp:14