Rcpp Version 1.1.2
Loading...
Searching...
No Matches
dispatch.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ___RCPP_HANDLE_CASE___(___RTYPE___, ___FUN___, ___RCPPTYPE___, ...)
#define ___RCPP_RETURN___(__FUN__, __RCPPTYPE__, ...)
#define RCPP_RETURN_VECTOR(_FUN_, ...)
#define RCPP_RETURN_MATRIX(_FUN_, ...)
#define RCPP_MACRO_FIRST(...)
#define RCPP_MACRO_FIRST_HELPER(first, ...)
#define RCPP_MACRO_REST(...)
#define RCPP_MACRO_REST_HELPER(qty, ...)
#define RCPP_MACRO_REST_HELPER2(qty, ...)
#define RCPP_MACRO_REST_HELPER_ONE(first)
#define RCPP_MACRO_REST_HELPER_TWOORMORE(first, ...)
#define RCPP_MACRO_NUM(...)
#define RCPP_MACRO_SELECT_25TH(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, ...)

Macro Definition Documentation

◆ ___RCPP_HANDLE_CASE___

#define ___RCPP_HANDLE_CASE___ ( ___RTYPE___,
___FUN___,
___RCPPTYPE___,
... )
Value:
case ___RTYPE___: \
return ___FUN___(::Rcpp::___RCPPTYPE___<___RTYPE___>(RCPP_MACRO_FIRST(__VA_ARGS__)) \
RCPP_MACRO_REST(__VA_ARGS__));
#define RCPP_MACRO_REST(...)
Definition dispatch.h:64
#define RCPP_MACRO_FIRST(...)
Definition dispatch.h:61

Definition at line 33 of file dispatch.h.

◆ ___RCPP_RETURN___

#define ___RCPP_RETURN___ ( __FUN__,
__RCPPTYPE__,
... )
Value:
SEXP __TMP__ = RCPP_MACRO_FIRST(__VA_ARGS__); \
switch (TYPEOF(__TMP__)) { \
___RCPP_HANDLE_CASE___(INTSXP, __FUN__, __RCPPTYPE__, __VA_ARGS__) \
___RCPP_HANDLE_CASE___(REALSXP, __FUN__, __RCPPTYPE__, __VA_ARGS__) \
___RCPP_HANDLE_CASE___(RAWSXP, __FUN__, __RCPPTYPE__, __VA_ARGS__) \
___RCPP_HANDLE_CASE___(LGLSXP, __FUN__, __RCPPTYPE__, __VA_ARGS__) \
___RCPP_HANDLE_CASE___(CPLXSXP, __FUN__, __RCPPTYPE__, __VA_ARGS__) \
___RCPP_HANDLE_CASE___(STRSXP, __FUN__, __RCPPTYPE__, __VA_ARGS__) \
___RCPP_HANDLE_CASE___(VECSXP, __FUN__, __RCPPTYPE__, __VA_ARGS__) \
___RCPP_HANDLE_CASE___(EXPRSXP, __FUN__, __RCPPTYPE__, __VA_ARGS__) \
default: \
throw std::range_error("Not a vector"); \
}

Definition at line 39 of file dispatch.h.

◆ RCPP_MACRO_FIRST

#define RCPP_MACRO_FIRST ( ...)
Value:
RCPP_MACRO_FIRST_HELPER(__VA_ARGS__, throwaway)
#define RCPP_MACRO_FIRST_HELPER(first,...)
Definition dispatch.h:62

Definition at line 61 of file dispatch.h.

◆ RCPP_MACRO_FIRST_HELPER

#define RCPP_MACRO_FIRST_HELPER ( first,
... )
Value:
first

Definition at line 62 of file dispatch.h.

◆ RCPP_MACRO_NUM

#define RCPP_MACRO_NUM ( ...)
Value:
RCPP_MACRO_SELECT_25TH(__VA_ARGS__, TWOORMORE, TWOORMORE, TWOORMORE, TWOORMORE, \
TWOORMORE, TWOORMORE, TWOORMORE, TWOORMORE, TWOORMORE, \
TWOORMORE, TWOORMORE, TWOORMORE, TWOORMORE, TWOORMORE, \
TWOORMORE, TWOORMORE, TWOORMORE, TWOORMORE, TWOORMORE, \
TWOORMORE, TWOORMORE, TWOORMORE, TWOORMORE, ONE, throwaway)
#define RCPP_MACRO_SELECT_25TH(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25,...)
Definition dispatch.h:75

Definition at line 69 of file dispatch.h.

◆ RCPP_MACRO_REST

#define RCPP_MACRO_REST ( ...)
Value:
RCPP_MACRO_REST_HELPER(RCPP_MACRO_NUM(__VA_ARGS__), __VA_ARGS__)
#define RCPP_MACRO_REST_HELPER(qty,...)
Definition dispatch.h:65
#define RCPP_MACRO_NUM(...)
Definition dispatch.h:69

Definition at line 64 of file dispatch.h.

◆ RCPP_MACRO_REST_HELPER

#define RCPP_MACRO_REST_HELPER ( qty,
... )
Value:
RCPP_MACRO_REST_HELPER2(qty, __VA_ARGS__)
#define RCPP_MACRO_REST_HELPER2(qty,...)
Definition dispatch.h:66

Definition at line 65 of file dispatch.h.

◆ RCPP_MACRO_REST_HELPER2

#define RCPP_MACRO_REST_HELPER2 ( qty,
... )
Value:
RCPP_MACRO_REST_HELPER_##qty(__VA_ARGS__)

Definition at line 66 of file dispatch.h.

◆ RCPP_MACRO_REST_HELPER_ONE

#define RCPP_MACRO_REST_HELPER_ONE ( first)

Definition at line 67 of file dispatch.h.

◆ RCPP_MACRO_REST_HELPER_TWOORMORE

#define RCPP_MACRO_REST_HELPER_TWOORMORE ( first,
... )
Value:
, __VA_ARGS__

Definition at line 68 of file dispatch.h.

◆ RCPP_MACRO_SELECT_25TH

#define RCPP_MACRO_SELECT_25TH ( a1,
a2,
a3,
a4,
a5,
a6,
a7,
a8,
a9,
a10,
a11,
a12,
a13,
a14,
a15,
a16,
a17,
a18,
a19,
a20,
a21,
a22,
a23,
a24,
a25,
... )
Value:
a25

Definition at line 75 of file dispatch.h.

◆ RCPP_RETURN_MATRIX

#define RCPP_RETURN_MATRIX ( _FUN_,
... )
Value:
___RCPP_RETURN___(_FUN_, Matrix, __VA_ARGS__)
#define ___RCPP_RETURN___(__FUN__, __RCPPTYPE__,...)
Definition dispatch.h:39

Definition at line 57 of file dispatch.h.

◆ RCPP_RETURN_VECTOR

#define RCPP_RETURN_VECTOR ( _FUN_,
... )
Value:
___RCPP_RETURN___(_FUN_, Vector, __VA_ARGS__)

Definition at line 55 of file dispatch.h.