#ifndef __QUANTITY_HXX__ #define __QUANTITY_HXX__ #include #include #include #include #include /*----- Quantities ----------------------------------------------------------*/ namespace Quantities { /*----- XXX_quantity_t --------------------------------------------------*/ // --- HACK - START // replace following typedef // typedef boost::units::quantity length_quantity_t; // by struct to reduce symbol name length, which might result in the linker error LNK1179 // struct length_quantity_t : boost::units::quantity { typedef boost::units::quantity base_t; length_quantity_t::length_quantity_t() {} length_quantity_t::length_quantity_t(const base_t& r) : base_t(r) {} }; //--- HACK - END /*----- OptXXXQuantityT -------------------------------------------------*/ typedef boost::optional OptLengthQuantityT; /*----- parse_XXX_quantity ----------------------------------------------*/ OptLengthQuantityT parse_length_quantity( const std::string& input, const length_quantity_t& length_unit = 1.0 * boost::units::si::meter); /*----- parse_dbl_XXX_quantity ------------------------------------------*/ typedef std::pair PairOptLengthQuantityT; PairOptLengthQuantityT parse_dbl_length_quantity( const std::string& input, const length_quantity_t& length_unit = 1.0 * boost::units::si::meter); } // namespace Quantities #endif // __QUANTITY_HXX__