Loading...
Searching...
No Matches
CPlusPlusMangle.h
Go to the documentation of this file.
#ifndef HALIDE_CPLUSPLUS_MANGLE_H
#define HALIDE_CPLUSPLUS_MANGLE_H
/** \file
*
* A simple function to get a C++ mangled function name for a function.
*/
#include <string>
#include <vector>
#include "Expr.h"
namespace Halide {
struct ExternFuncArgument;
struct Target;
namespace Internal {
/** Return the mangled C++ name for a function.
* The target parameter is used to decide on the C++
* ABI/mangling style to use.
*/
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);
void cplusplus_mangle_test();
} // namespace Internal
} // namespace Halide
#endif
Expr.h
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt).
Halide::Internal
Definition AbstractGenerator.h:24
Halide::Internal::cplusplus_mangle_test
void cplusplus_mangle_test()
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.
Halide
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Definition AbstractGenerator.h:19
Halide::ExternFuncArgument
An argument to an extern-defined Func.
Definition ExternFuncArgument.h:17
Halide::Target
A struct representing a target machine and os to generate code for.
Definition Target.h:19
Halide::Type
Types in the halide type system.
Definition Type.h:283