@@ -533,74 +533,6 @@ namespace xt
533
533
return std::get<I>(static_cast <const std::tuple<Args...>&>(v));
534
534
}
535
535
536
- /* **************************
537
- * apply_cv implementation *
538
- ***************************/
539
-
540
- namespace detail
541
- {
542
- template <
543
- class T ,
544
- class U ,
545
- bool = std::is_const<std::remove_reference_t <T>>::value,
546
- bool = std::is_volatile<std::remove_reference_t <T>>::value>
547
- struct apply_cv_impl
548
- {
549
- using type = U;
550
- };
551
-
552
- template <class T , class U >
553
- struct apply_cv_impl <T, U, true , false >
554
- {
555
- using type = const U;
556
- };
557
-
558
- template <class T , class U >
559
- struct apply_cv_impl <T, U, false , true >
560
- {
561
- using type = volatile U;
562
- };
563
-
564
- template <class T , class U >
565
- struct apply_cv_impl <T, U, true , true >
566
- {
567
- using type = const volatile U;
568
- };
569
-
570
- template <class T , class U >
571
- struct apply_cv_impl <T&, U, false , false >
572
- {
573
- using type = U&;
574
- };
575
-
576
- template <class T , class U >
577
- struct apply_cv_impl <T&, U, true , false >
578
- {
579
- using type = const U&;
580
- };
581
-
582
- template <class T , class U >
583
- struct apply_cv_impl <T&, U, false , true >
584
- {
585
- using type = volatile U&;
586
- };
587
-
588
- template <class T , class U >
589
- struct apply_cv_impl <T&, U, true , true >
590
- {
591
- using type = const volatile U&;
592
- };
593
- }
594
-
595
- template <class T , class U >
596
- struct apply_cv
597
- {
598
- using type = typename detail::apply_cv_impl<T, U>::type;
599
- };
600
-
601
- template <class T , class U >
602
- using apply_cv_t = typename apply_cv<T, U>::type;
603
-
604
536
/* *************************
605
537
* to_array implementation *
606
538
***************************/
0 commit comments