Shamrock
2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shambase
include
shambase
pre_main_call.hpp
Go to the documentation of this file.
1
// -------------------------------------------------------//
2
//
3
// SHAMROCK code for hydrodynamics
4
// Copyright (c) 2021-2026 Timothée David--Cléris <tim.shamrock@proton.me>
5
// SPDX-License-Identifier: CeCILL Free Software License Agreement v2.1
6
// Shamrock is licensed under the CeCILL 2.1 License, see LICENSE for more information
7
//
8
// -------------------------------------------------------//
9
10
#pragma once
11
19
#include "
shambase/unique_name_macro.hpp
"
20
22
#define PRE_MAIN_FUNCTION_CALL_NAMED(class_name, instance_name, lambda) \
23
namespace { \
24
struct class_name { \
25
class_name() { lambda(); } \
26
}; \
27
static const class_name instance_name{}; \
28
}
29
45
#define PRE_MAIN_FUNCTION_CALL(lambda) \
46
PRE_MAIN_FUNCTION_CALL_NAMED( \
47
__shamrock_unique_name(_PRE_MAIN_FUNCTION_CALL), \
48
__shamrock_unique_name(_PRE_MAIN_FUNCTION_CALL_INSTANCE), \
49
lambda)
unique_name_macro.hpp
Provides macros for generating unique identifiers at compile time.
Generated on Wed May 13 2026 13:21:49 for Shamrock by
1.9.8