Of course, I think there is no need to have different functions which differ only in the cast operation. We can use a template template parameter for the cast operation:
template <template<typename> class CastOp, typename DeclTy> LLVM_NODISCARD bool import(DeclTy *&ToD, DeclTy *FromD) { if (auto Res = Importer.Import(FromD)) { ToD = CastOp<DeclTy>(*Res); return false; } return true; } And then the usage: if (import<cast_or_null>(ToEPI.ExceptionSpec.SourceDecl, FromEPI.ExceptionSpec.SourceDecl)) return {}; Gabor On Fri, May 18, 2018 at 8:52 PM Aleksei Sidorin <a.sido...@samsung.com> wrote: > > Sorry, I didn't got the idea. Could please you explain a bit more? > > 18.05.2018 13:09, Gábor Márton via cfe-dev пишет: > > An other idea, couldn't we just pass the cast operation as a template > > template parameter? > > _______________________________________________ > > cfe-dev mailing list > > cfe-...@lists.llvm.org > > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev > > > -- > Best regards, > Aleksei Sidorin, > SRR, Samsung Electronics >
_______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev