MCPcopy Create free account
hub / github.com/covscript/covscript / cni_decayed_conversion_cpp

Class cni_decayed_conversion_cpp

include/covscript/core/cni.hpp:566–583  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

564
565 template <typename _Source>
566 class cni_decayed_conversion_cpp {
567 template <typename T, typename = void>
568 struct is_specialized
569 {
570 constexpr static bool value = true;
571 };
572
573 template <typename T>
574 struct is_specialized<T, void_t<typename type_conversion_cpp<T>::_not_specialized>>
575 {
576 constexpr static bool value = false;
577 };
578
579 public:
580 using target_type = typename type_conversion_cpp<
581 typename std::conditional<is_specialized<_Source>::value, _Source,
582 typename std::conditional<is_specialized<decay_t<_Source>>::value, decay_t<_Source>, _Source>::type>::type>::target_type;
583 };
584
585// CNI Implementation
586 template <typename T>

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected