You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.8 KiB
38 lines
1.8 KiB
#pragma once |
|
#include "compattable.h" |
|
|
|
using michlib::errmessage; |
|
using michlib::message; |
|
|
|
/* |
|
template<class T, ActionID id> consteval bool MustSup() |
|
{ |
|
static_assert(IsActionSupported<T, id>); |
|
return true; |
|
}; |
|
|
|
constexpr bool NEMOsup = |
|
MustSup<NEMOData, ActionID::INFO>() && MustSup<NEMOData, ActionID::TSC>() && MustSup<NEMOData, ActionID::UV>() && MustSup<NEMOData, ActionID::GENINTFILE>(); |
|
|
|
constexpr bool NEMOBIOsup = MustSup<NEMOBIOData, ActionID::INFO>() && MustSup<NEMOBIOData, ActionID::TSC>(); |
|
|
|
constexpr bool HYCOMsup = |
|
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; |
|
template<> constexpr bool DisableAction<MODISBINLOCALData, ActionID::UV> = true; |
|
template<> constexpr bool DisableAction<MODISBINLOCALData, ActionID::GENINTFILE> = true; |
|
template<> constexpr bool DisableAction<NEMOBIOData, ActionID::UV> = true; |
|
template<> constexpr bool DisableAction<NEMOBIOData, ActionID::GENINTFILE> = true; |
|
*/
|
|
|