// Boost.Units - A C++ library for zero-overhead dimensional analysis and // unit/quantity manipulation and conversion // // Copyright (C) 2003-2008 Matthias Christian Schabel // Copyright (C) 2008 Steven Watanabe // // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) /** \file \brief fail_heterogeneous_unit.cpp \details make sure that trying to bind a heterogeneous system to a different dimension fails. Output: @verbatim @endverbatim **/ #include #include #include #include //#include //#include namespace bu = boost::units; template bu::quantity > f(bu::quantity > l) { return(static_cast > >(f(static_cast >(l)))); } bu::quantity f(bu::quantity l) { return(l * l * 2.0 * bu::si::kilograms / bu::pow<2>(bu::si::seconds)); } int main() { f(1.0 * bu::pow<2>(bu::si::meters) / bu::cgs::centimeters); return(0); }