Added boost header

This commit is contained in:
Christophe Riccio
2012-01-08 01:26:07 +00:00
parent 9c3faaca40
commit c7d752cdf8
8946 changed files with 1732316 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_METRIC_ANGSTROM_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_METRIC_ANGSTROM_HPP_INCLUDED
#include <boost/units/scaled_base_unit.hpp>
#include <boost/units/static_rational.hpp>
#include <boost/units/scale.hpp>
#include <boost/units/units_fwd.hpp>
#include <boost/units/base_units/si/meter.hpp>
namespace boost {
namespace units {
namespace metric {
typedef scaled_base_unit<boost::units::si::meter_base_unit, scale<10, static_rational<-10> > > angstrom_base_unit;
}
template<>
struct base_unit_info<metric::angstrom_base_unit> {
static const char* name() { return("angstrom"); }
static const char* symbol() { return("A"); }
};
}
}
#endif // BOOST_UNIT_SYSTEMS_METRIC_ANGSTROM_HPP_INCLUDED

View File

@@ -0,0 +1,19 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_METRIC_ARE_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_METRIC_ARE_HPP_INCLUDED
#include <boost/units/conversion.hpp>
#include <boost/units/systems/si/area.hpp>
BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, are, "are", "a", 1.0e2, si::area, 10);
#endif // BOOST_UNIT_SYSTEMS_METRIC_ARE_HPP_INCLUDED

View File

@@ -0,0 +1,19 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_METRIC_ATMOSPHERE_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_METRIC_ATMOSPHERE_HPP_INCLUDED
#include <boost/units/conversion.hpp>
#include <boost/units/systems/si/pressure.hpp>
BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, atmosphere, "atmosphere", "atm", 1.01325e5, si::pressure, 33);
#endif // BOOST_UNIT_SYSTEMS_METRIC_ATMOSPHERE_HPP_INCLUDED

View File

@@ -0,0 +1,19 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_METRIC_BAR_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_METRIC_BAR_HPP_INCLUDED
#include <boost/units/conversion.hpp>
#include <boost/units/systems/si/pressure.hpp>
BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, bar, "bar", "bar", 1.0e5, si::pressure, 14);
#endif // BOOST_UNIT_SYSTEMS_METRIC_BAR_HPP_INCLUDED

View File

@@ -0,0 +1,19 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_METRIC_BARN_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_METRIC_BARN_HPP_INCLUDED
#include <boost/units/conversion.hpp>
#include <boost/units/systems/si/area.hpp>
BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, barn, "barn", "b", 1.0e-28, si::area, 11);
#endif // BOOST_UNIT_SYSTEMS_METRIC_BARN_HPP_INCLUDED

View File

@@ -0,0 +1,39 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_OTHER_DAY_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_OTHER_DAY_HPP_INCLUDED
#include <boost/units/scaled_base_unit.hpp>
#include <boost/units/static_rational.hpp>
#include <boost/units/scale.hpp>
#include <boost/units/base_units/si/second.hpp>
namespace boost {
namespace units {
namespace metric {
typedef scaled_base_unit<boost::units::si::second_base_unit, scale<86400, static_rational<1> > > day_base_unit;
} // namespace metric
template<>
struct base_unit_info<metric::day_base_unit> {
static const char* name() { return("day"); }
static const char* symbol() { return("d"); }
};
} // namespace units
} // namespace boost
#endif

View File

@@ -0,0 +1,36 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_METRIC_FERMI_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_METRIC_FERMI_HPP_INCLUDED
#include <boost/units/scaled_base_unit.hpp>
#include <boost/units/static_rational.hpp>
#include <boost/units/scale.hpp>
#include <boost/units/base_units/si/meter.hpp>
namespace boost {
namespace units {
namespace metric {
typedef scaled_base_unit<boost::units::si::meter_base_unit, scale<10, static_rational<-15> > > fermi_base_unit;
}
template<>
struct base_unit_info<metric::fermi_base_unit> {
static const char* name() { return("fermi"); }
static const char* symbol() { return("fm"); }
};
}
}
#endif // BOOST_UNIT_SYSTEMS_METRIC_FERMI_HPP_INCLUDED

View File

@@ -0,0 +1,19 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_METRIC_HECTARE_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_METRIC_HECTARE_HPP_INCLUDED
#include <boost/units/conversion.hpp>
#include <boost/units/systems/si/area.hpp>
BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, hectare, "hectare", "ha", 1.0e4, si::area, 12);
#endif // BOOST_UNIT_SYSTEMS_METRIC_HECTARE_HPP_INCLUDED

View File

@@ -0,0 +1,37 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_METRIC_HOUR_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_METRIC_HOUR_HPP_INCLUDED
#include <boost/units/scaled_base_unit.hpp>
#include <boost/units/static_rational.hpp>
#include <boost/units/scale.hpp>
#include <boost/units/units_fwd.hpp>
#include <boost/units/base_units/si/second.hpp>
namespace boost {
namespace units {
namespace metric {
typedef scaled_base_unit<boost::units::si::second_base_unit, scale<60, static_rational<2> > > hour_base_unit;
}
template<>
struct base_unit_info<metric::hour_base_unit> {
static const char* name() { return("hour"); }
static const char* symbol() { return("h"); }
};
}
}
#endif // BOOST_UNIT_SYSTEMS_METRIC_HOUR_HPP_INCLUDED

View File

@@ -0,0 +1,19 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_METRIC_KNOT_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_METRIC_KNOT_HPP_INCLUDED
#include <boost/units/conversion.hpp>
#include <boost/units/systems/si/velocity.hpp>
BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, knot, "knot", "kt", 1852./3600., boost::units::si::velocity, -403);
#endif // BOOST_UNIT_SYSTEMS_METRIC_KNOT_HPP_INCLUDED

View File

@@ -0,0 +1,19 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_METRIC_LITER_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_METRIC_LITER_HPP_INCLUDED
#include <boost/units/conversion.hpp>
#include <boost/units/systems/si/volume.hpp>
BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, liter, "liter", "L", 1.0e-3, si::volume, 13);
#endif // BOOST_UNIT_SYSTEMS_METRIC_LITER_HPP_INCLUDED

View File

@@ -0,0 +1,36 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_METRIC_MICRON_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_METRIC_MICRON_HPP_INCLUDED
#include <boost/units/scaled_base_unit.hpp>
#include <boost/units/static_rational.hpp>
#include <boost/units/scale.hpp>
#include <boost/units/base_units/si/meter.hpp>
namespace boost {
namespace units {
namespace metric {
typedef scaled_base_unit<boost::units::si::meter_base_unit, scale<10, static_rational<-6> > > micron_base_unit;
}
template<>
struct base_unit_info<metric::micron_base_unit> {
static const char* name() { return("micron"); }
static const char* symbol() { return("u"); }
};
}
}
#endif // BOOST_UNIT_SYSTEMS_METRIC_MICRON_HPP_INCLUDED

View File

@@ -0,0 +1,37 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_METRIC_MINUTE_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_METRIC_MINUTE_HPP_INCLUDED
#include <boost/units/scaled_base_unit.hpp>
#include <boost/units/static_rational.hpp>
#include <boost/units/scale.hpp>
#include <boost/units/units_fwd.hpp>
#include <boost/units/base_units/si/second.hpp>
namespace boost {
namespace units {
namespace metric {
typedef scaled_base_unit<boost::units::si::second_base_unit, scale<60, static_rational<1> > > minute_base_unit;
}
template<>
struct base_unit_info<metric::minute_base_unit> {
static const char* name() { return("minute"); }
static const char* symbol() { return("min"); }
};
}
}
#endif // BOOST_UNIT_SYSTEMS_METRIC_MINUTE_HPP_INCLUDED

View File

@@ -0,0 +1,19 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_METRIC_MMHG_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_METRIC_MMHG_HPP_INCLUDED
#include <boost/units/conversion.hpp>
#include <boost/units/systems/si/pressure.hpp>
BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, mmHg, "millimeters mercury", "mmHg", 133.322, si::pressure, -404);
#endif // BOOST_UNIT_SYSTEMS_METRIC_MMHG_HPP_INCLUDED

View File

@@ -0,0 +1,36 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_METRIC_NAUTICAL_MILE_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_METRIC_NAUTICAL_MILE_HPP_INCLUDED
#include <boost/units/scaled_base_unit.hpp>
#include <boost/units/static_rational.hpp>
#include <boost/units/scale.hpp>
#include <boost/units/base_units/si/meter.hpp>
namespace boost {
namespace units {
namespace metric {
typedef scaled_base_unit<boost::units::si::meter_base_unit, scale<1852, static_rational<1> > > nautical_mile_base_unit;
}
template<>
struct base_unit_info<metric::nautical_mile_base_unit> {
static const char* name() { return("nautical mile"); }
static const char* symbol() { return("nmi"); }
};
}
}
#endif // BOOST_UNIT_SYSTEMS_METRIC_NAUTICAL_MILE_HPP_INCLUDED

View File

@@ -0,0 +1,39 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_METRIC_TON_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_METRIC_TON_HPP_INCLUDED
#include <boost/units/scaled_base_unit.hpp>
#include <boost/units/static_rational.hpp>
#include <boost/units/scale.hpp>
#include <boost/units/units_fwd.hpp>
#include <boost/units/base_units/si/kilogram.hpp>
//#include <boost/units/base_units/cgs/gram.hpp>
namespace boost {
namespace units {
namespace metric {
//typedef scaled_base_unit<boost::units::cgs::gram_base_unit, scale<10, static_rational<6> > > ton_base_unit;
typedef scaled_base_unit<boost::units::si::kilogram_base_unit, scale<1000, static_rational<1> > > ton_base_unit;
}
template<>
struct base_unit_info<metric::ton_base_unit> {
static const char* name() { return("metric ton"); }
static const char* symbol() { return("t"); }
};
}
}
#endif // BOOST_UNIT_SYSTEMS_METRIC_TON_HPP_INCLUDED

View File

@@ -0,0 +1,19 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_METRIC_TORR_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_METRIC_TORR_HPP_INCLUDED
#include <boost/units/conversion.hpp>
#include <boost/units/systems/si/pressure.hpp>
BOOST_UNITS_DEFINE_BASE_UNIT_WITH_CONVERSIONS(metric, torr, "torr", "Torr", 1.01325e5/760.0, si::pressure, -401);
#endif

View File

@@ -0,0 +1,38 @@
// 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) 2007-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)
#ifndef BOOST_UNIT_SYSTEMS_OTHER_YEAR_HPP_INCLUDED
#define BOOST_UNIT_SYSTEMS_OTHER_YEAR_HPP_INCLUDED
#include <boost/units/scaled_base_unit.hpp>
#include <boost/units/static_rational.hpp>
#include <boost/units/scale.hpp>
#include <boost/units/base_units/si/second.hpp>
// Julian year = 365.25 days exactly = 8766 hours exactly
namespace boost {
namespace units {
namespace metric {
typedef scaled_base_unit<boost::units::si::second_base_unit, scale<31557600, static_rational<1> > > year_base_unit;
}
template<>
struct base_unit_info<metric::year_base_unit> {
static const char* name() { return("Julian year"); }
static const char* symbol() { return("yr"); }
};
}
}
#endif