49 template<
class main_function_t>
50 static int safe_run(main_function_t main_function) {
51 return internal_safe_run(main_function, std::nullopt, std::nullopt);
74 template<
class main_function_t>
75 static int safe_run(main_function_t main_function,
int argc,
char* argv[]) {
76 return internal_safe_run(main_function, argc, argv);
81 static int safe_run(xtd::delegate<
void()> main_function,
int argc,
char* argv[]);
82 static int safe_run(xtd::delegate<
void()> main_function);
83 static int safe_run(xtd::delegate<
void(
int,
char* [])> main_function,
int argc,
char* argv[]);
84 static int safe_run(xtd::delegate<
void(
int,
char* [])> main_function);
87 static int safe_run(xtd::delegate<
int()> main_function,
int argc,
char* argv[]);
88 static int safe_run(xtd::delegate<
int()> main_function);
89 static int safe_run(xtd::delegate<
int(
int,
char* [])> main_function,
int argc,
char* argv[]);
90 static int safe_run(xtd::delegate<
int(
int,
char* [])> main_function);
120 static int safe_run(
void (*main_function)(
int,
char* []),
int argc,
char* argv[]);
121 static int safe_run(
void (*main_function)(
int,
char* []));
124 static int safe_run(
int (*main_function)(
int,
char* []),
int argc,
char* argv[]);
125 static int safe_run(
int (*main_function)(
int,
char* []));
157 template<
class main_function_t>
158 static int internal_safe_run(main_function_t main_function, std::optional<int> argc, std::optional<char**> argv) {
162 auto exit_code = argc == std::nullopt && argv == std::nullopt ? run(main_function) : run(main_function, argc.value(), argv.value());
165 }
catch (
const std::exception& e) {
166 __show_generic_exception_message__(e);
170 __show_generic_exception_message__();
175 static void init_safe_run();
177 static void end_safe_run();
179 static int run(xtd::delegate<
void()> main_function,
int argc,
char* argv[]);
180 static int run(xtd::delegate<
void()> main_function);
181 static int run(xtd::delegate<
void(
int,
char* [])> main_function,
int argc,
char* argv[]);
182 static int run(xtd::delegate<
void(
int,
char* [])> main_function);
185 static int run(xtd::delegate<
int()> main_function,
int argc,
char* argv[]);
186 static int run(xtd::delegate<
int()> main_function);
187 static int run(xtd::delegate<
int(
int,
char* [])> main_function,
int argc,
char* argv[]);
188 static int run(xtd::delegate<
int(
int,
char* [])> main_function);
192 static int run(xtd::delegate<xtd::threading::tasks::task<>()> main_function,
int argc,
char* argv[]);
193 static int run(xtd::delegate<xtd::threading::tasks::task<>()> main_function);
194 static int run(xtd::delegate<xtd::threading::tasks::task<>(
int,
char* [])> main_function,
int argc,
char* argv[]);
195 static int run(xtd::delegate<xtd::threading::tasks::task<>(
int,
char* [])> main_function);
196 static int run(xtd::delegate<xtd::threading::tasks::task<>(
const xtd::argument_collection&)> main_function,
int argc,
char* argv[]);
198 static int run(xtd::delegate<xtd::threading::tasks::task<int>()> main_function,
int argc,
char* argv[]);
199 static int run(xtd::delegate<xtd::threading::tasks::task<int>()> main_function);
200 static int run(xtd::delegate<xtd::threading::tasks::task<int>(
int,
char* [])> main_function,
int argc,
char* argv[]);
201 static int run(xtd::delegate<xtd::threading::tasks::task<int>(
int,
char* [])> main_function);
202 static int run(xtd::delegate<xtd::threading::tasks::task<int>(
const xtd::argument_collection&)> main_function,
int argc,
char* argv[]);
205 static int run(xtd::delegate<xtd::threading::tasks::wtask<>()> main_function,
int argc,
char* argv[]);
206 static int run(xtd::delegate<xtd::threading::tasks::wtask<>()> main_function);
207 static int run(xtd::delegate<xtd::threading::tasks::wtask<>(
int,
char* [])> main_function,
int argc,
char* argv[]);
208 static int run(xtd::delegate<xtd::threading::tasks::wtask<>(
int,
char* [])> main_function);
209 static int run(xtd::delegate<xtd::threading::tasks::wtask<>(
const xtd::argument_collection&)> main_function,
int argc,
char* argv[]);
211 static int run(xtd::delegate<xtd::threading::tasks::wtask<int>()> main_function,
int argc,
char* argv[]);
212 static int run(xtd::delegate<xtd::threading::tasks::wtask<int>()> main_function);
213 static int run(xtd::delegate<xtd::threading::tasks::wtask<int>(
int,
char* [])> main_function,
int argc,
char* argv[]);
214 static int run(xtd::delegate<xtd::threading::tasks::wtask<int>(
int,
char* [])> main_function);
215 static int run(xtd::delegate<xtd::threading::tasks::wtask<int>(
const xtd::argument_collection&)> main_function,
int argc,
char* argv[]);
218 static int run(
void (*main_function)(),
int argc,
char* argv[]);
219 static int run(
void (*main_function)());
220 static int run(
void (*main_function)(
int,
char* []),
int argc,
char* argv[]);
221 static int run(
void (*main_function)(
int,
char* []));
224 static int run(
int (*main_function)(),
int argc,
char* argv[]);
225 static int run(
int (*main_function)());
226 static int run(
int (*main_function)(
int,
char* []),
int argc,
char* argv[]);
227 static int run(
int (*main_function)(
int,
char* []));
231 static int run(xtd::threading::tasks::task<> (*main_function)(),
int argc,
char* argv[]);
232 static int run(xtd::threading::tasks::task<> (*main_function)());
233 static int run(xtd::threading::tasks::task<> (*main_function)(
int,
char* []),
int argc,
char* argv[]);
234 static int run(xtd::threading::tasks::task<> (*main_function)(
int,
char* []));
235 static int run(xtd::threading::tasks::task<> (*main_function)(
const xtd::argument_collection&),
int argc,
char* argv[]);
237 static int run(xtd::threading::tasks::task<int> (*main_function)(),
int argc,
char* argv[]);
238 static int run(xtd::threading::tasks::task<int> (*main_function)());
239 static int run(xtd::threading::tasks::task<int> (*main_function)(
int,
char* []),
int argc,
char* argv[]);
240 static int run(xtd::threading::tasks::task<int> (*main_function)(
int,
char* []));
241 static int run(xtd::threading::tasks::task<int> (*main_function)(
const xtd::argument_collection&),
int argc,
char* argv[]);
244 static int run(xtd::threading::tasks::wtask<> (*main_function)(),
int argc,
char* argv[]);
245 static int run(xtd::threading::tasks::wtask<> (*main_function)());
246 static int run(xtd::threading::tasks::wtask<> (*main_function)(
int,
char* []),
int argc,
char* argv[]);
247 static int run(xtd::threading::tasks::wtask<> (*main_function)(
int,
char* []));
248 static int run(xtd::threading::tasks::wtask<> (*main_function)(
const xtd::argument_collection&),
int argc,
char* argv[]);
250 static int run(xtd::threading::tasks::wtask<int> (*main_function)(),
int argc,
char* argv[]);
251 static int run(xtd::threading::tasks::wtask<int> (*main_function)());
252 static int run(xtd::threading::tasks::wtask<int> (*main_function)(
int,
char* []),
int argc,
char* argv[]);
253 static int run(xtd::threading::tasks::wtask<int> (*main_function)(
int,
char* []));
254 static int run(xtd::threading::tasks::wtask<int> (*main_function)(
const xtd::argument_collection&),
int argc,
char* argv[]);
static int safe_run(main_function_t main_function, int argc, char *argv[])
Safely call the specified application's main entry point, argc and argv.
Definition startup.hpp:75