Go to the documentation of this file. 1 #pragma once // Ensure that file is included only once in a single compilation.
26 #define HAS_MEMBER_FUNCTION(func, name) \
27 template <typename, typename T> \
30 static_assert(std::integral_constant<T, false>::value, \
31 "Second template parameter must be function signature."); \
33 template <typename C, typename Ret, typename... Args> \
34 struct name<C, Ret(Args...)> \
37 template <typename T> \
38 static constexpr auto check(T*) -> \
39 typename std::is_same<decltype(std::declval<T>().func(std::declval<Args>()...)), Ret>::type; \
41 static constexpr std::false_type check(...); \
42 typedef decltype(check<C>(0)) type; \
45 static constexpr bool value = type::value; \
def need_compile_check_hy_files(dependent_files, time_so)
Check whether any dependent files have been changed.
Definition: compile_prep.py:46
def get_options()
Read out parameters for Cython compilation provided by CMAKE.
Definition: cmake.py:20
def own_code(conf, python_class)
Check whether own code differs from last iteration.
Definition: compile_prep.py:66
def consistent(conf)
Check that config is consistent.
Definition: hy_config.py:20
def files(conf)
Generate names of auxiliary classes that will be constructed (internal use only).
Definition: names.py:9
def compile_commands(python_class, opt)
Generate shell commands from CMAKE parameters.
Definition: compile_prep.py:7
def this_dir()
Return path to directory of file.
Definition: paths.py:4
def find_definition(folder, classname)
Find file with definition of classname in directory folder.
Definition: cpp.py:10
def generate_cy_replace(conf)
Evaluate config file that needs to be present for all .pyx/.pxd files.
Definition: config.py:73
Object that comprises all information for HyperHDG to create a problem.
Definition: cmake.py:5
def extract_include(conf)
Add the files that need to be included for defining the problem to include list.
Definition: hy_config.py:51
def include(conf)
Function to import classes of the HyperHDG package using Cython.
Definition: include.py:11
Object that comprises all information for HyperHDG to create a problem.
Definition: hy_config.py:7
def main_dir()
Return path to main directory of HyperHDG.
Definition: paths.py:8
def generate_cy_replace(conf)
Evaluate config file that needs to be present for all .pyx/.pxd files.
Definition: hy_config.py:73
Object that comprises all information for HyperHDG to create a problem.
Definition: config.py:7
def extract_classname(fullname)
Extract classname from name that might contain template arguemnts.
Definition: cpp.py:5
def extract_includes(conf, cpp_inc="")
Add the files that need to be included for defining the problem to include list.
Definition: config.py:48
def cython_from_cpp(name)
Transform C++ class name to cython file name.
Definition: names.py:4
def need_compile(conf, python_class, opt)
Check whether recompilation of executable is necessary.
Definition: compile_prep.py:20
def consistent(conf)
Check that config is consistent.
Definition: config.py:19