22 #ifndef Rcpp__sugar__cbind_h
23 #define Rcpp__sugar__cbind_h
27 namespace cbind_impl {
51 template <
int RTYPE,
typename E>
57 return static_cast<const E&
>(*this)[i];
61 return static_cast<const E&
>(*this)(i, j);
64 inline R_xlen_t
size()
const {
65 return static_cast<const E&
>(*this).size();
68 inline R_xlen_t
nrow()
const {
69 return static_cast<const E&
>(*this).nrow();
72 inline R_xlen_t
ncol()
const {
73 return static_cast<const E&
>(*this).ncol();
76 operator E&() {
return static_cast<E&
>(*this); }
77 operator const E&()
const {
return static_cast<const E&
>(*this); }
81 template <
int RTYPE,
typename T>
102 template <
typename S>
107 for (R_xlen_t i = 0; i <
len; i++) {
114 inline R_xlen_t
nrow()
const {
return nr; }
116 inline R_xlen_t
ncol()
const {
return nc; }
123 return vec[i +
nr * j];
134 template <
typename T>
137 cbind_sexptype_traits<T>::rtype, ScalarBindable<T> > {
148 inline R_xlen_t
size()
const {
return 1; }
150 inline R_xlen_t
nrow()
const {
return 1; }
152 inline R_xlen_t
ncol()
const {
return 1; }
165 template <
int RTYPE,
typename E1,
typename E2>
181 if (
e1.nrow() !=
e2.nrow()) {
184 "Matrix and Vector operands "
186 "number of rows (length).";
191 inline R_xlen_t
size()
const {
return e1.size() +
e2.size(); }
193 inline R_xlen_t
nrow()
const {
return e1.nrow(); }
195 inline R_xlen_t
ncol()
const {
return e1.ncol() +
e2.ncol(); }
198 return (i <
e1.size()) ?
e1[i] :
e2[i -
e1.size()];
202 R_xlen_t index = i +
nrow() * j;
203 return (*
this)[index];
208 template <
int RTYPE,
typename E1>
212 ScalarBindable<typename scalar<RTYPE>::type> > >,
215 ScalarBindable<typename scalar<RTYPE>::type> > > {
230 inline R_xlen_t
size()
const {
return e1.size() +
e1.nrow(); }
232 inline R_xlen_t
nrow()
const {
return e1.nrow(); }
234 inline R_xlen_t
ncol()
const {
return e1.ncol() + 1; }
237 return (i <
e1.size()) ?
e1[i] :
e2[i];
241 R_xlen_t index = i +
nrow() * j;
242 return (*
this)[index];
247 template <
int RTYPE,
typename E2>
251 ScalarBindable<typename scalar<RTYPE>::type>, E2> >,
254 ScalarBindable<typename scalar<RTYPE>::type>, E2> > {
269 inline R_xlen_t
size()
const {
return e2.size() +
e2.nrow(); }
271 inline R_xlen_t
nrow()
const {
return e2.nrow(); }
273 inline R_xlen_t
ncol()
const {
return e2.ncol() + 1; }
276 return (i <
e2.nrow()) ?
e1[i] :
e2[i -
e2.nrow()];
280 R_xlen_t index = i +
nrow() * j;
281 return (*
this)[index];
291 ScalarBindable<typename scalar<RTYPE>::type>,
292 ScalarBindable<typename scalar<RTYPE>::type> > >,
295 ScalarBindable<typename scalar<RTYPE>::type>,
296 ScalarBindable<typename scalar<RTYPE>::type> > > {
312 inline R_xlen_t
size()
const {
return e2.size() +
e2.nrow(); }
314 inline R_xlen_t
nrow()
const {
return e2.nrow(); }
316 inline R_xlen_t
ncol()
const {
return e2.ncol() + 1; }
319 return (i <
e2.nrow()) ?
e1[i] :
e2[i];
323 R_xlen_t index = i +
nrow() * j;
324 return (*
this)[index];
330 inline ContainerBindable<RTYPE, Rcpp::Matrix<RTYPE> >
336 inline ContainerBindable<RTYPE, Rcpp::Vector<RTYPE> >
342 inline ContainerBindable<LGLSXP, Rcpp::Matrix<LGLSXP> >
348 inline ContainerBindable<LGLSXP, Rcpp::Vector<LGLSXP> >
353 template <
typename T>
354 inline ScalarBindable<T>
360 template <
int RTYPE,
typename E1,
typename E2>
372 template <
typename T>
380 template <
typename C>
383 template <
typename C>
387 static const bool value =
sizeof(test<T>(0)) ==
sizeof(
yes);
391 template <typename T, bool is_container = has_stored_type<T>::value>
394 template <
typename T>
432 template <
typename T>
441 template <
typename T>
444 MakeBindableCall<T, true>
450 template <
typename T>
453 MakeBindableCall<T, false>
462 template <typename T, bool is_container = has_stored_type<T>::value>
465 template <
typename T>
492 template <
typename T>
500 template <typename T, bool B = detail::has_stored_type<T>::value>
504 template <
typename T>
510 #define MakeBindable(x) (cbind_impl::detail::MakeBindable(x)(x))
514 template<
typename T1,
typename T2>
515 inline typename cbind_impl::matrix_return<T1>::type
520 template<
typename T1,
typename T2,
typename T3>
521 inline typename cbind_impl::matrix_return<T1>::type
522 cbind(
const T1& t1,
const T2& t2,
const T3& t3) {
526 template<
typename T1,
typename T2,
typename T3,
typename T4>
527 inline typename cbind_impl::matrix_return<T1>::type
528 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4) {
533 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
534 inline typename cbind_impl::matrix_return<T1>::type
535 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5) {
539 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6>
540 inline typename cbind_impl::matrix_return<T1>::type
541 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6) {
545 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7>
546 inline typename cbind_impl::matrix_return<T1>::type
547 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7) {
551 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8>
552 inline typename cbind_impl::matrix_return<T1>::type
553 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8) {
557 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9>
558 inline typename cbind_impl::matrix_return<T1>::type
559 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9) {
564 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10>
565 inline typename cbind_impl::matrix_return<T1>::type
566 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10) {
570 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11>
571 inline typename cbind_impl::matrix_return<T1>::type
572 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11) {
573 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11));
576 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12>
577 inline typename cbind_impl::matrix_return<T1>::type
578 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12) {
579 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12));
582 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13>
583 inline typename cbind_impl::matrix_return<T1>::type
584 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13) {
585 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13));
588 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14>
589 inline typename cbind_impl::matrix_return<T1>::type
590 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14) {
591 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14));
595 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15>
596 inline typename cbind_impl::matrix_return<T1>::type
597 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15) {
598 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15));
601 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16>
602 inline typename cbind_impl::matrix_return<T1>::type
603 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16) {
604 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16));
607 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17>
608 inline typename cbind_impl::matrix_return<T1>::type
609 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17) {
610 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17));
613 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18>
614 inline typename cbind_impl::matrix_return<T1>::type
615 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18) {
616 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18));
619 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19>
620 inline typename cbind_impl::matrix_return<T1>::type
621 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19) {
622 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19));
626 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20>
627 inline typename cbind_impl::matrix_return<T1>::type
628 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20) {
629 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20));
632 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21>
633 inline typename cbind_impl::matrix_return<T1>::type
634 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21) {
635 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21));
638 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22>
639 inline typename cbind_impl::matrix_return<T1>::type
640 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22) {
641 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22));
644 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23>
645 inline typename cbind_impl::matrix_return<T1>::type
646 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23) {
647 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23));
650 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24>
651 inline typename cbind_impl::matrix_return<T1>::type
652 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24) {
653 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24));
657 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25>
658 inline typename cbind_impl::matrix_return<T1>::type
659 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25) {
660 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25));
663 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26>
664 inline typename cbind_impl::matrix_return<T1>::type
665 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26) {
666 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26));
669 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27>
670 inline typename cbind_impl::matrix_return<T1>::type
671 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27) {
672 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27));
675 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28>
676 inline typename cbind_impl::matrix_return<T1>::type
677 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28) {
678 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28));
681 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29>
682 inline typename cbind_impl::matrix_return<T1>::type
683 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29) {
684 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29));
688 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30>
689 inline typename cbind_impl::matrix_return<T1>::type
690 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30) {
691 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30));
694 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31>
695 inline typename cbind_impl::matrix_return<T1>::type
696 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31) {
697 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31));
700 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32>
701 inline typename cbind_impl::matrix_return<T1>::type
702 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32) {
703 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32));
706 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33>
707 inline typename cbind_impl::matrix_return<T1>::type
708 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33) {
709 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33));
712 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34>
713 inline typename cbind_impl::matrix_return<T1>::type
714 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34) {
715 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34));
719 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34,
typename T35>
720 inline typename cbind_impl::matrix_return<T1>::type
721 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34,
const T35& t35) {
722 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34),
MakeBindable(t35));
725 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
typename T36>
726 inline typename cbind_impl::matrix_return<T1>::type
727 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34,
const T35& t35,
const T36& t36) {
728 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34),
MakeBindable(t35),
MakeBindable(t36));
731 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
typename T36,
typename T37>
732 inline typename cbind_impl::matrix_return<T1>::type
733 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34,
const T35& t35,
const T36& t36,
const T37& t37) {
734 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34),
MakeBindable(t35),
MakeBindable(t36),
MakeBindable(t37));
737 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
typename T36,
typename T37,
typename T38>
738 inline typename cbind_impl::matrix_return<T1>::type
739 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34,
const T35& t35,
const T36& t36,
const T37& t37,
const T38& t38) {
740 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34),
MakeBindable(t35),
MakeBindable(t36),
MakeBindable(t37),
MakeBindable(t38));
743 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
typename T36,
typename T37,
typename T38,
typename T39>
744 inline typename cbind_impl::matrix_return<T1>::type
745 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34,
const T35& t35,
const T36& t36,
const T37& t37,
const T38& t38,
const T39& t39) {
746 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34),
MakeBindable(t35),
MakeBindable(t36),
MakeBindable(t37),
MakeBindable(t38),
MakeBindable(t39));
750 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
typename T36,
typename T37,
typename T38,
typename T39,
typename T40>
751 inline typename cbind_impl::matrix_return<T1>::type
752 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34,
const T35& t35,
const T36& t36,
const T37& t37,
const T38& t38,
const T39& t39,
const T40& t40) {
753 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34),
MakeBindable(t35),
MakeBindable(t36),
MakeBindable(t37),
MakeBindable(t38),
MakeBindable(t39),
MakeBindable(t40));
756 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
typename T41>
757 inline typename cbind_impl::matrix_return<T1>::type
758 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34,
const T35& t35,
const T36& t36,
const T37& t37,
const T38& t38,
const T39& t39,
const T40& t40,
const T41& t41) {
759 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34),
MakeBindable(t35),
MakeBindable(t36),
MakeBindable(t37),
MakeBindable(t38),
MakeBindable(t39),
MakeBindable(t40),
MakeBindable(t41));
762 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
typename T41,
typename T42>
763 inline typename cbind_impl::matrix_return<T1>::type
764 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34,
const T35& t35,
const T36& t36,
const T37& t37,
const T38& t38,
const T39& t39,
const T40& t40,
const T41& t41,
const T42& t42) {
765 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34),
MakeBindable(t35),
MakeBindable(t36),
MakeBindable(t37),
MakeBindable(t38),
MakeBindable(t39),
MakeBindable(t40),
MakeBindable(t41),
MakeBindable(t42));
768 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
typename T41,
typename T42,
typename T43>
769 inline typename cbind_impl::matrix_return<T1>::type
770 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34,
const T35& t35,
const T36& t36,
const T37& t37,
const T38& t38,
const T39& t39,
const T40& t40,
const T41& t41,
const T42& t42,
const T43& t43) {
771 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34),
MakeBindable(t35),
MakeBindable(t36),
MakeBindable(t37),
MakeBindable(t38),
MakeBindable(t39),
MakeBindable(t40),
MakeBindable(t41),
MakeBindable(t42),
MakeBindable(t43));
774 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
typename T41,
typename T42,
typename T43,
typename T44>
775 inline typename cbind_impl::matrix_return<T1>::type
776 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34,
const T35& t35,
const T36& t36,
const T37& t37,
const T38& t38,
const T39& t39,
const T40& t40,
const T41& t41,
const T42& t42,
const T43& t43,
const T44& t44) {
777 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34),
MakeBindable(t35),
MakeBindable(t36),
MakeBindable(t37),
MakeBindable(t38),
MakeBindable(t39),
MakeBindable(t40),
MakeBindable(t41),
MakeBindable(t42),
MakeBindable(t43),
MakeBindable(t44));
781 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
typename T41,
typename T42,
typename T43,
typename T44,
typename T45>
782 inline typename cbind_impl::matrix_return<T1>::type
783 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34,
const T35& t35,
const T36& t36,
const T37& t37,
const T38& t38,
const T39& t39,
const T40& t40,
const T41& t41,
const T42& t42,
const T43& t43,
const T44& t44,
const T45& t45) {
784 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34),
MakeBindable(t35),
MakeBindable(t36),
MakeBindable(t37),
MakeBindable(t38),
MakeBindable(t39),
MakeBindable(t40),
MakeBindable(t41),
MakeBindable(t42),
MakeBindable(t43),
MakeBindable(t44),
MakeBindable(t45));
787 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
typename T46>
788 inline typename cbind_impl::matrix_return<T1>::type
789 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34,
const T35& t35,
const T36& t36,
const T37& t37,
const T38& t38,
const T39& t39,
const T40& t40,
const T41& t41,
const T42& t42,
const T43& t43,
const T44& t44,
const T45& t45,
const T46& t46) {
790 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34),
MakeBindable(t35),
MakeBindable(t36),
MakeBindable(t37),
MakeBindable(t38),
MakeBindable(t39),
MakeBindable(t40),
MakeBindable(t41),
MakeBindable(t42),
MakeBindable(t43),
MakeBindable(t44),
MakeBindable(t45),
MakeBindable(t46));
793 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
typename T46,
typename T47>
794 inline typename cbind_impl::matrix_return<T1>::type
795 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34,
const T35& t35,
const T36& t36,
const T37& t37,
const T38& t38,
const T39& t39,
const T40& t40,
const T41& t41,
const T42& t42,
const T43& t43,
const T44& t44,
const T45& t45,
const T46& t46,
const T47& t47) {
796 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34),
MakeBindable(t35),
MakeBindable(t36),
MakeBindable(t37),
MakeBindable(t38),
MakeBindable(t39),
MakeBindable(t40),
MakeBindable(t41),
MakeBindable(t42),
MakeBindable(t43),
MakeBindable(t44),
MakeBindable(t45),
MakeBindable(t46),
MakeBindable(t47));
799 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
typename T46,
typename T47,
typename T48>
800 inline typename cbind_impl::matrix_return<T1>::type
801 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34,
const T35& t35,
const T36& t36,
const T37& t37,
const T38& t38,
const T39& t39,
const T40& t40,
const T41& t41,
const T42& t42,
const T43& t43,
const T44& t44,
const T45& t45,
const T46& t46,
const T47& t47,
const T48& t48) {
802 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34),
MakeBindable(t35),
MakeBindable(t36),
MakeBindable(t37),
MakeBindable(t38),
MakeBindable(t39),
MakeBindable(t40),
MakeBindable(t41),
MakeBindable(t42),
MakeBindable(t43),
MakeBindable(t44),
MakeBindable(t45),
MakeBindable(t46),
MakeBindable(t47),
MakeBindable(t48));
805 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
typename T46,
typename T47,
typename T48,
typename T49>
806 inline typename cbind_impl::matrix_return<T1>::type
807 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34,
const T35& t35,
const T36& t36,
const T37& t37,
const T38& t38,
const T39& t39,
const T40& t40,
const T41& t41,
const T42& t42,
const T43& t43,
const T44& t44,
const T45& t45,
const T46& t46,
const T47& t47,
const T48& t48,
const T49& t49) {
808 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34),
MakeBindable(t35),
MakeBindable(t36),
MakeBindable(t37),
MakeBindable(t38),
MakeBindable(t39),
MakeBindable(t40),
MakeBindable(t41),
MakeBindable(t42),
MakeBindable(t43),
MakeBindable(t44),
MakeBindable(t45),
MakeBindable(t46),
MakeBindable(t47),
MakeBindable(t48),
MakeBindable(t49));
812 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
typename T46,
typename T47,
typename T48,
typename T49,
typename T50>
813 inline typename cbind_impl::matrix_return<T1>::type
814 cbind(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4,
const T5& t5,
const T6& t6,
const T7& t7,
const T8& t8,
const T9& t9,
const T10& t10,
const T11& t11,
const T12& t12,
const T13& t13,
const T14& t14,
const T15& t15,
const T16& t16,
const T17& t17,
const T18& t18,
const T19& t19,
const T20& t20,
const T21& t21,
const T22& t22,
const T23& t23,
const T24& t24,
const T25& t25,
const T26& t26,
const T27& t27,
const T28& t28,
const T29& t29,
const T30& t30,
const T31& t31,
const T32& t32,
const T33& t33,
const T34& t34,
const T35& t35,
const T36& t36,
const T37& t37,
const T38& t38,
const T39& t39,
const T40& t40,
const T41& t41,
const T42& t42,
const T43& t43,
const T44& t44,
const T45& t45,
const T46& t46,
const T47& t47,
const T48& t48,
const T49& t49,
const T50& t50) {
815 return (
MakeBindable(t1),
MakeBindable(t2),
MakeBindable(t3),
MakeBindable(t4),
MakeBindable(t5),
MakeBindable(t6),
MakeBindable(t7),
MakeBindable(t8),
MakeBindable(t9),
MakeBindable(t10),
MakeBindable(t11),
MakeBindable(t12),
MakeBindable(t13),
MakeBindable(t14),
MakeBindable(t15),
MakeBindable(t16),
MakeBindable(t17),
MakeBindable(t18),
MakeBindable(t19),
MakeBindable(t20),
MakeBindable(t21),
MakeBindable(t22),
MakeBindable(t23),
MakeBindable(t24),
MakeBindable(t25),
MakeBindable(t26),
MakeBindable(t27),
MakeBindable(t28),
MakeBindable(t29),
MakeBindable(t30),
MakeBindable(t31),
MakeBindable(t32),
MakeBindable(t33),
MakeBindable(t34),
MakeBindable(t35),
MakeBindable(t36),
MakeBindable(t37),
MakeBindable(t38),
MakeBindable(t39),
MakeBindable(t40),
MakeBindable(t41),
MakeBindable(t42),
MakeBindable(t43),
MakeBindable(t44),
MakeBindable(t45),
MakeBindable(t46),
MakeBindable(t47),
MakeBindable(t48),
MakeBindable(t49),
MakeBindable(t50));
stored_type operator[](R_xlen_t i) const
cbind_storage_type< RTYPE >::type stored_type
stored_type operator()(R_xlen_t i, R_xlen_t j) const
ContainerBindable(const Rcpp::Vector< RTYPE > &vec_)
stored_type operator[](R_xlen_t i) const
stored_type operator()(R_xlen_t i, R_xlen_t j) const
ContainerBindable(const Rcpp::Matrix< RTYPE > &vec_)
ContainerBindable(const BindableExpression< RTYPE, S > &e)
cbind_storage_type< RTYPE >::type stored_type
ScalarBindable< typename scalar< RTYPE >::type > E2
JoinOp(const BindableExpression< RTYPE, E1 > &e1_, const BindableExpression< RTYPE, E2 > &e2_)
stored_type operator[](R_xlen_t i) const
cbind_storage_type< RTYPE >::type stored_type
stored_type operator()(R_xlen_t i, R_xlen_t j) const
cbind_storage_type< RTYPE >::type stored_type
JoinOp(const BindableExpression< RTYPE, E1 > &e1_, const BindableExpression< RTYPE, E2 > &e2_)
stored_type operator()(R_xlen_t i, R_xlen_t j) const
stored_type operator[](R_xlen_t i) const
ScalarBindable< typename scalar< RTYPE >::type > E1
stored_type operator[](R_xlen_t i) const
stored_type operator()(R_xlen_t i, R_xlen_t j) const
ScalarBindable< typename scalar< RTYPE >::type > E1
cbind_storage_type< RTYPE >::type stored_type
ScalarBindable< typename scalar< RTYPE >::type > E2
JoinOp(const BindableExpression< RTYPE, E1 > &e1_, const BindableExpression< RTYPE, E2 > &e2_)
cbind_storage_type< RTYPE >::type stored_type
stored_type operator()(R_xlen_t i, R_xlen_t j) const
JoinOp(const BindableExpression< RTYPE, E1 > &e1_, const BindableExpression< RTYPE, E2 > &e2_)
stored_type operator[](R_xlen_t i) const
ScalarBindable(const T &t_)
stored_type operator[](R_xlen_t i) const
stored_type operator()(R_xlen_t i, R_xlen_t j) const
static yes test(typename C::stored_type *)
Rcpp::traits::enable_if< has_stored_type< T >::value, MakeBindableCall< T, true > >::type MakeBindable(const T &t)
JoinOp< RTYPE, E1, E2 > operator,(const BindableExpression< RTYPE, E1 > &e1, const BindableExpression< RTYPE, E2 > &e2)
ScalarBindable< T > MakeScalarBindable(const T &t)
ContainerBindable< RTYPE, Rcpp::Matrix< RTYPE > > MakeContainerBindable(const Rcpp::Matrix< RTYPE > &x)
cbind_impl::matrix_return< T1 >::type cbind(const T1 &t1, const T2 &t2)
void NORET stop(const char *fmt, Args &&... args)
ContainerBindable< LGLSXP, T > operator()(const T &t) const
ContainerBindable< LGLSXP, T > operator()(const T &t) const
ScalarBindable< T > operator()(const T &t) const
ContainerBindable< RTYPE, T > operator()(const T &t) const
cbind_storage_type< cbind_sexptype_traits< typename T::stored_type >::rtype >::type stored_type
Rcpp::Matrix< LGLSXP > type
Rcpp::Matrix< LGLSXP > type
Rcpp::Matrix< RTYPE > type
cbind_storage_type< cbind_sexptype_traits< typename T::stored_type >::rtype >::type stored_type
Rcpp::Matrix< RTYPE > type
Rcpp::Matrix< LGLSXP > type
cbind_storage_type< RTYPE >::type type