Halide
CPlusPlusMangle.h
Go to the documentation of this file.
1 #ifndef HALIDE_CPLUSPLUS_MANGLE_H
2 #define HALIDE_CPLUSPLUS_MANGLE_H
3 
4 /** \file
5  *
6  * A simple function to get a C++ mangled function name for a function.
7  */
8 #include <string>
9 #include <vector>
10 
11 #include "Expr.h"
12 #include "Target.h"
13 
14 namespace Halide {
15 
16 struct ExternFuncArgument;
17 
18 namespace Internal {
19 
20 /** Return the mangled C++ name for a function.
21  * The target parameter is used to decide on the C++
22  * ABI/mangling style to use.
23  */
24 std::string cplusplus_function_mangled_name(const std::string &name,
25  const std::vector<std::string> &namespaces,
26  Type return_type,
27  const std::vector<ExternFuncArgument> &args,
28  const Target &target);
29 
31 
32 } // namespace Internal
33 
34 } // namespace Halide
35 
36 #endif
Target.h
Halide
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Definition: AddAtomicMutex.h:21
Halide::LinkageType::Internal
@ Internal
Not visible externally, similar to 'static' linkage in C.
Halide::Internal::cplusplus_function_mangled_name
std::string cplusplus_function_mangled_name(const std::string &name, const std::vector< std::string > &namespaces, Type return_type, const std::vector< ExternFuncArgument > &args, const Target &target)
Return the mangled C++ name for a function.
Expr.h
Halide::Internal::cplusplus_mangle_test
void cplusplus_mangle_test()