// The MIT License (MIT) // // Copyright (c) 2018 Mateusz Pusz // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. #include namespace { using namespace units; using namespace units::isq; static_assert(Length>); static_assert(!Length>); static_assert(Mass>); static_assert(!Mass>); static_assert(Time>); static_assert(!Time>); static_assert(ElectricCurrent>); static_assert(!ElectricCurrent>); static_assert(ThermodynamicTemperature>); static_assert(!ThermodynamicTemperature>); static_assert(AmountOfSubstance>); static_assert(!AmountOfSubstance>); static_assert(LuminousIntensity>); static_assert(!LuminousIntensity>); static_assert(Frequency>); static_assert(!Frequency>); static_assert(Area>); static_assert(!Area>); static_assert(Volume>); static_assert(!Volume>); #if UNITS_DOWNCAST_MODE == 0 static_assert(Volume>, unknown_coherent_unit>>); #endif static_assert(Speed>); static_assert(!Speed>); static_assert(Acceleration>); static_assert(!Acceleration>); #if UNITS_DOWNCAST_MODE == 0 static_assert(Acceleration, exponent>, unknown_coherent_unit>>); #endif static_assert(Force>); static_assert(!Force>); #if UNITS_DOWNCAST_MODE == 0 // static_assert(Force, exponent, exponent>, unknown_coherent_unit>>); #endif static_assert(Energy>); static_assert(!Energy>); #if UNITS_DOWNCAST_MODE == 0 // static_assert(Energy, exponent, exponent>, unknown_coherent_unit>>); #endif static_assert(Power>); static_assert(!Power>); static_assert(Voltage>); static_assert(!Voltage>); static_assert(ElectricCharge>); static_assert(!ElectricCharge>); static_assert(Capacitance>); static_assert(!Capacitance>); static_assert(SurfaceTension>); static_assert(!SurfaceTension>); static_assert(Pressure>); static_assert(!Pressure>); static_assert(MagneticInduction>); static_assert(!MagneticInduction>); static_assert(MagneticFlux>); static_assert(!MagneticFlux>); static_assert(Inductance>); static_assert(!Inductance>); static_assert(Conductance>); static_assert(!Conductance>); // TODO Add when downcasting issue is solved // static_assert(Radioactivity>); // static_assert(!Radioactivity>); static_assert(CatalyticActivity>); static_assert(!CatalyticActivity>); static_assert(AbsorbedDose>); static_assert(!AbsorbedDose>); static_assert(CurrentDensity>); static_assert(!CurrentDensity>); static_assert(Concentration>); static_assert(!Concentration>); static_assert(Luminance>); static_assert(!Luminance>); static_assert(DynamicViscosity>); static_assert(!DynamicViscosity>); static_assert(HeatCapacity>); static_assert(!HeatCapacity>); static_assert(SpecificHeatCapacity>); static_assert(!SpecificHeatCapacity>); static_assert(MolarHeatCapacity>); static_assert(!MolarHeatCapacity>); static_assert(ThermalConductivity>); static_assert(!ThermalConductivity>); // TODO Add when downcasting issue is solved // static_assert(EnergyDensity>); // static_assert(!EnergyDensity>); static_assert(ElectricFieldStrength>); static_assert(!ElectricFieldStrength>); static_assert(ChargeDensity>); static_assert(!ChargeDensity>); static_assert(SurfaceChargeDensity>); static_assert(!SurfaceChargeDensity>); static_assert(Permittivity>); static_assert(!Permittivity>); static_assert(Permeability>); static_assert(!Permeability>); static_assert(MolarEnergy>); static_assert(!MolarEnergy>); }