|
|
@ -7,14 +7,27 @@ |
|
|
|
|
|
|
|
|
|
|
|
using michlib::errmessage; |
|
|
|
using michlib::errmessage; |
|
|
|
|
|
|
|
|
|
|
|
template<class T, ActionID id> consteval bool MustSupported() |
|
|
|
template<class T, ActionID id> consteval bool MustSup() |
|
|
|
{ |
|
|
|
{ |
|
|
|
static_assert(IsActionSupported<T, id>); |
|
|
|
static_assert(IsActionSupported<T, id>); |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
constexpr bool supported = MustSupported<NEMOData, ActionID::INFO>() && MustSupported<NEMOData, ActionID::TSC>() && MustSupported<NEMOData, ActionID::UV>() && |
|
|
|
constexpr bool NEMOsup = |
|
|
|
MustSupported<HYCOMData, ActionID::INFO>() && MustSupported<HYCOMData, ActionID::TSC>() && MustSupported<HYCOMData, ActionID::UV>() && |
|
|
|
MustSup<NEMOData, ActionID::INFO>() && MustSup<NEMOData, ActionID::TSC>() && MustSup<NEMOData, ActionID::UV>() && MustSup<NEMOData, ActionID::GENINTFILE>(); |
|
|
|
MustSupported<AVISOData, ActionID::INFO>() && MustSupported<AVISOData, ActionID::TSC>() && MustSupported<AVISOData, ActionID::UV>() && |
|
|
|
|
|
|
|
MustSupported<AVISOLOCALData, ActionID::INFO>() && MustSupported<AVISOLOCALData, ActionID::TSC>() && MustSupported<AVISOLOCALData, ActionID::UV>() && |
|
|
|
constexpr bool HYCOMsup = |
|
|
|
MustSupported<BINFILEData, ActionID::INFO>() && MustSupported<BINFILEData, ActionID::TSC>() && MustSupported<BINFILEData, ActionID::UV>(); |
|
|
|
MustSup<HYCOMData, ActionID::INFO>() && MustSup<HYCOMData, ActionID::TSC>() && MustSup<HYCOMData, ActionID::UV>() && MustSup<HYCOMData, ActionID::GENINTFILE>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
constexpr bool AVISOsup = |
|
|
|
|
|
|
|
MustSup<AVISOData, ActionID::INFO>() && MustSup<AVISOData, ActionID::TSC>() && MustSup<AVISOData, ActionID::UV>() && MustSup<AVISOData, ActionID::GENINTFILE>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
constexpr bool AVISOLsup = MustSup<AVISOLOCALData, ActionID::INFO>() && MustSup<AVISOLOCALData, ActionID::TSC>() && MustSup<AVISOLOCALData, ActionID::UV>() && |
|
|
|
|
|
|
|
MustSup<AVISOLOCALData, ActionID::GENINTFILE>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
constexpr bool BINFILEsup = MustSup<BINFILEData, ActionID::INFO>() && MustSup<BINFILEData, ActionID::TSC>() && MustSup<BINFILEData, ActionID::UV>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template<class T, ActionID id> static constexpr bool DisableAction = false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Exceptions
|
|
|
|
|
|
|
|
template<> constexpr bool DisableAction<BINFILEData, ActionID::GENINTFILE> = true; |
|
|
|