//===- CallableTraitsHelper.h - Callable arg/ret type extractor -*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // CallableTraitsHelper API. // //===----------------------------------------------------------------------===// #ifndef LLVM_EXECUTIONENGINE_ORC_CALLABLETRAITSHELPER_H #define LLVM_EXECUTIONENGINE_ORC_CALLABLETRAITSHELPER_H #include #include namespace llvm::orc { /// CallableTraitsHelper takes an implementation class template Impl and some /// callable type C and passes the return and argument types of C to the Impl /// class template. /// /// This can be used to simplify the implementation of classes that need to /// operate on callable types. template