blob: 78e6df3c329e0fef4f3d443ab6fa0bba5119027a [file] [log] [blame]
/*-----------------------------------------------------------------------------+
Copyright (c) 2008-2009: Joachim Faulhaber
+------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
+-----------------------------------------------------------------------------*/
#ifndef BOOST_ICL_TEST_TYPE_LISTS_HPP_JOFA_080916
#define BOOST_ICL_TEST_TYPE_LISTS_HPP_JOFA_080916
//#define BOOST_ICL_TEST_XINT
//#define BOOST_ICL_TEST_CHRONO
#include <boost/mpl/list.hpp>
// interval instance types
#include <boost/icl/gregorian.hpp>
#include <boost/icl/ptime.hpp>
#ifdef BOOST_ICL_TEST_XINT
# include <boost/icl/xint.hpp>
#endif
#ifdef BOOST_ICL_TEST_CHRONO
# define BOOST_CHRONO_EXTENSIONS
# include <libs/icl/test/chrono/utility.hpp>
namespace boch = boost::chrono;
#endif
#include <boost/icl/rational.hpp>
#if(_MSC_VER < 1500 && defined(_DEBUG) ) // 1500 = MSVC-9.0
typedef int boost_posix_time_ptime;
typedef int boost_posix_time_duration;
typedef int boost_gregorian_date;
typedef int boost_gregorian_date_duration;
#else
typedef boost::posix_time::ptime boost_posix_time_ptime;
typedef boost::posix_time::time_duration boost_posix_time_duration;
typedef boost::gregorian::date boost_gregorian_date;
typedef boost::gregorian::date_duration boost_gregorian_date_duration;
#endif
typedef ::boost::mpl::list<
unsigned short, unsigned int, unsigned long
,short, int, long, long long
,float, double, long double
,boost::rational<int>
#ifdef BOOST_ICL_TEST_XINT
,boost::xint::integer
,boost::rational<boost::xint::integer>
#endif
#ifdef BOOST_ICL_TEST_CHRONO
,boch::duration<int>
,boch::duration<double>
,Now::time_point
,boch::time_point<Now, boch::duration<double> >
#endif
,boost_posix_time_ptime
,boost_posix_time_duration
,boost_gregorian_date
,boost_gregorian_date_duration
,int*
> bicremental_types;
#ifdef BOOST_ICL_TEST_CHRONO
typedef boch::duration<long long, boost::ratio<1,113> > duration_long2_113s;
typedef boch::duration<int, boost::ratio<11,113> > duration_int_11_113s;
typedef boch::duration<boost::rational<int>, boost::ratio<101,997> > duration_rational_101_997s;
typedef boch::time_point<Now, duration_int_11_113s > Now_time_int_11_113s;
typedef boch::time_point<Now, boch::duration<double> > Now_time_double;
typedef boch::time_point<Now, boch::duration<boost::rational<int> > > Now_time_rational;
typedef boch::time_point<Now, duration_rational_101_997s > Now_time_rational_101_997s;
typedef boch::duration<int> bicremental_type_1;
typedef boch::duration<double> bicremental_type_2;
typedef Now::time_point bicremental_type_3;
typedef Now_time_double bicremental_type_4;
typedef Now_time_rational bicremental_type_5;
typedef duration_long2_113s bicremental_type_6;
typedef duration_rational_101_997s bicremental_type_7;
typedef Now_time_rational_101_997s bicremental_type_8;
#else
typedef unsigned int bicremental_type_1;
typedef int bicremental_type_2;
typedef double bicremental_type_3;
typedef boost::rational<int> bicremental_type_4;
typedef boost_posix_time_ptime bicremental_type_5;
typedef short bicremental_type_6;
typedef float bicremental_type_7;
typedef int* bicremental_type_8;
#endif //BOOST_ICL_TEST_CHRONO
typedef ::boost::mpl::list<
short, int, long, long long
,float, double, long double
,boost::rational<int>
#ifdef BOOST_ICL_TEST_XINT
,boost::xint::integer
,boost::rational<boost::xint::integer>
#endif
#ifdef BOOST_ICL_TEST_CHRONO
,boch::duration<int>
,boch::duration<float>
,Now::time_point
#endif
> signed_bicremental_types;
#ifdef BOOST_ICL_TEST_CHRONO
typedef boch::duration<int> signed_bicremental_type_1;
typedef boch::duration<double> signed_bicremental_type_2;
typedef Now::time_point signed_bicremental_type_3;
typedef Now_time_double signed_bicremental_type_4;
typedef Now_time_rational signed_bicremental_type_5;
#else
typedef int signed_bicremental_type_1;
typedef double signed_bicremental_type_2;
typedef boost::rational<int> signed_bicremental_type_3;
typedef short signed_bicremental_type_4;
typedef float signed_bicremental_type_5;
#endif //BOOST_ICL_TEST_CHRONO
//DBG short list for debugging
typedef ::boost::mpl::list<
int
> debug_types;
typedef ::boost::mpl::list<
float, double, long double
,boost::rational<int>
#ifdef BOOST_ICL_TEST_XINT
,boost::rational<boost::xint::integer>
#endif
#ifdef BOOST_ICL_TEST_CHRONO
,boch::duration<double>
,boch::time_point<Now, boch::duration<double> >
#endif
> bicremental_continuous_types;
#ifdef BOOST_ICL_TEST_CHRONO
typedef boch::duration<double> bicremental_continuous_type_1;
typedef Now_time_double bicremental_continuous_type_2;
typedef Now_time_rational bicremental_continuous_type_3;
#else
typedef float bicremental_continuous_type_1;
typedef double bicremental_continuous_type_2;
typedef boost::rational<int> bicremental_continuous_type_3;
#endif // BOOST_ICL_TEST_CHRONO
typedef ::boost::mpl::list<
unsigned short, unsigned int
,unsigned long, unsigned long long
,short, int, long, long long
#ifdef BOOST_ICL_TEST_XINT
,boost::xint::integer
#endif
> integral_types;
typedef int integral_type_1;
typedef unsigned int integral_type_2;
typedef short integral_type_3;
typedef unsigned int integral_type_4;
typedef ::boost::mpl::list<
unsigned short, unsigned int
,unsigned long, unsigned long long
,short, int, long
#ifdef BOOST_ICL_TEST_XINT
,boost::xint::integer
#endif
#ifdef BOOST_ICL_TEST_CHRONO
,boch::duration<unsigned short>
,Now::time_point
#endif
,boost_posix_time_ptime
,boost_posix_time_duration
,boost_gregorian_date
,boost_gregorian_date_duration
,int*
> discrete_types;
#ifdef BOOST_ICL_TEST_CHRONO
typedef boch::duration<int> discrete_type_1;
typedef duration_int_11_113s discrete_type_2;
typedef Now::time_point discrete_type_3;
typedef duration_long2_113s discrete_type_4;
typedef Now_time_int_11_113s discrete_type_5;
typedef short discrete_type_6;
typedef int* discrete_type_7;
typedef boost_posix_time_duration discrete_type_8;
#else
typedef int discrete_type_1;
typedef boost_posix_time_ptime discrete_type_2;
typedef unsigned int discrete_type_3;
typedef short discrete_type_4;
typedef int* discrete_type_5;
typedef boost_posix_time_duration discrete_type_6;
typedef boost_gregorian_date discrete_type_7;
typedef boost_gregorian_date_duration discrete_type_8;
#endif //BOOST_ICL_TEST_CHRONO
typedef ::boost::mpl::list<
short, int, long
> signed_discrete_types;
#ifdef BOOST_ICL_TEST_CHRONO
typedef Now::time_point signed_discrete_type_1;
typedef duration_long2_113s signed_discrete_type_2;
typedef Now_time_int_11_113s signed_discrete_type_3;
#else
typedef int signed_discrete_type_1;
typedef short signed_discrete_type_2;
typedef long signed_discrete_type_3;
#endif //BOOST_ICL_TEST_CHRONO
typedef ::boost::mpl::list<
float, double, long double
,boost::rational<int>
#ifdef BOOST_ICL_TEST_XINT
,boost::rational<boost::xint::integer>
#endif
//JODO
//test_interval_map_shared.hpp(1190) : error C2440: 'initializing' : cannot convert from 'long double' to 'boost::chrono::duration<Rep>'
//#ifdef BOOST_ICL_TEST_CHRONO
// ,boost::chrono::duration<long double>
//#endif
> numeric_continuous_types;
#ifdef BOOST_ICL_TEST_CHRONO
typedef boch::duration<double> numeric_continuous_type_1;
typedef Now_time_double numeric_continuous_type_2;
typedef Now_time_rational numeric_continuous_type_3;
typedef duration_rational_101_997s numeric_continuous_type_4;
#else
typedef double numeric_continuous_type_1;
typedef float numeric_continuous_type_2;
typedef boost::rational<int> numeric_continuous_type_3;
typedef long double numeric_continuous_type_4;
#endif //BOOST_ICL_TEST_CHRONO
typedef ::boost::mpl::list<
float, double, long double
,boost::rational<int>
#ifdef BOOST_ICL_TEST_XINT
,boost::rational<boost::xint::integer>
#endif
#ifdef BOOST_ICL_TEST_CHRONO
,boch::duration<double>
,boch::time_point<Now, boch::duration<double> >
#endif
,std::string
> continuous_types;
#ifdef BOOST_ICL_TEST_CHRONO
typedef boch::duration<double> continuous_type_1;
typedef Now_time_double continuous_type_2;
typedef Now_time_rational continuous_type_3;
typedef std::string continuous_type_4;
#else
typedef double continuous_type_1;
typedef float continuous_type_2;
typedef boost::rational<int> continuous_type_3;
typedef std::string continuous_type_4;
#endif //BOOST_ICL_TEST_CHRONO
typedef ::boost::mpl::list<
unsigned short
,unsigned long
,unsigned long long
,short
,int
,long
,long long
,float
,double
,long double
,boost::rational<int>
#ifdef BOOST_ICL_TEST_XINT
,boost::xint::integer
#endif
#ifdef BOOST_ICL_TEST_CHRONO
,boch::duration<short>
,boch::duration<long double>
,Now::time_point
#endif
,boost_posix_time_ptime
,boost_posix_time_duration
,boost_gregorian_date
,boost_gregorian_date_duration
,int*
,std::string
> ordered_types;
#ifdef BOOST_ICL_TEST_CHRONO
typedef boch::duration<int> ordered_type_1;
typedef boch::duration<double> ordered_type_2;
typedef Now::time_point ordered_type_3;
typedef Now_time_double ordered_type_4;
typedef Now_time_rational ordered_type_5;
#else
typedef int ordered_type_1;
typedef std::string ordered_type_2;
typedef boost_posix_time_ptime ordered_type_3;
typedef boost::rational<int> ordered_type_4;
typedef double ordered_type_5;
#endif //BOOST_ICL_TEST_CHRONO
#endif