I have defined a new derived_dimension type, specific_entropy_dimension, and a unit, specific_entropy in the header below. This compiles just fine without warnings using g++, but, Eclipse CDT's indexer fails to resolve the type with the error:
Type 'derived_dimension< length_base_dimension, 2, time_base_dimension, -2, temperature_base_dimension, -1 >::type' could not be resolved
Its the only error on my code, and I would like to resolve this so that I can get a 'clean' analysis. What do I need to do to get CDT to resolve this type?
Units.h
#ifndef UNITS_H_
#define UNITS_H_
#include <boost/units/systems/si/energy.hpp>
#include <boost/units/systems/si/force.hpp>
#include <boost/units/systems/si/length.hpp>
#include <boost/units/systems/si/electric_potential.hpp>
#include <boost/units/systems/si/current.hpp>
#include <boost/units/systems/si/resistance.hpp>
#include <boost/units/systems/si/temperature.hpp>
#include <boost/units/systems/si/mass_density.hpp>
#include <boost/units/physical_dimensions/specific_energy.hpp>
#include <boost/units/systems/si/io.hpp>
#include <boost/units/conversion.hpp>
#include <boost/units/cmath.hpp>
#include <boost/units/derived_dimension.hpp>
using namespace boost::units;
using namespace boost::units::si;
typedef derived_dimension<length_base_dimension, 2, time_base_dimension, -2,
temperature_base_dimension, -1>::type specific_entropy_dimension;
typedef ::boost::units::unit<specific_entropy_dimension, si::system> specific_entropy;
#endif /* UNITS_H_ */
Note, my header includes several more derived dimensions, but this demonstrates the problem.