| 544 | // CNI Decayed Conversion |
| 545 | template <typename _Target> |
| 546 | class cni_decayed_conversion_cs { |
| 547 | template <typename T, typename = void> |
| 548 | struct is_specialized |
| 549 | { |
| 550 | constexpr static bool value = true; |
| 551 | }; |
| 552 | |
| 553 | template <typename T> |
| 554 | struct is_specialized<T, void_t<typename type_conversion_cs<T>::_not_specialized>> |
| 555 | { |
| 556 | constexpr static bool value = false; |
| 557 | }; |
| 558 | |
| 559 | public: |
| 560 | using source_type = typename type_conversion_cs< |
| 561 | typename std::conditional<is_specialized<_Target>::value, _Target, |
| 562 | typename std::conditional<is_specialized<decay_t<_Target>>::value, decay_t<_Target>, _Target>::type>::type>::source_type; |
| 563 | }; |
| 564 | |
| 565 | template <typename _Source> |
| 566 | class cni_decayed_conversion_cpp { |
nothing calls this directly
no outgoing calls
no test coverage detected