@@ -195,6 +195,56 @@ namespace Rcpp{
195195 inline void stop (const std::string& message) {
196196 throw Rcpp::exception (message.c_str ());
197197 }
198+
199+ template <typename T1 >
200+ inline void stop (const char * fmt, const T1 & arg1) {
201+ throw Rcpp::exception ( tfm::format (fmt, arg1 ).c_str () );
202+ }
203+
204+ template <typename T1 , typename T2 >
205+ inline void stop (const char * fmt, const T1 & arg1, const T2 & arg2) {
206+ throw Rcpp::exception ( tfm::format (fmt, arg1, arg2 ).c_str () );
207+ }
208+
209+ template <typename T1 , typename T2 , typename T3 >
210+ inline void stop (const char * fmt, const T1 & arg1, const T2 & arg2, const T3 & arg3) {
211+ throw Rcpp::exception ( tfm::format (fmt, arg1, arg2, arg3).c_str () );
212+ }
213+
214+ template <typename T1 , typename T2 , typename T3 , typename T4 >
215+ inline void stop (const char * fmt, const T1 & arg1, const T2 & arg2, const T3 & arg3, const T4 & arg4) {
216+ throw Rcpp::exception ( tfm::format (fmt, arg1, arg2, arg3, arg4).c_str () );
217+ }
218+
219+ template <typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
220+ inline void stop (const char * fmt, const T1 & arg1, const T2 & arg2, const T3 & arg3, const T4 & arg4, const T5 & arg5) {
221+ throw Rcpp::exception ( tfm::format (fmt, arg1, arg2, arg3, arg4, arg5).c_str () );
222+ }
223+
224+ template <typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
225+ inline void stop (const char * fmt, const T1 & arg1, const T2 & arg2, const T3 & arg3, const T4 & arg4, const T5 & arg5, const T6 & arg6) {
226+ throw Rcpp::exception ( tfm::format (fmt, arg1, arg2, arg3, arg4, arg5, arg6).c_str () );
227+ }
228+
229+ template <typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
230+ inline void stop (const char * fmt, const T1 & arg1, const T2 & arg2, const T3 & arg3, const T4 & arg4, const T5 & arg5, const T6 & arg6, const T7 & arg7) {
231+ throw Rcpp::exception ( tfm::format (fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7).c_str () );
232+ }
233+
234+ template <typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
235+ inline void stop (const char * fmt, const T1 & arg1, const T2 & arg2, const T3 & arg3, const T4 & arg4, const T5 & arg5, const T6 & arg6, const T7 & arg7, const T8 & arg8) {
236+ throw Rcpp::exception ( tfm::format (fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8).c_str () );
237+ }
238+
239+ template <typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
240+ inline void stop (const char * fmt, const T1 & arg1, const T2 & arg2, const T3 & arg3, const T4 & arg4, const T5 & arg5, const T6 & arg6, const T7 & arg7, const T8 & arg8, const T9 & arg9) {
241+ throw Rcpp::exception ( tfm::format (fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9).c_str () );
242+ }
243+
244+ template <typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 >
245+ inline void stop (const char * fmt, const T1 & arg1, const T2 & arg2, const T3 & arg3, const T4 & arg4, const T5 & arg5, const T6 & arg6, const T7 & arg7, const T8 & arg8, const T9 & arg9, const T10 & arg10) {
246+ throw Rcpp::exception ( tfm::format (fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10).c_str () );
247+ }
198248}
199249
200250inline void forward_exception_to_r ( const std::exception& ex){
0 commit comments