mirror of
https://github.com/bolero-MURAKAMI/Sprout.git
synced 2024-12-23 21:25:49 +00:00
net.endian: resolution dependence on Boost
This commit is contained in:
parent
74669a5a8a
commit
f2c09dd3af
139 changed files with 4800 additions and 202 deletions
87
libs/test/random/test/distribution_generic.hpp
Normal file
87
libs/test/random/test/distribution_generic.hpp
Normal file
|
@ -0,0 +1,87 @@
|
|||
#ifndef SPROUT_LIBS_RANDOM_TEST_DISTRIBUTION_GENERIC_HPP
|
||||
#define SPROUT_LIBS_RANDOM_TEST_DISTRIBUTION_GENERIC_HPP
|
||||
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
#include <sprout/random/linear_congruential.hpp>
|
||||
#include <sprout/random/unique_seed.hpp>
|
||||
#include <testspr/tools.hpp>
|
||||
|
||||
namespace testspr {
|
||||
template<typename Distribution, typename Engine = sprout::random::minstd_rand0>
|
||||
void random_distribution_test_generic() {
|
||||
using namespace sprout;
|
||||
{
|
||||
SPROUT_STATIC_CONSTEXPR auto parm = typename Distribution::param_type();
|
||||
|
||||
SPROUT_STATIC_CONSTEXPR auto dist1 = Distribution(parm);
|
||||
SPROUT_STATIC_CONSTEXPR auto dist2 = Distribution(parm);
|
||||
|
||||
// min
|
||||
// max
|
||||
TESTSPR_BOTH_ASSERT(dist1.min() <= dist1.max());
|
||||
|
||||
// param
|
||||
TESTSPR_BOTH_ASSERT(parm == dist1.param());
|
||||
{
|
||||
auto dist_temp = Distribution();
|
||||
dist_temp.param(parm);
|
||||
TESTSPR_ASSERT(dist_temp == dist1);
|
||||
}
|
||||
|
||||
// operator==
|
||||
// operator!=
|
||||
TESTSPR_BOTH_ASSERT(dist1 == dist2);
|
||||
TESTSPR_BOTH_ASSERT(!(dist1 != dist2));
|
||||
|
||||
{
|
||||
std::string s;
|
||||
|
||||
// operator<<
|
||||
{
|
||||
std::ostringstream os;
|
||||
os << dist1;
|
||||
// ??? WORKAROUND: for Clang
|
||||
#if !defined(__clang__)
|
||||
TESTSPR_ASSERT(!!os);
|
||||
#endif
|
||||
s = os.str();
|
||||
}
|
||||
|
||||
auto dist_temp = Distribution();
|
||||
|
||||
// operator>>
|
||||
{
|
||||
std::istringstream is(s);
|
||||
is >> dist_temp;
|
||||
// ??? WORKAROUND: for Clang
|
||||
#if !defined(__clang__)
|
||||
TESTSPR_ASSERT(!!is);
|
||||
#endif
|
||||
}
|
||||
|
||||
TESTSPR_ASSERT(dist_temp == dist1);
|
||||
}
|
||||
|
||||
// operator()
|
||||
{
|
||||
SPROUT_STATIC_CONSTEXPR auto eng = Engine(SPROUT_UNIQUE_SEED);
|
||||
{
|
||||
SPROUT_STATIC_CONSTEXPR auto rnd = dist1(eng);
|
||||
|
||||
// result
|
||||
TESTSPR_BOTH_ASSERT(dist1.min() <= rnd.result());
|
||||
TESTSPR_BOTH_ASSERT(rnd.result() <= dist1.max());
|
||||
|
||||
// engine
|
||||
TESTSPR_BOTH_ASSERT(rnd.engine().min() <= rnd.engine().max());
|
||||
|
||||
// distribution
|
||||
TESTSPR_BOTH_ASSERT(rnd.distribution().min() <= rnd.distribution().max());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} // namespace testspr
|
||||
|
||||
#endif // #ifndef SPROUT_LIBS_RANDOM_TEST_DISTRIBUTION_GENERIC_HPP
|
73
libs/test/random/test/engine_generic.hpp
Normal file
73
libs/test/random/test/engine_generic.hpp
Normal file
|
@ -0,0 +1,73 @@
|
|||
#ifndef SPROUT_LIBS_RANDOM_TEST_ENGINE_GENERIC_HPP
|
||||
#define SPROUT_LIBS_RANDOM_TEST_ENGINE_GENERIC_HPP
|
||||
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
#include <sprout/random/unique_seed.hpp>
|
||||
#include <testspr/tools.hpp>
|
||||
|
||||
namespace testspr {
|
||||
template<typename Engine>
|
||||
void random_engine_test_generic() {
|
||||
using namespace sprout;
|
||||
{
|
||||
SPROUT_STATIC_CONSTEXPR auto eng1 = Engine(SPROUT_UNIQUE_SEED);
|
||||
SPROUT_STATIC_CONSTEXPR auto eng2 = Engine(SPROUT_UNIQUE_SEED);
|
||||
|
||||
// min
|
||||
// max
|
||||
TESTSPR_BOTH_ASSERT(eng1.min() <= eng1.max());
|
||||
|
||||
// operator==
|
||||
// operator!=
|
||||
TESTSPR_BOTH_ASSERT(eng1 == eng1);
|
||||
TESTSPR_BOTH_ASSERT(!(eng1 == eng2));
|
||||
TESTSPR_BOTH_ASSERT(eng1 != eng2);
|
||||
TESTSPR_BOTH_ASSERT(!(eng1 != eng1));
|
||||
|
||||
{
|
||||
std::string s;
|
||||
|
||||
// operator<<
|
||||
{
|
||||
std::ostringstream os;
|
||||
os << eng1;
|
||||
// ??? WORKAROUND: for Clang
|
||||
#if !defined(__clang__)
|
||||
TESTSPR_ASSERT(!!os);
|
||||
#endif
|
||||
|
||||
s = os.str();
|
||||
}
|
||||
|
||||
auto eng_temp = Engine();
|
||||
|
||||
// operator>>
|
||||
{
|
||||
std::istringstream is(s);
|
||||
is >> eng_temp;
|
||||
// ??? WORKAROUND: for Clang
|
||||
#if !defined(__clang__)
|
||||
TESTSPR_ASSERT(!!is);
|
||||
#endif
|
||||
}
|
||||
|
||||
//TESTSPR_ASSERT(eng_temp == eng1);
|
||||
}
|
||||
|
||||
// operator()
|
||||
{
|
||||
SPROUT_STATIC_CONSTEXPR auto rnd = eng1();
|
||||
|
||||
// result
|
||||
TESTSPR_BOTH_ASSERT(eng1.min() <= rnd.result());
|
||||
TESTSPR_BOTH_ASSERT(rnd.result() <= eng1.max());
|
||||
|
||||
// engine
|
||||
TESTSPR_BOTH_ASSERT(rnd.engine().min() <= rnd.engine().max());
|
||||
}
|
||||
}
|
||||
}
|
||||
} // namespace testspr
|
||||
|
||||
#endif // #ifndef SPROUT_LIBS_RANDOM_TEST_ENGINE_GENERIC_HPP
|
|
@ -15,7 +15,7 @@
|
|||
// SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
# ifdef SPROUT_NO_CXX11_CONSTEXPR
|
||||
# if defined(SPROUT_NO_CXX11_CONSTEXPR) && !defined(SPROUT_CONFIG_FORCE_CONSTEXPR)
|
||||
# define SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
# endif // #ifdef SPROUT_NO_CXX11_CONSTEXPR
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
|
@ -24,7 +24,7 @@
|
|||
// SPROUT_CONFIG_DISABLE_CXX14_CONSTEXPR
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_CXX14_CONSTEXPR
|
||||
# ifdef SPROUT_NO_CXX14_CONSTEXPR
|
||||
# if defined(SPROUT_NO_CXX14_CONSTEXPR) && !defined(SPROUT_CONFIG_FORCE_CXX14_CONSTEXPR)
|
||||
# define SPROUT_CONFIG_DISABLE_CXX14_CONSTEXPR
|
||||
# endif // #ifdef SPROUT_NO_CXX14_CONSTEXPR
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
|
@ -33,7 +33,7 @@
|
|||
// SPROUT_CONFIG_DISABLE_DEFAULTED_FUNCTIONS
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_DEFAULTED_FUNCTIONS
|
||||
# ifdef SPROUT_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# if defined(SPROUT_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(SPROUT_CONFIG_FORCE_DEFAULTED_FUNCTIONS)
|
||||
# define SPROUT_CONFIG_DISABLE_DEFAULTED_FUNCTIONS
|
||||
# endif // #ifdef SPROUT_NO_CXX11_CONSTEXPR
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_DEFAULTED_FUNCTIONS
|
||||
|
@ -42,7 +42,7 @@
|
|||
// SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
||||
# ifdef SPROUT_NO_CXX11_DELETED_FUNCTIONS
|
||||
# if defined(SPROUT_NO_CXX11_DELETED_FUNCTIONS) && !defined(SPROUT_CONFIG_FORCE_DELETED_FUNCTIONS)
|
||||
# define SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
||||
# endif // #ifdef SPROUT_NO_CXX11_CONSTEXPR
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
||||
|
@ -51,7 +51,7 @@
|
|||
// SPROUT_CONFIG_DISABLE_EXPLICIT_CONVERSION_OPERATORS
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_EXPLICIT_CONVERSION_OPERATORS
|
||||
# ifdef SPROUT_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# if defined(SPROUT_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) && !defined(SPROUT_CONFIG_FORCE_EXPLICIT_CONVERSION_OPERATORS)
|
||||
# define SPROUT_CONFIG_DISABLE_EXPLICIT_CONVERSION_OPERATORS
|
||||
# endif // #ifdef SPROUT_NO_CXX11_CONSTEXPR
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_EXPLICIT_CONVERSION_OPERATORS
|
||||
|
@ -60,7 +60,7 @@
|
|||
// SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
# ifdef SPROUT_NO_CXX11_NOEXCEPT
|
||||
# if defined(SPROUT_NO_CXX11_NOEXCEPT) && !defined(SPROUT_CONFIG_FORCE_NOEXCEPT)
|
||||
# define SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
# endif // #ifdef SPROUT_NO_CXX11_NOEXCEPT
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
|
@ -69,7 +69,7 @@
|
|||
// SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
# ifdef SPROUT_NO_CXX11_TEMPLATE_ALIASES
|
||||
# if defined(SPROUT_NO_CXX11_TEMPLATE_ALIASES) && !defined(SPROUT_CONFIG_FORCE_TEMPLATE_ALIASES)
|
||||
# define SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
# endif // #ifdef SPROUT_NO_CXX11_TEMPLATE_ALIASES
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
|
@ -78,7 +78,7 @@
|
|||
// SPROUT_USE_USER_DEFINED_LITERALS
|
||||
//
|
||||
#ifndef SPROUT_USE_USER_DEFINED_LITERALS
|
||||
# ifdef SPROUT_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# if defined(SPROUT_NO_CXX11_USER_DEFINED_LITERALS) && !defined(SPROUT_CONFIG_FORCE_USER_DEFINED_LITERALS)
|
||||
# define SPROUT_CONFIG_DISABLE_USER_DEFINED_LITERALS
|
||||
# endif // #ifdef SPROUT_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#endif // #ifndef SPROUT_USE_USER_DEFINED_LITERALS
|
||||
|
@ -87,7 +87,7 @@
|
|||
// SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
# ifdef SPROUT_NO_CXX11_DELEGATING_CONSTRUCTORS
|
||||
# if defined(SPROUT_NO_CXX11_DELEGATING_CONSTRUCTORS) && !defined(SPROUT_CONFIG_FORCE_DELEGATING_CONSTRUCTORS)
|
||||
# define SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
# endif // #ifdef SPROUT_NO_CXX11_DELEGATING_CONSTRUCTORS
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
|
@ -96,7 +96,7 @@
|
|||
// SPROUT_CONFIG_DISABLE_UNICODE_LITERALS
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_UNICODE_LITERALS
|
||||
# ifdef SPROUT_NO_CXX11_UNICODE_LITERALS
|
||||
# if defined(SPROUT_NO_CXX11_UNICODE_LITERALS) && !defined(SPROUT_CONFIG_FORCE_UNICODE_LITERALS)
|
||||
# define SPROUT_CONFIG_DISABLE_UNICODE_LITERALS
|
||||
# endif // #ifdef SPROUT_NO_CXX11_UNICODE_LITERALS
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_UNICODE_LITERALS
|
||||
|
@ -105,7 +105,7 @@
|
|||
// SPROUT_CONFIG_DISABLE_VARIABLE_TEMPLATES
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_VARIABLE_TEMPLATES
|
||||
# ifdef SPROUT_NO_CXX14_VARIABLE_TEMPLATES
|
||||
# if defined(SPROUT_NO_CXX14_VARIABLE_TEMPLATES) && !defined(SPROUT_CONFIG_FORCE_VARIABLE_TEMPLATES)
|
||||
# define SPROUT_CONFIG_DISABLE_VARIABLE_TEMPLATES
|
||||
# endif // #ifdef SPROUT_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_VARIABLE_TEMPLATES
|
||||
|
|
|
@ -8,55 +8,59 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_GCC_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_GCC_HPP
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L)
|
||||
# define SPROUT_GCC_CXX11
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(SPROUT_GCC_CXX11))
|
||||
# define SPROUT_NO_CXX11_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(SPROUT_GCC_CXX11))
|
||||
# define SPROUT_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(SPROUT_GCC_CXX11))
|
||||
# define SPROUT_NO_CXX11_DELETED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(SPROUT_GCC_CXX11))
|
||||
# define SPROUT_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(SPROUT_GCC_CXX11))
|
||||
# define SPROUT_NO_CXX11_NOEXCEPT
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(SPROUT_GCC_CXX11))
|
||||
# define SPROUT_NO_CXX11_TEMPLATE_ALIASES
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(SPROUT_GCC_CXX11))
|
||||
# define SPROUT_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(SPROUT_GCC_CXX11))
|
||||
# define SPROUT_NO_CXX11_DELEGATING_CONSTRUCTORS
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(SPROUT_GCC_CXX11))
|
||||
# define SPROUT_NO_CXX11_UNICODE_LITERALS
|
||||
#endif
|
||||
|
||||
#if ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)) && defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
#if ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)) && defined(SPROUT_GCC_CXX11))
|
||||
# define SPROUT_NO_CXX11_ATTRIBUTES
|
||||
#endif
|
||||
|
||||
#if ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
#if ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(SPROUT_GCC_CXX11))
|
||||
# define SPROUT_HAS_CONSTEXPR_CMATH_FUNCTION
|
||||
#endif
|
||||
|
||||
#if ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
#if ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(SPROUT_GCC_CXX11))
|
||||
# define SPROUT_HAS_CONSTEXPR_COPYSIGN_FUNCTION
|
||||
#endif
|
||||
|
||||
#if ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
#if ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(SPROUT_GCC_CXX11))
|
||||
# define SPROUT_HAS_CONSTEXPR_BIT_OPERATION
|
||||
#endif
|
||||
|
||||
|
|
|
@ -25,7 +25,12 @@
|
|||
# include <sprout/config/stdlib/stlport.hpp>
|
||||
#else
|
||||
|
||||
#if !defined(__LIBCOMO__) && !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) \
|
||||
&& !defined(_LIBCPP_VERSION) && !defined(__GLIBCPP__) && !defined(__GLIBCXX__) \
|
||||
&& !defined(__STL_CONFIG_H) && !defined(__MSL_CPP__) && !defined(__IBMCPP__) \
|
||||
&& !defined(MSIPL_COMPILE_H) && !defined(_YVALS) && !defined(_CPPLIB_VER)
|
||||
# include <utility>
|
||||
#endif
|
||||
|
||||
# if defined(__LIBCOMO__)
|
||||
# include <sprout/config/stdlib/libcomo.hpp>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
# define SPROUT_NO_CXX11_SMART_PTR
|
||||
#endif
|
||||
|
||||
#if (!defined(_HAS_TR1_IMPORTS) || (_HAS_TR1_IMPORTS+0 == 0)) && !defined(SPROUT_NO_CXX11_HDR_TUPLE)
|
||||
#if (!defined(_HAS_TR1_IMPORTS) || (_HAS_TR1_IMPORTS+0 == 0)) && !defined(SPROUT_NO_CXX11_HDR_TUPLE) && (!defined(_CPPLIB_VER) || _CPPLIB_VER < 610)
|
||||
# define SPROUT_NO_CXX11_HDR_TUPLE
|
||||
#endif
|
||||
|
||||
|
@ -42,7 +42,10 @@
|
|||
# define SPROUT_NO_CXX11_ATOMIC_SMART_PTR
|
||||
#endif
|
||||
|
||||
#define SPROUT_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 610
|
||||
# define SPROUT_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# define SPROUT_NO_CXX11_HDR_ATOMIC
|
||||
#endif
|
||||
|
||||
#define SPROUT_NO_CXX14_INITIALIZER_LIST
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#define SPROUT_NO_CXX11_HDR_FUTURE
|
||||
#define SPROUT_NO_CXX11_HDR_TYPE_TRAITS
|
||||
#define SPROUT_NO_CXX11_ATOMIC_SMART_PTR
|
||||
#define SPROUT_NO_CXX11_HDR_ATOMIC
|
||||
|
||||
#include <utility>
|
||||
#if defined(_LIBCPP_VERSION) && (_LIBCPP_VERSION <= 1001)
|
||||
|
|
|
@ -8,7 +8,11 @@
|
|||
#ifndef SPROUT_CONFIG_STDLIB_LIBSTDCPP3_HPP
|
||||
#define SPROUT_CONFIG_STDLIB_LIBSTDCPP3_HPP
|
||||
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103)
|
||||
# define SPROUT_LIBSTDCXX11
|
||||
#endif
|
||||
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || !defined(SPROUT_LIBSTDCXX11)
|
||||
# define SPROUT_NO_CXX11_HDR_ARRAY
|
||||
# define SPROUT_NO_CXX11_HDR_REGEX
|
||||
# define SPROUT_NO_CXX11_HDR_TUPLE
|
||||
|
@ -17,7 +21,7 @@
|
|||
# define SPROUT_NO_CXX11_HDR_FUNCTIONAL
|
||||
#endif
|
||||
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(SPROUT_LIBSTDCXX11)
|
||||
# define SPROUT_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# define SPROUT_NO_CXX11_HDR_FORWARD_LIST
|
||||
# define SPROUT_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
|
@ -32,9 +36,9 @@
|
|||
# define SPROUT_NO_CXX11_HDR_MUTEX
|
||||
#endif
|
||||
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(SPROUT_LIBSTDCXX11)
|
||||
# if defined(__clang__)
|
||||
# if !__has_feature(cxx_constexpr) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# if !__has_feature(cxx_constexpr) || !defined(SPROUT_LIBSTDCXX11)
|
||||
# define SPROUT_NO_CXX11_CHAR_TRAITS
|
||||
# define SPROUT_NO_CXX11_NUMERIC_LIMITS
|
||||
# endif
|
||||
|
@ -44,26 +48,42 @@
|
|||
# endif
|
||||
#endif
|
||||
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(SPROUT_LIBSTDCXX11)
|
||||
# define SPROUT_NO_CXX11_HDR_FUTURE
|
||||
# define SPROUT_NO_CXX11_HDR_RANDOM
|
||||
#endif
|
||||
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(SPROUT_LIBSTDCXX11)
|
||||
# define SPROUT_NO_CXX11_HDR_TYPEINDEX
|
||||
#endif
|
||||
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(SPROUT_LIBSTDCXX11)
|
||||
# define SPROUT_NO_CXX11_HDR_CHRONO
|
||||
# define SPROUT_NO_CXX11_ALLOCATOR
|
||||
#endif
|
||||
|
||||
#define SPROUT_NO_CXX11_HDR_THREAD
|
||||
#define SPROUT_NO_CXX11_HDR_TYPE_TRAITS
|
||||
#define SPROUT_NO_CXX11_HDR_CODECVT
|
||||
#define SPROUT_NO_CXX11_ATOMIC_SMART_PTR
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8) || !defined(SPROUT_LIBSTDCXX11)
|
||||
# define SPROUT_NO_CXX11_HDR_ATOMIC
|
||||
# define SPROUT_NO_CXX11_HDR_THREAD
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 9) || !defined(SPROUT_LIBSTDCXX11)
|
||||
# define SPROUT_NO_CXX11_HDR_REGEX
|
||||
# define SPROUT_NO_CXX11_HDR_THREAD
|
||||
#endif
|
||||
|
||||
#if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7)))
|
||||
# define SPROUT_NO_CXX11_HDR_ATOMIC
|
||||
#endif
|
||||
|
||||
#if __GNUC__ < 5 || (__GNUC__ == 5 && __GNUC_MINOR__ < 1) || !defined(SPROUT_LIBSTDCXX11)
|
||||
# define SPROUT_NO_CXX11_HDR_TYPE_TRAITS
|
||||
# define SPROUT_NO_CXX11_HDR_CODECVT
|
||||
# define SPROUT_NO_CXX11_ATOMIC_SMART_PTR
|
||||
# define SPROUT_NO_CXX11_STD_ALIGN
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(SPROUT_LIBSTDCXX11))
|
||||
# define SPROUT_NO_CXX14_INITIALIZER_LIST
|
||||
#endif
|
||||
|
||||
|
|
|
@ -65,11 +65,15 @@
|
|||
// SPROUT_DEFAULTED_DESTRUCTOR_DECL
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_DEFAULTED_FUNCTIONS
|
||||
# define SPROUT_DEFAULTED_DEFAULT_CONSTRUCTOR_DECL = default;
|
||||
# define SPROUT_DEFAULTED_DESTRUCTOR_DECL = default;
|
||||
# define SPROUT_DEFAULTED_FUNCTION_DECL = default;
|
||||
# define SPROUT_DEFAULTED_DEFAULT_CONSTRUCTOR_DECL SPROUT_DEFAULTED_FUNCTION_DECL
|
||||
# define SPROUT_DEFAULTED_DESTRUCTOR_DECL SPROUT_DEFAULTED_FUNCTION_DECL
|
||||
# define SPROUT_DEFAULTED_FUNCTION(FUNC, BODY) FUNC SPROUT_DEFAULTED_FUNCTION_DECL
|
||||
#else // #ifndef SPROUT_CONFIG_DISABLE_DEFAULTED_FUNCTIONS
|
||||
# define SPROUT_DEFAULTED_DEFAULT_CONSTRUCTOR_DECL SPROUT_NOEXCEPT {}
|
||||
# define SPROUT_DEFAULTED_DESTRUCTOR_DECL SPROUT_NOEXCEPT {}
|
||||
# define SPROUT_DEFAULTED_FUNCTION_DECL SPROUT_NOEXCEPT {}
|
||||
# define SPROUT_DEFAULTED_DEFAULT_CONSTRUCTOR_DECL SPROUT_DEFAULTED_FUNCTION_DECL
|
||||
# define SPROUT_DEFAULTED_DESTRUCTOR_DECL SPROUT_DEFAULTED_FUNCTION_DECL
|
||||
# define SPROUT_DEFAULTED_FUNCTION(FUNC, BODY) FUNC BODY
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_DEFAULTED_FUNCTIONS
|
||||
|
||||
//
|
||||
|
@ -77,8 +81,10 @@
|
|||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
||||
# define SPROUT_DELETED_FUNCTION_DECL = delete;
|
||||
# define SPROUT_DELETED_FUNCTION(FUNC) FUNC SPROUT_DELETED_FUNCTION_DECL
|
||||
#else // #ifndef SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
||||
# define SPROUT_DELETED_FUNCTION_DECL ;
|
||||
# define SPROUT_DELETED_FUNCTION(FUNC) private: FUNC SPROUT_DELETED_FUNCTION_DECL
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
||||
|
||||
//
|
||||
|
@ -92,6 +98,43 @@
|
|||
# define SPROUT_DEPRECATED
|
||||
#endif
|
||||
|
||||
//
|
||||
// SPROUT_FORCEINLINE
|
||||
//
|
||||
#if defined(_MSC_VER)
|
||||
# define SPROUT_FORCEINLINE __forceinline
|
||||
#elif defined(__GNUC__) && (__GNUC__ > 3)
|
||||
# define SPROUT_FORCEINLINE inline __attribute__ ((__always_inline__))
|
||||
#else
|
||||
# define SPROUT_FORCEINLINE inline
|
||||
#endif
|
||||
|
||||
//
|
||||
// SPROUT_NOINLINE
|
||||
//
|
||||
#if defined(_MSC_VER)
|
||||
# define SPROUT_NOINLINE __declspec(noinline)
|
||||
#elif defined(__GNUC__) && (__GNUC__ > 3)
|
||||
# if defined(__CUDACC__)
|
||||
# define SPROUT_NOINLINE __attribute__ ((noinline))
|
||||
# else
|
||||
# define SPROUT_NOINLINE __attribute__ ((__noinline__))
|
||||
# endif
|
||||
#else
|
||||
# define SPROUT_NOINLINE
|
||||
#endif
|
||||
|
||||
//
|
||||
// SPROUT_NORETURN
|
||||
//
|
||||
#if defined(_MSC_VER)
|
||||
# define SPROUT_NORETURN __declspec(noreturn)
|
||||
#elif defined(__GNUC__)
|
||||
# define SPROUT_NORETURN __attribute__ ((__noreturn__))
|
||||
#else
|
||||
# define SPROUT_NORETURN
|
||||
#endif
|
||||
|
||||
//
|
||||
// SPROUT_USE_EXPLICIT_CONVERSION_OPERATORS
|
||||
// SPROUT_EXPLICIT_CONVERSION
|
||||
|
|
64
sprout/config/user.hpp
Normal file
64
sprout/config/user.hpp
Normal file
|
@ -0,0 +1,64 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
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 SPROUT_CONFIG_USER_HPP
|
||||
#define SPROUT_CONFIG_USER_HPP
|
||||
|
||||
//
|
||||
// 言語機能を無効化するコンフィグ
|
||||
// ユーザ定義されない場合、処理系に応じて自動的に定義される。
|
||||
//
|
||||
//#define SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
//#define SPROUT_CONFIG_DISABLE_CXX14_CONSTEXPR
|
||||
//#define SPROUT_CONFIG_DISABLE_DEFAULTED_FUNCTIONS
|
||||
//#define SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
||||
//#define SPROUT_CONFIG_DISABLE_EXPLICIT_CONVERSION_OPERATORS
|
||||
//#define SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
//#define SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
//#define SPROUT_CONFIG_DISABLE_USER_DEFINED_LITERALS
|
||||
//#define SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
//#define SPROUT_CONFIG_DISABLE_UNICODE_LITERALS
|
||||
//#define SPROUT_CONFIG_DISABLE_VARIABLE_TEMPLATES
|
||||
|
||||
//
|
||||
// 言語機能を強制的に有効化するコンフィグ
|
||||
// SPROUT_CONFIG_DISABLE_*** の自動定義を抑制する。
|
||||
// SPROUT_CONFIG_DISABLE_*** がユーザ定義されている場合、無効化のほうが優先される。
|
||||
//
|
||||
//#define SPROUT_CONFIG_FORCE_CONSTEXPR
|
||||
//#define SPROUT_CONFIG_FORCE_CXX14_CONSTEXPR
|
||||
//#define SPROUT_CONFIG_FORCE_DEFAULTED_FUNCTIONS
|
||||
//#define SPROUT_CONFIG_FORCE_DELETED_FUNCTIONS
|
||||
//#define SPROUT_CONFIG_FORCE_EXPLICIT_CONVERSION_OPERATORS
|
||||
//#define SPROUT_CONFIG_FORCE_NOEXCEPT
|
||||
//#define SPROUT_CONFIG_FORCE_TEMPLATE_ALIASES
|
||||
//#define SPROUT_CONFIG_FORCE_USER_DEFINED_LITERALS
|
||||
//#define SPROUT_CONFIG_FORCE_DELEGATING_CONSTRUCTORS
|
||||
//#define SPROUT_CONFIG_FORCE_UNICODE_LITERALS
|
||||
//#define SPROUT_CONFIG_FORCE_VARIABLE_TEMPLATES
|
||||
|
||||
//
|
||||
// 実装に外部ライブラリを使用するコンフィグ
|
||||
//
|
||||
//#define SPROUT_CONFIG_USE_SSCRISK_CEL
|
||||
|
||||
//
|
||||
// 処理系機能を無効化するコンフィグ
|
||||
// ユーザ定義されない場合、処理系に応じて自動的に定義される。
|
||||
//
|
||||
//#define SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION
|
||||
//#define SPROUT_CONFIG_DISABLE_BUILTIN_COPYSIGN_FUNCTION
|
||||
//#define SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
|
||||
|
||||
//
|
||||
// 実装の詳細を切り替えるコンフィグ
|
||||
//
|
||||
//#define SPROUT_CONFIG_DISABLE_LARGE_FLOAT_ROUNDING
|
||||
//#define SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
||||
//#define SPROUT_CONFIG_DISABLE_SUPPORT_EFFICIENT_ARRAY_ITERATION
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_USER_HPP
|
|
@ -13,163 +13,185 @@
|
|||
|
||||
#include <cstdint>
|
||||
#include <sprout/config.hpp>
|
||||
#include <boost/detail/endian.hpp>
|
||||
|
||||
#include <sprout/assert.hpp>
|
||||
#include <sprout/predef/detail/endian_compat.hpp>
|
||||
|
||||
namespace sprout {
|
||||
namespace net {
|
||||
namespace detail {
|
||||
/*
|
||||
* lshift_by
|
||||
* Left shift 'val' by 'n' bytes
|
||||
*/
|
||||
template<typename T>
|
||||
SPROUT_CONSTEXPR T lshift_by(T val, std::uint_fast8_t n) {
|
||||
return val << (n * 8);
|
||||
}
|
||||
namespace net {
|
||||
namespace detail {
|
||||
/*
|
||||
* lshift_by
|
||||
* Left shift 'val' by 'n' bytes
|
||||
*/
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR T
|
||||
lshift_by(T val, std::uint_fast8_t n) {
|
||||
return val << (n * 8);
|
||||
}
|
||||
|
||||
/*
|
||||
* rshift_by
|
||||
* Right shift 'val' by 'n' bytes
|
||||
*/
|
||||
template<typename T>
|
||||
SPROUT_CONSTEXPR T rshift_by(T val, std::uint_fast8_t n) {
|
||||
return val >> (n * 8);
|
||||
}
|
||||
/*
|
||||
* rshift_by
|
||||
* Right shift 'val' by 'n' bytes
|
||||
*/
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR T
|
||||
rshift_by(T val, std::uint_fast8_t n) {
|
||||
return val >> (n * 8);
|
||||
}
|
||||
|
||||
/*
|
||||
* mask_t
|
||||
* Mask 'n'th byte
|
||||
*/
|
||||
template<typename T>
|
||||
SPROUT_CONSTEXPR T mask_at(std::uint_fast8_t n) {
|
||||
return sprout::net::detail::lshift_by(T(0xFF), n);
|
||||
}
|
||||
/*
|
||||
* mask_t
|
||||
* Mask 'n'th byte
|
||||
*/
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR T
|
||||
mask_at(std::uint_fast8_t n) {
|
||||
return sprout::net::detail::lshift_by(T(0xFF), n);
|
||||
}
|
||||
|
||||
/*
|
||||
* byte_at
|
||||
* Get 'n'th byte from 'val'
|
||||
*/
|
||||
template<typename T>
|
||||
SPROUT_CONSTEXPR T byte_at(T val, std::uint_fast8_t n) {
|
||||
return sprout::net::detail::rshift_by((val & sprout::net::detail::mask_at<T>(n)), n);
|
||||
}
|
||||
/*
|
||||
* byte_at
|
||||
* Get 'n'th byte from 'val'
|
||||
*/
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR T
|
||||
byte_at(T val, std::uint_fast8_t n) {
|
||||
return sprout::net::detail::rshift_by((val & sprout::net::detail::mask_at<T>(n)), n);
|
||||
}
|
||||
|
||||
/*
|
||||
* replace_at
|
||||
* Replace, in 'val', 'n'th byte with 'byte_val'
|
||||
*/
|
||||
template<typename T>
|
||||
SPROUT_CONSTEXPR T replace_at(T val, std::uint8_t byte_val, std::uint_fast8_t n) {
|
||||
return (val & ~sprout::net::detail::mask_at<T>(n)) | sprout::net::detail::lshift_by(T(byte_val), n);
|
||||
}
|
||||
/*
|
||||
* replace_at
|
||||
* Replace, in 'val', 'n'th byte with 'byte_val'
|
||||
*/
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR T
|
||||
replace_at(T val, std::uint8_t byte_val, std::uint_fast8_t n) {
|
||||
return (val & ~sprout::net::detail::mask_at<T>(n)) | sprout::net::detail::lshift_by(T(byte_val), n);
|
||||
}
|
||||
|
||||
/*
|
||||
* copy
|
||||
* Copy, in 'val', byte at index 'from' to byte at index 'to'
|
||||
*/
|
||||
template<typename T>
|
||||
SPROUT_CONSTEXPR T copy(T val, std::uint_fast8_t from, std::uint_fast8_t to) {
|
||||
return sprout::net::detail::replace_at(val, sprout::net::detail::byte_at(val, from), to);
|
||||
}
|
||||
/*
|
||||
* copy
|
||||
* Copy, in 'val', byte at index 'from' to byte at index 'to'
|
||||
*/
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR T
|
||||
copy(T val, std::uint_fast8_t from, std::uint_fast8_t to) {
|
||||
return sprout::net::detail::replace_at(val, sprout::net::detail::byte_at(val, from), to);
|
||||
}
|
||||
|
||||
/*
|
||||
* swap
|
||||
* Swap, in 'val', byte at index 'n1' with byte at index 'n2'
|
||||
*/
|
||||
template<typename T>
|
||||
SPROUT_CONSTEXPR T swap(T val, std::uint_fast8_t n1, std::uint_fast8_t n2) {
|
||||
return sprout::net::detail::replace_at(sprout::net::detail::copy(val, n1, n2), sprout::net::detail::byte_at(val, n2), n1);
|
||||
}
|
||||
/*
|
||||
* swap
|
||||
* Swap, in 'val', byte at index 'n1' with byte at index 'n2'
|
||||
*/
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR T
|
||||
swap(T val, std::uint_fast8_t n1, std::uint_fast8_t n2) {
|
||||
return sprout::net::detail::replace_at(sprout::net::detail::copy(val, n1, n2), sprout::net::detail::byte_at(val, n2), n1);
|
||||
}
|
||||
|
||||
/*
|
||||
* reverse_impl
|
||||
* Swap, in 'val', byte at index 'n1' with byte at index 'n2' in 'val', increment n1, decrement n2 until n1 > n2
|
||||
*/
|
||||
template<typename T>
|
||||
SPROUT_CONSTEXPR T reverse_impl(T val, std::uint_fast8_t n1, std::uint_fast8_t n2) {
|
||||
return n1 > n2 ? val : sprout::net::detail::reverse_impl(swap(val, n1, n2), n1 + 1, n2 - 1);
|
||||
}
|
||||
/*
|
||||
* reverse_impl
|
||||
* Swap, in 'val', byte at index 'n1' with byte at index 'n2' in 'val', increment n1, decrement n2 until n1 > n2
|
||||
*/
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR T
|
||||
reverse_impl(T val, std::uint_fast8_t n1, std::uint_fast8_t n2) {
|
||||
return n1 > n2 ? val : sprout::net::detail::reverse_impl(swap(val, n1, n2), n1 + 1, n2 - 1);
|
||||
}
|
||||
|
||||
/*
|
||||
* reverse
|
||||
* Reverse 'val'
|
||||
*/
|
||||
template<typename T>
|
||||
SPROUT_CONSTEXPR T reverse(T val) {
|
||||
return sprout::net::detail::reverse_impl(val, 0, sizeof(T) - 1);
|
||||
}
|
||||
/*
|
||||
* reverse
|
||||
* Reverse 'val'
|
||||
*/
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR T
|
||||
reverse(T val) {
|
||||
return sprout::net::detail::reverse_impl(val, 0, sizeof(T) - 1);
|
||||
}
|
||||
|
||||
/*
|
||||
* reverse_words_impl
|
||||
* Swap, in 'val', byte at index 'n' - 1 with byte at index 'n' - 2, decrement n by 2 until n == 0
|
||||
*/
|
||||
template<typename T>
|
||||
SPROUT_CONSTEXPR T reverse_words_impl(T val, std::uint_fast8_t n) {
|
||||
return n == 0 ? val : sprout::net::detail::reverse_words_impl(swap(val, n - 1, n - 2), n - 2);
|
||||
}
|
||||
/*
|
||||
* reverse_words_impl
|
||||
* Swap, in 'val', byte at index 'n' - 1 with byte at index 'n' - 2, decrement n by 2 until n == 0
|
||||
*/
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR T
|
||||
reverse_words_impl(T val, std::uint_fast8_t n) {
|
||||
return n == 0 ? val : sprout::net::detail::reverse_words_impl(swap(val, n - 1, n - 2), n - 2);
|
||||
}
|
||||
|
||||
/*
|
||||
* reverse_words
|
||||
* Reverse each word in 'val'
|
||||
*/
|
||||
template<typename T>
|
||||
SPROUT_CONSTEXPR T reverse_words(T val) {
|
||||
return sprout::net::detail::reverse_words_impl(val, sizeof(T));
|
||||
}
|
||||
} // namespace detail
|
||||
/*
|
||||
* reverse_words
|
||||
* Reverse each word in 'val'
|
||||
*/
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR T
|
||||
reverse_words(T val) {
|
||||
return sprout::net::detail::reverse_words_impl(val, sizeof(T));
|
||||
}
|
||||
} // namespace detail
|
||||
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3620.pdf
|
||||
// template<>
|
||||
// constexpr unsigned-integral hton(unsigned-integral host)
|
||||
template<typename T>
|
||||
SPROUT_CONSTEXPR T hton SPROUT_PREVENT_MACRO_SUBSTITUTION (T host) {
|
||||
#if defined(BOOST_BIG_ENDIAN)
|
||||
return host;
|
||||
#elif defined(BOOST_LITTLE_ENDIAN)
|
||||
return sprout::net::detail::reverse(host);
|
||||
#elif defined(BOOST_PDP_ENDIAN)
|
||||
return sprout::net::detail::reverse_words(host);
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3620.pdf
|
||||
// template<>
|
||||
// constexpr unsigned-integral hton(unsigned-integral host)
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR T
|
||||
hton SPROUT_PREVENT_MACRO_SUBSTITUTION (T host) {
|
||||
#if defined(SPROUT_BIG_ENDIAN)
|
||||
return host;
|
||||
#elif defined(SPROUT_LITTLE_ENDIAN)
|
||||
return sprout::net::detail::reverse(host);
|
||||
#elif defined(SPROUT_PDP_ENDIAN)
|
||||
return sprout::net::detail::reverse_words(host);
|
||||
#else
|
||||
return SPROUT_ASSERT_MSG(0, "hton: unsupported endian"), host;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3620.pdf
|
||||
// template<>
|
||||
// constexpr unsigned-integral ntoh(unsigned-integral net)
|
||||
template<typename T>
|
||||
SPROUT_CONSTEXPR T ntoh SPROUT_PREVENT_MACRO_SUBSTITUTION (T net) {
|
||||
#if defined(BOOST_BIG_ENDIAN)
|
||||
return net;
|
||||
#elif defined(BOOST_LITTLE_ENDIAN)
|
||||
return sprout::net::detail::reverse(net);
|
||||
#elif defined(BOOST_PDP_ENDIAN)
|
||||
return sprout::net::detail::reverse_words(host);
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3620.pdf
|
||||
// template<>
|
||||
// constexpr unsigned-integral ntoh(unsigned-integral net)
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR T
|
||||
ntoh SPROUT_PREVENT_MACRO_SUBSTITUTION (T net) {
|
||||
#if defined(SPROUT_BIG_ENDIAN)
|
||||
return net;
|
||||
#elif defined(SPROUT_LITTLE_ENDIAN)
|
||||
return sprout::net::detail::reverse(net);
|
||||
#elif defined(SPROUT_PDP_ENDIAN)
|
||||
return sprout::net::detail::reverse_words(host);
|
||||
#else
|
||||
return SPROUT_ASSERT_MSG(0, "ntoh: unsupported endian"), net;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3620.pdf
|
||||
// uint32_t htonl(uint32_t host32)
|
||||
SPROUT_CONSTEXPR std::uint32_t htonl SPROUT_PREVENT_MACRO_SUBSTITUTION (std::uint32_t host32) {
|
||||
return sprout::net::hton SPROUT_PREVENT_MACRO_SUBSTITUTION (host32);
|
||||
}
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3620.pdf
|
||||
// uint32_t htonl(uint32_t host32)
|
||||
inline SPROUT_CONSTEXPR std::uint32_t
|
||||
htonl SPROUT_PREVENT_MACRO_SUBSTITUTION (std::uint32_t host32) {
|
||||
return sprout::net::hton SPROUT_PREVENT_MACRO_SUBSTITUTION (host32);
|
||||
}
|
||||
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3620.pdf
|
||||
// uint16_t htons(uint16_t host16)
|
||||
SPROUT_CONSTEXPR std::uint16_t htons SPROUT_PREVENT_MACRO_SUBSTITUTION (std::uint16_t host16) {
|
||||
return sprout::net::hton SPROUT_PREVENT_MACRO_SUBSTITUTION (host16);
|
||||
}
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3620.pdf
|
||||
// uint16_t htons(uint16_t host16)
|
||||
inline SPROUT_CONSTEXPR std::uint16_t
|
||||
htons SPROUT_PREVENT_MACRO_SUBSTITUTION (std::uint16_t host16) {
|
||||
return sprout::net::hton SPROUT_PREVENT_MACRO_SUBSTITUTION (host16);
|
||||
}
|
||||
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3620.pdf
|
||||
// uint32_t ntohl(uint32_t net32)
|
||||
SPROUT_CONSTEXPR std::uint32_t ntohl SPROUT_PREVENT_MACRO_SUBSTITUTION (std::uint32_t net32) {
|
||||
return sprout::net::ntoh SPROUT_PREVENT_MACRO_SUBSTITUTION (net32);
|
||||
}
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3620.pdf
|
||||
// uint32_t ntohl(uint32_t net32)
|
||||
inline SPROUT_CONSTEXPR std::uint32_t
|
||||
ntohl SPROUT_PREVENT_MACRO_SUBSTITUTION (std::uint32_t net32) {
|
||||
return sprout::net::ntoh SPROUT_PREVENT_MACRO_SUBSTITUTION (net32);
|
||||
}
|
||||
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3620.pdf
|
||||
// uint16_t ntohs(uint32_t net16)
|
||||
SPROUT_CONSTEXPR std::uint16_t ntohs SPROUT_PREVENT_MACRO_SUBSTITUTION (std::uint16_t net16) {
|
||||
return sprout::net::ntoh SPROUT_PREVENT_MACRO_SUBSTITUTION (net16);
|
||||
}
|
||||
} //namespace net
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3620.pdf
|
||||
// uint16_t ntohs(uint32_t net16)
|
||||
inline SPROUT_CONSTEXPR std::uint16_t
|
||||
ntohs SPROUT_PREVENT_MACRO_SUBSTITUTION (std::uint16_t net16) {
|
||||
return sprout::net::ntoh SPROUT_PREVENT_MACRO_SUBSTITUTION (net16);
|
||||
}
|
||||
} //namespace net
|
||||
} // namespace sprout
|
||||
|
||||
#endif // #ifndef SPROUT_NET_ENDIAN_HPP
|
||||
|
|
21
sprout/predef.hpp
Normal file
21
sprout/predef.hpp
Normal file
|
@ -0,0 +1,21 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HPP
|
||||
#define SPROUT_PREDEF_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/language.hpp>
|
||||
#include <sprout/predef/architecture.hpp>
|
||||
#include <sprout/predef/compiler.hpp>
|
||||
#include <sprout/predef/library.hpp>
|
||||
#include <sprout/predef/os.hpp>
|
||||
#include <sprout/predef/other.hpp>
|
||||
#include <sprout/predef/platform.hpp>
|
||||
#include <sprout/predef/hardware.hpp>
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HPP
|
30
sprout/predef/architecture.hpp
Normal file
30
sprout/predef/architecture.hpp
Normal file
|
@ -0,0 +1,30 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/architecture/alpha.hpp>
|
||||
#include <sprout/predef/architecture/arm.hpp>
|
||||
#include <sprout/predef/architecture/blackfin.hpp>
|
||||
#include <sprout/predef/architecture/convex.hpp>
|
||||
#include <sprout/predef/architecture/ia64.hpp>
|
||||
#include <sprout/predef/architecture/m68k.hpp>
|
||||
#include <sprout/predef/architecture/mips.hpp>
|
||||
#include <sprout/predef/architecture/parisc.hpp>
|
||||
#include <sprout/predef/architecture/ppc.hpp>
|
||||
#include <sprout/predef/architecture/pyramid.hpp>
|
||||
#include <sprout/predef/architecture/rs6k.hpp>
|
||||
#include <sprout/predef/architecture/sparc.hpp>
|
||||
#include <sprout/predef/architecture/superh.hpp>
|
||||
#include <sprout/predef/architecture/sys370.hpp>
|
||||
#include <sprout/predef/architecture/sys390.hpp>
|
||||
#include <sprout/predef/architecture/x86.hpp>
|
||||
#include <sprout/predef/architecture/z.hpp>
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_HPP
|
38
sprout/predef/architecture/alpha.hpp
Normal file
38
sprout/predef/architecture/alpha.hpp
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_ALPHA_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_ALPHA_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_ARCH_ALPHA 0
|
||||
|
||||
#if defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
|
||||
# undef SPROUT_ARCH_ALPHA
|
||||
# if !defined(SPROUT_ARCH_ALPHA) && defined(__alpha_ev4__)
|
||||
# define SPROUT_ARCH_ALPHA SPROUT_VERSION_NUMBER(4, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_ALPHA) && defined(__alpha_ev5__)
|
||||
# define SPROUT_ARCH_ALPHA SPROUT_VERSION_NUMBER(5, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_ALPHA) && defined(__alpha_ev6__)
|
||||
# define SPROUT_ARCH_ALPHA SPROUT_VERSION_NUMBER(6, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_ALPHA)
|
||||
# define SPROUT_ARCH_ALPHA 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_ALPHA
|
||||
# define SPROUT_ARCH_ALPHA_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_ALPHA_NAME "DEC Alpha"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_ALPHA_HPP
|
41
sprout/predef/architecture/arm.hpp
Normal file
41
sprout/predef/architecture/arm.hpp
Normal file
|
@ -0,0 +1,41 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_ARM_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_ARM_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_ARCH_ARM 0
|
||||
|
||||
#if defined(__arm__) || defined(__arm64) || defined(__thumb__) || defined(__TARGET_ARCH_ARM) || defined(__TARGET_ARCH_THUMB) || defined(_M_ARM)
|
||||
# undef SPROUT_ARCH_ARM
|
||||
# if !defined(SPROUT_ARCH_ARM) && defined(__arm64)
|
||||
# define SPROUT_ARCH_ARM SPROUT_VERSION_NUMBER(8, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_ARM) && defined(__TARGET_ARCH_ARM)
|
||||
# define SPROUT_ARCH_ARM SPROUT_VERSION_NUMBER(__TARGET_ARCH_ARM, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_ARM) && defined(__TARGET_ARCH_THUMB)
|
||||
# define SPROUT_ARCH_ARM SPROUT_VERSION_NUMBER(__TARGET_ARCH_THUMB, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_ARM) && defined(_M_ARM)
|
||||
# define SPROUT_ARCH_ARM SPROUT_VERSION_NUMBER(_M_ARM, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_ARM)
|
||||
# define SPROUT_ARCH_ARM 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_ARM
|
||||
# define SPROUT_ARCH_ARM_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_ARM_NAME "ARM"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_ARM_HPP
|
26
sprout/predef/architecture/blackfin.hpp
Normal file
26
sprout/predef/architecture/blackfin.hpp
Normal file
|
@ -0,0 +1,26 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_BLACKFIN_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_BLACKFIN_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#define SPROUT_ARCH_BLACKFIN 0
|
||||
|
||||
#if defined(__bfin__) || defined(__BFIN__) || defined(bfin) || defined(BFIN)
|
||||
# undef SPROUT_ARCH_BLACKFIN
|
||||
# define SPROUT_ARCH_BLACKFIN 1
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_BLACKFIN
|
||||
# define SPROUT_ARCH_BLACKFIN_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_BLACKFIN_NAME "Blackfin"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_BLACKFIN_HPP
|
44
sprout/predef/architecture/convex.hpp
Normal file
44
sprout/predef/architecture/convex.hpp
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_CONVEX_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_CONVEX_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_ARCH_CONVEX 0
|
||||
|
||||
#if defined(__convex__)
|
||||
# undef SPROUT_ARCH_CONVEX
|
||||
# if !defined(SPROUT_ARCH_CONVEX) && defined(__convex_c1__)
|
||||
# define SPROUT_ARCH_CONVEX SPROUT_VERSION_NUMBER(1, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_CONVEX) && defined(__convex_c2__)
|
||||
# define SPROUT_ARCH_CONVEX SPROUT_VERSION_NUMBER(2, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_CONVEX) && defined(__convex_c32__)
|
||||
# define SPROUT_ARCH_CONVEX SPROUT_VERSION_NUMBER(3, 2, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_CONVEX) && defined(__convex_c34__)
|
||||
# define SPROUT_ARCH_CONVEX SPROUT_VERSION_NUMBER(3, 4, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_CONVEX) && defined(__convex_c38__)
|
||||
# define SPROUT_ARCH_CONVEX SPROUT_VERSION_NUMBER(3, 8 ,0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_CONVEX)
|
||||
# define SPROUT_ARCH_CONVEX 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_CONVEX
|
||||
# define SPROUT_ARCH_CONVEX_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_CONVEX_NAME "Convex Computer"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_CONVEX_HPP
|
26
sprout/predef/architecture/ia64.hpp
Normal file
26
sprout/predef/architecture/ia64.hpp
Normal file
|
@ -0,0 +1,26 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_IA64_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_IA64_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#define SPROUT_ARCH_IA64 0
|
||||
|
||||
#if defined(__ia64__) || defined(_IA64) || defined(__IA64__) || defined(__ia64) || defined(_M_IA64) || defined(__itanium__)
|
||||
# undef SPROUT_ARCH_IA64
|
||||
# define SPROUT_ARCH_IA64 1
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_IA64
|
||||
# define SPROUT_ARCH_IA64_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_IA64_NAME "Intel Itanium 64"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_IA64_HPP
|
47
sprout/predef/architecture/m68k.hpp
Normal file
47
sprout/predef/architecture/m68k.hpp
Normal file
|
@ -0,0 +1,47 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_M68K_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_M68K_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_ARCH_M68K 0
|
||||
|
||||
#if defined(__m68k__) || defined(M68000)
|
||||
# undef SPROUT_ARCH_M68K
|
||||
# if !defined(SPROUT_ARCH_M68K) && (defined(__mc68060__) || defined(mc68060) || defined(__mc68060))
|
||||
# define SPROUT_ARCH_M68K SPROUT_VERSION_NUMBER(6, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_M68K) && (defined(__mc68040__) || defined(mc68040) || defined(__mc68040))
|
||||
# define SPROUT_ARCH_M68K SPROUT_VERSION_NUMBER(4, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_M68K) && (defined(__mc68030__) || defined(mc68030) || defined(__mc68030))
|
||||
# define SPROUT_ARCH_M68K SPROUT_VERSION_NUMBER(3, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_M68K) && (defined(__mc68020__) || defined(mc68020) || defined(__mc68020))
|
||||
# define SPROUT_ARCH_M68K SPROUT_VERSION_NUMBER(2, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_M68K) && (defined(__mc68010__) || defined(mc68010) || defined(__mc68010))
|
||||
# define SPROUT_ARCH_M68K SPROUT_VERSION_NUMBER(1, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_M68K) && (defined(__mc68000__) || defined(mc68000) || defined(__mc68000))
|
||||
# define SPROUT_ARCH_M68K 1
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_M68K)
|
||||
# define SPROUT_ARCH_M68K 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_M68K
|
||||
# define SPROUT_ARCH_M68K_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_M68K_NAME "Motorola 68k"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_M68K_HPP
|
45
sprout/predef/architecture/mips.hpp
Normal file
45
sprout/predef/architecture/mips.hpp
Normal file
|
@ -0,0 +1,45 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_MIPS_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_MIPS_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_ARCH_MIPS 0
|
||||
|
||||
#if defined(__mips__) || defined(__mips) || \
|
||||
defined(__MIPS__)
|
||||
# undef SPROUT_ARCH_MIPS
|
||||
# if !defined(SPROUT_ARCH_MIPS) && (defined(__mips))
|
||||
# define SPROUT_ARCH_MIPS SPROUT_VERSION_NUMBER(__mips, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_MIPS) && (defined(_MIPS_ISA_MIPS1) || defined(_R3000))
|
||||
# define SPROUT_ARCH_MIPS SPROUT_VERSION_NUMBER(1, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_MIPS) && (defined(_MIPS_ISA_MIPS2) || defined(__MIPS_ISA2__) || defined(_R4000))
|
||||
# define SPROUT_ARCH_MIPS SPROUT_VERSION_NUMBER(2, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_MIPS) && (defined(_MIPS_ISA_MIPS3) || defined(__MIPS_ISA3__))
|
||||
# define SPROUT_ARCH_MIPS SPROUT_VERSION_NUMBER(3, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_MIPS) && (defined(_MIPS_ISA_MIPS4) || defined(__MIPS_ISA4__))
|
||||
# define SPROUT_ARCH_MIPS SPROUT_VERSION_NUMBER(4, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_MIPS)
|
||||
# define SPROUT_ARCH_MIPS 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_MIPS
|
||||
# define SPROUT_ARCH_MIPS_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_MIPS_NAME "MIPS"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_MIPS_HPP
|
38
sprout/predef/architecture/parisc.hpp
Normal file
38
sprout/predef/architecture/parisc.hpp
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_PARISC_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_PARISC_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_ARCH_PARISC 0
|
||||
|
||||
#if defined(__hppa__) || defined(__hppa) || defined(__HPPA__)
|
||||
# undef SPROUT_ARCH_PARISC
|
||||
# if !defined(SPROUT_ARCH_PARISC) && (defined(_PA_RISC1_0))
|
||||
# define SPROUT_ARCH_PARISC SPROUT_VERSION_NUMBER(1, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_PARISC) && (defined(_PA_RISC1_1) || defined(__HPPA11__) || defined(__PA7100__))
|
||||
# define SPROUT_ARCH_PARISC SPROUT_VERSION_NUMBER(1, 1, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_PARISC) && (defined(_PA_RISC2_0) || defined(__RISC2_0__) || defined(__HPPA20__) || defined(__PA8000__))
|
||||
# define SPROUT_ARCH_PARISC SPROUT_VERSION_NUMBER(2, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_PARISC)
|
||||
# define SPROUT_ARCH_PARISC 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_PARISC
|
||||
# define SPROUT_ARCH_PARISC_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_PARISC_NAME "HP/PA RISC"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_PARISC_HPP
|
39
sprout/predef/architecture/ppc.hpp
Normal file
39
sprout/predef/architecture/ppc.hpp
Normal file
|
@ -0,0 +1,39 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_PPC_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_PPC_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_ARCH_PPC 0
|
||||
|
||||
#if defined(__powerpc) || defined(__powerpc__) || defined(__POWERPC__) || defined(__ppc__) \
|
||||
|| defined(_M_PPC) || defined(_ARCH_PPC) || defined(__PPCGECKO__) || defined(__PPCBROADWAY__) || defined(_XENON)
|
||||
# undef SPROUT_ARCH_PPC
|
||||
# if !defined (SPROUT_ARCH_PPC) && (defined(__ppc601__) || defined(_ARCH_601))
|
||||
# define SPROUT_ARCH_PPC SPROUT_VERSION_NUMBER(6, 1, 0)
|
||||
# endif
|
||||
# if !defined (SPROUT_ARCH_PPC) && (defined(__ppc603__) || defined(_ARCH_603))
|
||||
# define SPROUT_ARCH_PPC SPROUT_VERSION_NUMBER(6, 3, 0)
|
||||
# endif
|
||||
# if !defined (SPROUT_ARCH_PPC) && (defined(__ppc604__) || defined(__ppc604__))
|
||||
# define SPROUT_ARCH_PPC SPROUT_VERSION_NUMBER(6, 4, 0)
|
||||
# endif
|
||||
# if !defined (SPROUT_ARCH_PPC)
|
||||
# define SPROUT_ARCH_PPC 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_PPC
|
||||
# define SPROUT_ARCH_PPC_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_PPC_NAME "PowerPC"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_PPC_HPP
|
26
sprout/predef/architecture/pyramid.hpp
Normal file
26
sprout/predef/architecture/pyramid.hpp
Normal file
|
@ -0,0 +1,26 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_PYRAMID_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_PYRAMID_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#define SPROUT_ARCH_PYRAMID 0
|
||||
|
||||
#if defined(pyr)
|
||||
# undef SPROUT_ARCH_PYRAMID
|
||||
# define SPROUT_ARCH_PYRAMID 1
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_PYRAMID
|
||||
# define SPROUT_ARCH_PYRAMID_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_PYRAMID_NAME "Pyramid 9810"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_PYRAMID_HPP
|
34
sprout/predef/architecture/rs6k.hpp
Normal file
34
sprout/predef/architecture/rs6k.hpp
Normal file
|
@ -0,0 +1,34 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_RS6K_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_RS6K_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#define SPROUT_ARCH_RS6000 0
|
||||
|
||||
#if defined(__THW_RS6000) || defined(_IBMR2) || defined(_POWER) || defined(_ARCH_PWR) || defined(_ARCH_PWR2)
|
||||
# undef SPROUT_ARCH_RS6000
|
||||
# define SPROUT_ARCH_RS6000 1
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_RS6000
|
||||
# define SPROUT_ARCH_RS6000_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_RS6000_NAME "RS/6000"
|
||||
|
||||
#define SPROUT_ARCH_PWR SPROUT_ARCH_RS6000
|
||||
|
||||
#if SPROUT_ARCH_PWR
|
||||
# define SPROUT_ARCH_PWR_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_PWR_NAME SPROUT_ARCH_RS6000_NAME
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_RS6K_HPP
|
35
sprout/predef/architecture/sparc.hpp
Normal file
35
sprout/predef/architecture/sparc.hpp
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_SPARC_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_SPARC_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_ARCH_SPARC 0
|
||||
|
||||
#if defined(__sparc__) || defined(__sparc)
|
||||
# undef SPROUT_ARCH_SPARC
|
||||
# if !defined(SPROUT_ARCH_SPARC) && defined(__sparcv9)
|
||||
# define SPROUT_ARCH_SPARC SPROUT_VERSION_NUMBER(9, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_SPARC) && defined(__sparcv8)
|
||||
# define SPROUT_ARCH_SPARC SPROUT_VERSION_NUMBER(8, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_SPARC)
|
||||
# define SPROUT_ARCH_SPARC 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_SPARC
|
||||
# define SPROUT_ARCH_SPARC_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_SPARC_NAME "SPARC"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_SPARC_HPP
|
44
sprout/predef/architecture/superh.hpp
Normal file
44
sprout/predef/architecture/superh.hpp
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_SUPERH_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_SUPERH_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_ARCH_SH 0
|
||||
|
||||
#if defined(__sh__)
|
||||
# undef SPROUT_ARCH_SH
|
||||
# if !defined(SPROUT_ARCH_SH) && (defined(__SH5__))
|
||||
# define SPROUT_ARCH_SH SPROUT_VERSION_NUMBER(5, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_SH) && (defined(__SH4__))
|
||||
# define SPROUT_ARCH_SH SPROUT_VERSION_NUMBER(4, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_SH) && (defined(__sh3__) || defined(__SH3__))
|
||||
# define SPROUT_ARCH_SH SPROUT_VERSION_NUMBER(3, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_SH) && (defined(__sh2__))
|
||||
# define SPROUT_ARCH_SH SPROUT_VERSION_NUMBER(2, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_SH) && (defined(__sh1__))
|
||||
# define SPROUT_ARCH_SH SPROUT_VERSION_NUMBER(1, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_SH)
|
||||
# define SPROUT_ARCH_SH 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_SH
|
||||
# define SPROUT_ARCH_SH_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_SH_NAME "SuperH"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_SUPERH_HPP
|
26
sprout/predef/architecture/sys370.hpp
Normal file
26
sprout/predef/architecture/sys370.hpp
Normal file
|
@ -0,0 +1,26 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_SYS370_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_SYS370_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#define SPROUT_ARCH_SYS370 0
|
||||
|
||||
#if defined(__370__) || defined(__THW_370__)
|
||||
# undef SPROUT_ARCH_SYS370
|
||||
# define SPROUT_ARCH_SYS370 1
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_SYS370
|
||||
# define SPROUT_ARCH_SYS370_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_SYS370_NAME "System/370"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_SYS370_HPP
|
26
sprout/predef/architecture/sys390.hpp
Normal file
26
sprout/predef/architecture/sys390.hpp
Normal file
|
@ -0,0 +1,26 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_SYS390_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_SYS390_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#define SPROUT_ARCH_SYS390 0
|
||||
|
||||
#if defined(__s390__) || defined(__s390x__)
|
||||
# undef SPROUT_ARCH_SYS390
|
||||
# define SPROUT_ARCH_SYS390 1
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_SYS390
|
||||
# define SPROUT_ARCH_SYS390_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_SYS390_NAME "System/390"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_SYS390_HPP
|
28
sprout/predef/architecture/x86.hpp
Normal file
28
sprout/predef/architecture/x86.hpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_X86_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_X86_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/architecture/x86/32.hpp>
|
||||
#include <sprout/predef/architecture/x86/64.hpp>
|
||||
|
||||
#define SPROUT_ARCH_X86 0
|
||||
|
||||
#if SPROUT_ARCH_X86_32 || SPROUT_ARCH_X86_64
|
||||
# undef SPROUT_ARCH_X86
|
||||
# define SPROUT_ARCH_X86 1
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_X86
|
||||
# define SPROUT_ARCH_X86_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_X86_NAME "Intel x86"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_X86_HPP
|
51
sprout/predef/architecture/x86/32.hpp
Normal file
51
sprout/predef/architecture/x86/32.hpp
Normal file
|
@ -0,0 +1,51 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_X86_32_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_X86_32_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_ARCH_X86_32 0
|
||||
|
||||
#if defined(i386) || defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) || defined(__i386) \
|
||||
|| defined(_M_IX86) || defined(_X86_) || defined(__THW_INTEL__) || defined(__I86__) || defined(__INTEL__)
|
||||
# undef SPROUT_ARCH_X86_32
|
||||
# if !defined(SPROUT_ARCH_X86_32) && defined(__I86__)
|
||||
# define SPROUT_ARCH_X86_32 SPROUT_VERSION_NUMBER(__I86__, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_X86_32) && defined(_M_IX86)
|
||||
# define SPROUT_ARCH_X86_32 SPROUT_PREDEF_MAKE_10_VV00(_M_IX86)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_X86_32) && defined(__i686__)
|
||||
# define SPROUT_ARCH_X86_32 SPROUT_VERSION_NUMBER(6, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_X86_32) && defined(__i586__)
|
||||
# define SPROUT_ARCH_X86_32 SPROUT_VERSION_NUMBER(5, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_X86_32) && defined(__i486__)
|
||||
# define SPROUT_ARCH_X86_32 SPROUT_VERSION_NUMBER(4, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_X86_32) && defined(__i386__)
|
||||
# define SPROUT_ARCH_X86_32 SPROUT_VERSION_NUMBER(3, 0, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_ARCH_X86_32)
|
||||
# define SPROUT_ARCH_X86_32 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_X86_32
|
||||
# define SPROUT_ARCH_X86_32_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_X86_32_NAME "Intel x86-32"
|
||||
|
||||
#include <sprout/predef/architecture/x86.hpp>
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_X86_32_HPP
|
28
sprout/predef/architecture/x86/64.hpp
Normal file
28
sprout/predef/architecture/x86/64.hpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_X86_64_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_X86_64_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#define SPROUT_ARCH_X86_64 0
|
||||
|
||||
#if defined(__x86_64) || defined(__x86_64__) || defined(__amd64__) || defined(__amd64) || defined(_M_X64)
|
||||
# undef SPROUT_ARCH_X86_64
|
||||
# define SPROUT_ARCH_X86_64 1
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_X86_64
|
||||
# define SPROUT_ARCH_X86_64_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_X86_64_NAME "Intel x86-64"
|
||||
|
||||
#include <sprout/predef/architecture/x86.hpp>
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_X86_64_HPP
|
26
sprout/predef/architecture/z.hpp
Normal file
26
sprout/predef/architecture/z.hpp
Normal file
|
@ -0,0 +1,26 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_ARCHITECTURE_Z_HPP
|
||||
#define SPROUT_PREDEF_ARCHITECTURE_Z_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#define SPROUT_ARCH_Z 0
|
||||
|
||||
#if defined(__SYSC_ZARCH__)
|
||||
# undef SPROUT_ARCH_Z
|
||||
# define SPROUT_ARCH_Z 1
|
||||
#endif
|
||||
|
||||
#if SPROUT_ARCH_Z
|
||||
# define SPROUT_ARCH_Z_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_ARCH_Z_NAME "z/Architecture"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_ARCHITECTURE_Z_HPP
|
42
sprout/predef/compiler.hpp
Normal file
42
sprout/predef/compiler.hpp
Normal file
|
@ -0,0 +1,42 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/compiler/borland.hpp>
|
||||
#include <sprout/predef/compiler/clang.hpp>
|
||||
#include <sprout/predef/compiler/comeau.hpp>
|
||||
#include <sprout/predef/compiler/compaq.hpp>
|
||||
#include <sprout/predef/compiler/diab.hpp>
|
||||
#include <sprout/predef/compiler/digitalmars.hpp>
|
||||
#include <sprout/predef/compiler/dignus.hpp>
|
||||
#include <sprout/predef/compiler/edg.hpp>
|
||||
#include <sprout/predef/compiler/ekopath.hpp>
|
||||
#include <sprout/predef/compiler/gcc_xml.hpp>
|
||||
#include <sprout/predef/compiler/gcc.hpp>
|
||||
#include <sprout/predef/compiler/greenhills.hpp>
|
||||
#include <sprout/predef/compiler/hp_acc.hpp>
|
||||
#include <sprout/predef/compiler/iar.hpp>
|
||||
#include <sprout/predef/compiler/ibm.hpp>
|
||||
#include <sprout/predef/compiler/intel.hpp>
|
||||
#include <sprout/predef/compiler/kai.hpp>
|
||||
#include <sprout/predef/compiler/llvm.hpp>
|
||||
#include <sprout/predef/compiler/metaware.hpp>
|
||||
#include <sprout/predef/compiler/metrowerks.hpp>
|
||||
#include <sprout/predef/compiler/microtec.hpp>
|
||||
#include <sprout/predef/compiler/mpw.hpp>
|
||||
#include <sprout/predef/compiler/palm.hpp>
|
||||
#include <sprout/predef/compiler/pgi.hpp>
|
||||
#include <sprout/predef/compiler/sgi_mipspro.hpp>
|
||||
#include <sprout/predef/compiler/sunpro.hpp>
|
||||
#include <sprout/predef/compiler/tendra.hpp>
|
||||
#include <sprout/predef/compiler/visualc.hpp>
|
||||
#include <sprout/predef/compiler/watcom.hpp>
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_HPP
|
38
sprout/predef/compiler/borland.hpp
Normal file
38
sprout/predef/compiler/borland.hpp
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_BORLAND_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_BORLAND_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_BORLAND 0
|
||||
|
||||
#if defined(__BORLANDC__) || defined(__CODEGEARC__)
|
||||
# if !defined(SPROUT_COMP_BORLAND_DETECTION) && (defined(__CODEGEARC__))
|
||||
# define SPROUT_COMP_BORLAND_DETECTION SPROUT_PREDEF_MAKE_0X_VVRP(__CODEGEARC__)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_BORLAND_DETECTION)
|
||||
# define SPROUT_COMP_BORLAND_DETECTION SPROUT_PREDEF_MAKE_0X_VVRP(__BORLANDC__)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_BORLAND_DETECTION
|
||||
# define SPROUT_COMP_BORLAND_AVAILABLE
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_BORLAND_EMULATED SPROUT_COMP_BORLAND_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_BORLAND
|
||||
# define SPROUT_COMP_BORLAND SPROUT_COMP_BORLAND_DETECTION
|
||||
# endif
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_BORLAND_NAME "Borland C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_BORLAND_HPP
|
34
sprout/predef/compiler/clang.hpp
Normal file
34
sprout/predef/compiler/clang.hpp
Normal file
|
@ -0,0 +1,34 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_CLANG_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_CLANG_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_COMP_CLANG 0
|
||||
|
||||
#if defined(__clang__)
|
||||
# define SPROUT_COMP_CLANG_DETECTION \
|
||||
SPROUT_VERSION_NUMBER(__clang_major__, __clang_minor__, __clang_patchlevel__)
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_CLANG_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_CLANG_EMULATED SPROUT_COMP_CLANG_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_CLANG
|
||||
# define SPROUT_COMP_CLANG SPROUT_COMP_CLANG_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_CLANG_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_CLANG_NAME "Clang"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_CLANG_HPP
|
38
sprout/predef/compiler/comeau.hpp
Normal file
38
sprout/predef/compiler/comeau.hpp
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_COMEAU_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_COMEAU_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_COMO 0
|
||||
|
||||
#if defined(__COMO__)
|
||||
# if !defined(SPROUT_COMP_COMO_DETECTION) && defined(__COMO_VERSION__)
|
||||
# define SPROUT_COMP_COMO_DETECTION SPROUT_PREDEF_MAKE_0X_VRP(__COMO_VERSION__)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_COMO_DETECTION)
|
||||
# define SPROUT_COMP_COMO_DETECTION 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_COMO_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_COMO_EMULATED SPROUT_COMP_COMO_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_COMO
|
||||
# define SPROUT_COMP_COMO SPROUT_COMP_COMO_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_COMO_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_COMO_NAME "Comeau C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_COMEAU_HPP
|
41
sprout/predef/compiler/compaq.hpp
Normal file
41
sprout/predef/compiler/compaq.hpp
Normal file
|
@ -0,0 +1,41 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_COMPAQ_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_COMPAQ_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_DEC 0
|
||||
|
||||
#if defined(__DECC) || defined(__DECCXX)
|
||||
# if !defined(SPROUT_COMP_DEC_DETECTION) && defined(__DECCXX_VER)
|
||||
# define SPROUT_COMP_DEC_DETECTION SPROUT_PREDEF_MAKE_10_VVRR0PP00(__DECCXX_VER)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_DEC_DETECTION) && defined(__DECC_VER)
|
||||
# define SPROUT_COMP_DEC_DETECTION SPROUT_PREDEF_MAKE_10_VVRR0PP00(__DECC_VER)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_DEC_DETECTION)
|
||||
# define SPROUT_COM_DEC_DETECTION 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_DEC_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_DEC_EMULATED SPROUT_COMP_DEC_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_DEC
|
||||
# define SPROUT_COMP_DEC SPROUT_COMP_DEC_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_DEC_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_DEC_NAME "Compaq C/C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_COMPAQ_HPP
|
33
sprout/predef/compiler/diab.hpp
Normal file
33
sprout/predef/compiler/diab.hpp
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_DIAB_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_DIAB_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_DIAB 0
|
||||
|
||||
#if defined(__DCC__)
|
||||
# define SPROUT_COMP_DIAB_DETECTION SPROUT_PREDEF_MAKE_10_VRPP(__VERSION_NUMBER__)
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_DIAB_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_DIAB_EMULATED SPROUT_COMP_DIAB_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_DIAB
|
||||
# define SPROUT_COMP_DIAB SPROUT_COMP_DIAB_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_DIAB_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_DIAB_NAME "Diab C/C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_DIAB_HPP
|
33
sprout/predef/compiler/digitalmars.hpp
Normal file
33
sprout/predef/compiler/digitalmars.hpp
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_DIGITALMARS_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_DIGITALMARS_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_DMC 0
|
||||
|
||||
#if defined(__DMC__)
|
||||
# define SPROUT_COMP_DMC_DETECTION SPROUT_PREDEF_MAKE_0X_VRP(__DMC__)
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_DMC_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_DMC_EMULATED SPROUT_COMP_DMC_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_DMC
|
||||
# define SPROUT_COMP_DMC SPROUT_COMP_DMC_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_DMC_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_DMC_NAME "Digital Mars"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_DIGITALMARS_HPP
|
33
sprout/predef/compiler/dignus.hpp
Normal file
33
sprout/predef/compiler/dignus.hpp
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_DIGNUS_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_DIGNUS_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_SYSC 0
|
||||
|
||||
#if defined(__SYSC__)
|
||||
# define SPROUT_COMP_SYSC_DETECTION SPROUT_PREDEF_MAKE_10_VRRPP(__SYSC_VER__)
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_SYSC_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_SYSC_EMULATED SPROUT_COMP_SYSC_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_SYSC
|
||||
# define SPROUT_COMP_SYSC SPROUT_COMP_SYSC_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_SYSC_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_SYSC_NAME "Dignus Systems/C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_DIGNUS_HPP
|
33
sprout/predef/compiler/edg.hpp
Normal file
33
sprout/predef/compiler/edg.hpp
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_EDG_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_EDG_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_EDG 0
|
||||
|
||||
#if defined(__EDG__)
|
||||
# define SPROUT_COMP_EDG_DETECTION SPROUT_PREDEF_MAKE_10_VRR(__EDG_VERSION__)
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_EDG_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_EDG_EMULATED SPROUT_COMP_EDG_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_EDG
|
||||
# define SPROUT_COMP_EDG SPROUT_COMP_EDG_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_EDG_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_EDG_NAME "EDG C++ Frontend"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_EDG_HPP
|
34
sprout/predef/compiler/ekopath.hpp
Normal file
34
sprout/predef/compiler/ekopath.hpp
Normal file
|
@ -0,0 +1,34 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_EKOPATH_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_EKOPATH_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_COMP_PATH 0
|
||||
|
||||
#if defined(__PATHCC__)
|
||||
# define SPROUT_COMP_PATH_DETECTION \
|
||||
SPROUT_VERSION_NUMBER(__PATHCC__, __PATHCC_MINOR__, __PATHCC_PATCHLEVEL__)
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_PATH_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_PATH_EMULATED SPROUT_COMP_PATH_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_PATH
|
||||
# define SPROUT_COMP_PATH SPROUT_COMP_PATH_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_PATH_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_PATH_NAME "EKOpath"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_EKOPATH_HPP
|
41
sprout/predef/compiler/gcc.hpp
Normal file
41
sprout/predef/compiler/gcc.hpp
Normal file
|
@ -0,0 +1,41 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_GCC_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_GCC_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
#include <sprout/predef/compiler/clang.hpp>
|
||||
|
||||
#define SPROUT_COMP_GNUC 0
|
||||
|
||||
#if defined(__GNUC__)
|
||||
# if !defined(SPROUT_COMP_GNUC_DETECTION) && defined(__GNUC_PATCHLEVEL__)
|
||||
# define SPROUT_COMP_GNUC_DETECTION \
|
||||
SPROUT_VERSION_NUMBER(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_GNUC_DETECTION)
|
||||
# define SPROUT_COMP_GNUC_DETECTION \
|
||||
SPROUT_VERSION_NUMBER(__GNUC__, __GNUC_MINOR__, 0)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_GNUC_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_GNUC_EMULATED SPROUT_COMP_GNUC_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_GNUC
|
||||
# define SPROUT_COMP_GNUC SPROUT_COMP_GNUC_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_GNUC_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_GNUC_NAME "Gnu GCC C/C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_GCC_HPP
|
32
sprout/predef/compiler/gcc_xml.hpp
Normal file
32
sprout/predef/compiler/gcc_xml.hpp
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_GCC_XML_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_GCC_XML_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#define SPROUT_COMP_GCCXML 0
|
||||
|
||||
#if defined(__GCCXML__)
|
||||
# define SPROUT_COMP_GCCXML_DETECTION 1
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_GCCXML_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_GCCXML_EMULATED SPROUT_COMP_GCCXML_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_GCCXML
|
||||
# define SPROUT_COMP_GCCXML SPROUT_COMP_GCCXML_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_GCCXML_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_GCCXML_NAME "GCC XML"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_GCC_XML_HPP
|
41
sprout/predef/compiler/greenhills.hpp
Normal file
41
sprout/predef/compiler/greenhills.hpp
Normal file
|
@ -0,0 +1,41 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_GREENHILLS_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_GREENHILLS_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_GHS 0
|
||||
|
||||
#if defined(__ghs) || defined(__ghs__)
|
||||
# if !defined(SPROUT_COMP_GHS_DETECTION) && defined(__GHS_VERSION_NUMBER__)
|
||||
# define SPROUT_COMP_GHS_DETECTION SPROUT_PREDEF_MAKE_10_VRP(__GHS_VERSION_NUMBER__)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_GHS_DETECTION) && defined(__ghs)
|
||||
# define SPROUT_COMP_GHS_DETECTION SPROUT_PREDEF_MAKE_10_VRP(__ghs)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_GHS_DETECTION)
|
||||
# define SPROUT_COMP_GHS_DETECTION 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_GHS_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_GHS_EMULATED SPROUT_COMP_GHS_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_GHS
|
||||
# define SPROUT_COMP_GHS SPROUT_COMP_GHS_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_GHS_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_GHS_NAME "Green Hills C/C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_GREENHILLS_HPP
|
38
sprout/predef/compiler/hp_acc.hpp
Normal file
38
sprout/predef/compiler/hp_acc.hpp
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_HP_ACC_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_HP_ACC_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_HPACC 0
|
||||
|
||||
#if defined(__HP_aCC)
|
||||
# if !defined(SPROUT_COMP_HPACC_DETECTION) && (__HP_aCC > 1)
|
||||
# define SPROUT_COMP_HPACC_DETECTION SPROUT_PREDEF_MAKE_10_VVRRPP(__HP_aCC)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_HPACC_DETECTION)
|
||||
# define SPROUT_COMP_HPACC_DETECTION 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_HPACC_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_HPACC_EMULATED SPROUT_COMP_HPACC_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_HPACC
|
||||
# define SPROUT_COMP_HPACC SPROUT_COMP_HPACC_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_HPACC_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_HPACC_NAME "HP aC++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_HP_ACC_HPP
|
33
sprout/predef/compiler/iar.hpp
Normal file
33
sprout/predef/compiler/iar.hpp
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_IAR_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_IAR_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_IAR 0
|
||||
|
||||
#if defined(__IAR_SYSTEMS_ICC__)
|
||||
# define SPROUT_COMP_IAR_DETECTION SPROUT_PREDEF_MAKE_10_VVRR(__VER__)
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_IAR_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_IAR_EMULATED SPROUT_COMP_IAR_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_IAR
|
||||
# define SPROUT_COMP_IAR SPROUT_COMP_IAR_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_IAR_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_IAR_NAME "IAR C/C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_IAR_HPP
|
44
sprout/predef/compiler/ibm.hpp
Normal file
44
sprout/predef/compiler/ibm.hpp
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_IBM_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_IBM_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_IBM 0
|
||||
|
||||
#if defined(__IBMCPP__) || defined(__xlC__) || defined(__xlc__)
|
||||
# if !defined(SPROUT_COMP_IBM_DETECTION) && defined(__COMPILER_VER__)
|
||||
# define SPROUT_COMP_IBM_DETECTION SPROUT_PREDEF_MAKE_0X_VRRPPPP(__COMPILER_VER__)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_IBM_DETECTION) && defined(__xlC__)
|
||||
# define SPROUT_COMP_IBM_DETECTION SPROUT_PREDEF_MAKE_0X_VVRR(__xlC__)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_IBM_DETECTION) && defined(__xlc__)
|
||||
# define SPROUT_COMP_IBM_DETECTION SPROUT_PREDEF_MAKE_0X_VVRR(__xlc__)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_IBM_DETECTION)
|
||||
# define SPROUT_COMP_IBM_DETECTION SPROUT_PREDEF_MAKE_10_VRP(__IBMCPP__)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_IBM_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_IBM_EMULATED SPROUT_COMP_IBM_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_IBM
|
||||
# define SPROUT_COMP_IBM SPROUT_COMP_IBM_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_IBM_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_IBM_NAME "IBM XL C/C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_IBM_HPP
|
39
sprout/predef/compiler/intel.hpp
Normal file
39
sprout/predef/compiler/intel.hpp
Normal file
|
@ -0,0 +1,39 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_INTEL_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_INTEL_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_INTEL 0
|
||||
|
||||
#if defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || \
|
||||
defined(__ECC)
|
||||
# if !defined(SPROUT_COMP_INTEL_DETECTION) && defined(__INTEL_COMPILER)
|
||||
# define SPROUT_COMP_INTEL_DETECTION SPROUT_PREDEF_MAKE_10_VRP(__INTEL_COMPILER)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_INTEL_DETECTION)
|
||||
# define SPROUT_COMP_INTEL_DETECTION 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_INTEL_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_INTEL_EMULATED SPROUT_COMP_INTEL_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_INTEL
|
||||
# define SPROUT_COMP_INTEL SPROUT_COMP_INTEL_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_INTEL_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_INTEL_NAME "Intel C/C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_INTEL_HPP
|
33
sprout/predef/compiler/kai.hpp
Normal file
33
sprout/predef/compiler/kai.hpp
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_KAI_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_KAI_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_KCC 0
|
||||
|
||||
#if defined(__KCC)
|
||||
# define SPROUT_COMP_KCC_DETECTION SPROUT_PREDEF_MAKE_0X_VRPP(__KCC_VERSION)
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_KCC_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_KCC_EMULATED SPROUT_COMP_KCC_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_KCC
|
||||
# define SPROUT_COMP_KCC SPROUT_COMP_KCC_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_KCC_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_KCC_NAME "Kai C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_KAI_HPP
|
33
sprout/predef/compiler/llvm.hpp
Normal file
33
sprout/predef/compiler/llvm.hpp
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_LLVM_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_LLVM_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/compiler/clang.hpp>
|
||||
|
||||
#define SPROUT_COMP_LLVM 0
|
||||
|
||||
#if defined(__llvm__)
|
||||
# define SPROUT_COMP_LLVM_DETECTION 1
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_LLVM_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_LLVM_EMULATED SPROUT_COMP_LLVM_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_LLVM
|
||||
# define SPROUT_COMP_LLVM SPROUT_COMP_LLVM_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_LLVM_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_LLVM_NAME "LLVM"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_LLVM_HPP
|
32
sprout/predef/compiler/metaware.hpp
Normal file
32
sprout/predef/compiler/metaware.hpp
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_METAWARE_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_METAWARE_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#define SPROUT_COMP_HIGHC 0
|
||||
|
||||
#if defined(__HIGHC__)
|
||||
# define SPROUT_COMP_HIGHC_DETECTION 1
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_HIGHC_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_HIGHC_EMULATED SPROUT_COMP_HIGHC_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_HIGHC
|
||||
# define SPROUT_COMP_HIGHC SPROUT_COMP_HIGHC_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_HIGHC_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_HIGHC_NAME "MetaWare High C/C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_METAWARE_HPP
|
51
sprout/predef/compiler/metrowerks.hpp
Normal file
51
sprout/predef/compiler/metrowerks.hpp
Normal file
|
@ -0,0 +1,51 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_METROWERKS_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_METROWERKS_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_MWERKS 0
|
||||
|
||||
#if defined(__MWERKS__) || defined(__CWCC__)
|
||||
# if !defined(SPROUT_COMP_MWERKS_DETECTION) && defined(__CWCC__)
|
||||
# define SPROUT_COMP_MWERKS_DETECTION SPROUT_PREDEF_MAKE_0X_VRPP(__CWCC__)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_MWERKS_DETECTION) && (__MWERKS__ >= 0x4200)
|
||||
# define SPROUT_COMP_MWERKS_DETECTION SPROUT_PREDEF_MAKE_0X_VRPP(__MWERKS__)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_MWERKS_DETECTION) && (__MWERKS__ >= 0x3204)
|
||||
# define SPROUT_COMP_MWERKS_DETECTION SPROUT_VERSION_NUMBER(9, (__MWERKS__) % 100 - 1, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_MWERKS_DETECTION) && (__MWERKS__ >= 0x3200)
|
||||
# define SPROUT_COMP_MWERKS_DETECTION SPROUT_VERSION_NUMBER(9, (__MWERKS__) % 100, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_MWERKS_DETECTION) && (__MWERKS__ >= 0x3000)
|
||||
# define SPROUT_COMP_MWERKS_DETECTION SPROUT_VERSION_NUMBER(8, (__MWERKS__) % 100, 0)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_MWERKS_DETECTION)
|
||||
# define SPROUT_COMP_MWERKS_DETECTION 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_MWERKS_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_MWERKS_EMULATED SPROUT_COMP_MWERKS_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_MWERKS
|
||||
# define SPROUT_COMP_MWERKS SPROUT_COMP_MWERKS_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_MWERKS_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_MWERKS_NAME "Metrowerks CodeWarrior"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_METROWERKS_HPP
|
32
sprout/predef/compiler/microtec.hpp
Normal file
32
sprout/predef/compiler/microtec.hpp
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_MICROTEC_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_MICROTEC_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#define SPROUT_COMP_MRI 0
|
||||
|
||||
#if defined(_MRI)
|
||||
# define SPROUT_COMP_MRI_DETECTION 1
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_MRI_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_MRI_EMULATED SPROUT_COMP_MRI_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_MRI
|
||||
# define SPROUT_COMP_MRI SPROUT_COMP_MRI_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_MRI_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_MRI_NAME "Microtec C/C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_MICROTEC_HPP
|
38
sprout/predef/compiler/mpw.hpp
Normal file
38
sprout/predef/compiler/mpw.hpp
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_MPW_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_MPW_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_MPW 0
|
||||
|
||||
#if defined(__MRC__) || defined(MPW_C) || defined(MPW_CPLUS)
|
||||
# if !defined(SPROUT_COMP_MPW_DETECTION) && defined(__MRC__)
|
||||
# define SPROUT_COMP_MPW_DETECTION SPROUT_PREDEF_MAKE_0X_VVRR(__MRC__)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_MPW_DETECTION)
|
||||
# define SPROUT_COMP_MPW_DETECTION 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_MPW_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_MPW_EMULATED SPROUT_COMP_MPW_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_MPW
|
||||
# define SPROUT_COMP_MPW SPROUT_COMP_MPW_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_MPW_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_MPW_NAME "MPW C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_MPW_HPP
|
33
sprout/predef/compiler/palm.hpp
Normal file
33
sprout/predef/compiler/palm.hpp
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_PALM_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_PALM_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_PALM 0
|
||||
|
||||
#if defined(_PACC_VER)
|
||||
# define SPROUT_COMP_PALM_DETECTION SPROUT_PREDEF_MAKE_0X_VRRPP000(_PACC_VER)
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_PALM_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_PALM_EMULATED SPROUT_COMP_PALM_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_PALM
|
||||
# define SPROUT_COMP_PALM SPROUT_COMP_PALM_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_PALM_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_PALM_NAME "Palm C/C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_PALM_HPP
|
38
sprout/predef/compiler/pgi.hpp
Normal file
38
sprout/predef/compiler/pgi.hpp
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_PGI_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_PGI_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_COMP_PGI 0
|
||||
|
||||
#if defined(__PGI)
|
||||
# if !defined(SPROUT_COMP_PGI_DETECTION) && (defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__))
|
||||
# define SPROUT_COMP_PGI_DETECTION SPROUT_VERSION_NUMBER(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_PGI_DETECTION)
|
||||
# define SPROUT_COMP_PGI_DETECTION 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_PGI_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_PGI_EMULATED SPROUT_COMP_PGI_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_PGI
|
||||
# define SPROUT_COMP_PGI SPROUT_COMP_PGI_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_PGI_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_PGI_NAME "Portland Group C/C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_PGI_HPP
|
41
sprout/predef/compiler/sgi_mipspro.hpp
Normal file
41
sprout/predef/compiler/sgi_mipspro.hpp
Normal file
|
@ -0,0 +1,41 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_SGI_MIPSPRO_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_SGI_MIPSPRO_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_SGI 0
|
||||
|
||||
#if defined(__sgi) || defined(sgi)
|
||||
# if !defined(SPROUT_COMP_SGI_DETECTION) && defined(_SGI_COMPILER_VERSION)
|
||||
# define SPROUT_COMP_SGI_DETECTION SPROUT_PREDEF_MAKE_10_VRP(_SGI_COMPILER_VERSION)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_SGI_DETECTION) && defined(_COMPILER_VERSION)
|
||||
# define SPROUT_COMP_SGI_DETECTION SPROUT_PREDEF_MAKE_10_VRP(_COMPILER_VERSION)
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_SGI_DETECTION)
|
||||
# define SPROUT_COMP_SGI_DETECTION 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_SGI_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_SGI_EMULATED SPROUT_COMP_SGI_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_SGI
|
||||
# define SPROUT_COMP_SGI SPROUT_COMP_SGI_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_SGI_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_SGI_NAME "SGI MIPSpro"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_SGI_MIPSPRO_HPP
|
49
sprout/predef/compiler/sunpro.hpp
Normal file
49
sprout/predef/compiler/sunpro.hpp
Normal file
|
@ -0,0 +1,49 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_SUNPRO_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_SUNPRO_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_SUNPRO 0
|
||||
|
||||
#if defined(__SUNPRO_CC) || defined(__SUNPRO_C)
|
||||
# if !defined(SPROUT_COMP_SUNPRO_DETECTION) && defined(__SUNPRO_CC)
|
||||
# if (__SUNPRO_CC < 0x5100)
|
||||
# define SPROUT_COMP_SUNPRO_DETECTION SPROUT_PREDEF_MAKE_0X_VRP(__SUNPRO_CC)
|
||||
# else
|
||||
# define SPROUT_COMP_SUNPRO_DETECTION SPROUT_PREDEF_MAKE_0X_VVRRP(__SUNPRO_CC)
|
||||
# endif
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_SUNPRO_DETECTION) && defined(__SUNPRO_C)
|
||||
# if (__SUNPRO_C < 0x5100)
|
||||
# define SPROUT_COMP_SUNPRO_DETECTION SPROUT_PREDEF_MAKE_0X_VRP(__SUNPRO_C)
|
||||
# else
|
||||
# define SPROUT_COMP_SUNPRO_DETECTION SPROUT_PREDEF_MAKE_0X_VVRRP(__SUNPRO_C)
|
||||
# endif
|
||||
# endif
|
||||
# if !defined(SPROUT_COMP_SUNPRO_DETECTION)
|
||||
# define SPROUT_COMP_SUNPRO_DETECTION 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_SUNPRO_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_SUNPRO_EMULATED SPROUT_COMP_SUNPRO_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_SUNPRO
|
||||
# define SPROUT_COMP_SUNPRO SPROUT_COMP_SUNPRO_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_SUNPRO_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_SUNPRO_NAME "Oracle Solaris Studio"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_SUNPRO_HPP
|
32
sprout/predef/compiler/tendra.hpp
Normal file
32
sprout/predef/compiler/tendra.hpp
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_TENDRA_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_TENDRA_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#define SPROUT_COMP_TENDRA 0
|
||||
|
||||
#if defined(__TenDRA__)
|
||||
# define SPROUT_COMP_TENDRA_DETECTION 1
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_TENDRA_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_TENDRA_EMULATED SPROUT_COMP_TENDRA_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_TENDRA
|
||||
# define SPROUT_COMP_TENDRA SPROUT_COMP_TENDRA_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_TENDRA_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_TENDRA_NAME "TenDRA C/C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_TENDRA_HPP
|
51
sprout/predef/compiler/visualc.hpp
Normal file
51
sprout/predef/compiler/visualc.hpp
Normal file
|
@ -0,0 +1,51 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_VISUALC_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_VISUALC_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
#include <sprout/predef/compiler/clang.hpp>
|
||||
|
||||
#define SPROUT_COMP_MSVC 0
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
# if !defined (_MSC_FULL_VER)
|
||||
# define SPROUT_COMP_MSVC_BUILD 0
|
||||
# else
|
||||
# if _MSC_FULL_VER / 10000 == _MSC_VER
|
||||
# define SPROUT_COMP_MSVC_BUILD (_MSC_FULL_VER % 10000)
|
||||
# elif _MSC_FULL_VER / 100000 == _MSC_VER
|
||||
# define SPROUT_COMP_MSVC_BUILD (_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
# error "Cannot determine build number from _MSC_FULL_VER"
|
||||
# endif
|
||||
# endif
|
||||
# if (_MSC_VER >= 1900)
|
||||
# define SPROUT_COMP_MSVC_DETECTION \
|
||||
SPROUT_VERSION_NUMBER(_MSC_VER / 100 - 5, _MSC_VER % 100, SPROUT_COMP_MSVC_BUILD)
|
||||
# else
|
||||
# define SPROUT_COMP_MSVC_DETECTION \
|
||||
SPROUT_VERSION_NUMBER(_MSC_VER / 100 - 6, _MSC_VER % 100, SPROUT_COMP_MSVC_BUILD)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_MSVC_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_MSVC_EMULATED SPROUT_COMP_MSVC_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_MSVC
|
||||
# define SPROUT_COMP_MSVC SPROUT_COMP_MSVC_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_MSVC_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_MSVC_NAME "Microsoft Visual C/C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_VISUALC_HPP
|
33
sprout/predef/compiler/watcom.hpp
Normal file
33
sprout/predef/compiler/watcom.hpp
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_COMPILER_WATCOM_HPP
|
||||
#define SPROUT_PREDEF_COMPILER_WATCOM_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_COMP_WATCOM 0
|
||||
|
||||
#if defined(__WATCOMC__)
|
||||
# define SPROUT_COMP_WATCOM_DETECTION SPROUT_PREDEF_MAKE_10_VVRR(__WATCOMC__)
|
||||
#endif
|
||||
|
||||
#ifdef SPROUT_COMP_WATCOM_DETECTION
|
||||
# if defined(SPROUT_PREDEF_DETAIL_COMP_DETECTED)
|
||||
# define SPROUT_COMP_WATCOM_EMULATED SPROUT_COMP_WATCOM_DETECTION
|
||||
# else
|
||||
# undef SPROUT_COMP_WATCOM
|
||||
# define SPROUT_COMP_WATCOM SPROUT_COMP_WATCOM_DETECTION
|
||||
# endif
|
||||
# define SPROUT_COMP_WATCOM_AVAILABLE
|
||||
# include <sprout/predef/detail/comp_detected.hpp>
|
||||
#endif
|
||||
|
||||
#define SPROUT_COMP_WATCOM_NAME "Watcom C++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_COMPILER_WATCOM_HPP
|
17
sprout/predef/detail/comp_detected.hpp
Normal file
17
sprout/predef/detail/comp_detected.hpp
Normal file
|
@ -0,0 +1,17 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_DETAIL_COMP_DETECTED_HPP
|
||||
#define SPROUT_PREDEF_DETAIL_COMP_DETECTED_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#ifndef SPROUT_PREDEF_DETAIL_COMP_DETECTED
|
||||
# define SPROUT_PREDEF_DETAIL_COMP_DETECTED 1
|
||||
#endif
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_DETAIL_COMP_DETECTED_HPP
|
27
sprout/predef/detail/endian_compat.hpp
Normal file
27
sprout/predef/detail/endian_compat.hpp
Normal file
|
@ -0,0 +1,27 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_DETAIL_ENDIAN_COMPAT_HPP
|
||||
#define SPROUT_PREDEF_DETAIL_ENDIAN_COMPAT_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/other/endian.hpp>
|
||||
|
||||
#if SPROUT_ENDIAN_BIG_BYTE
|
||||
# define SPROUT_BIG_ENDIAN
|
||||
# define SPROUT_BYTE_ORDER 4321
|
||||
#endif
|
||||
#if SPROUT_ENDIAN_LITTLE_BYTE
|
||||
# define SPROUT_LITTLE_ENDIAN
|
||||
# define SPROUT_BYTE_ORDER 1234
|
||||
#endif
|
||||
#if SPROUT_ENDIAN_LITTLE_WORD
|
||||
# define SPROUT_PDP_ENDIAN
|
||||
# define SPROUT_BYTE_ORDER 2134
|
||||
#endif
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HPP
|
17
sprout/predef/detail/os_detected.hpp
Normal file
17
sprout/predef/detail/os_detected.hpp
Normal file
|
@ -0,0 +1,17 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_DETAIL_OS_DETECTED_HPP
|
||||
#define SPROUT_PREDEF_DETAIL_OS_DETECTED_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#ifndef SPROUT_PREDEF_DETAIL_OS_DETECTED
|
||||
# define SPROUT_PREDEF_DETAIL_OS_DETECTED 1
|
||||
#endif
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_DETAIL_OS_DETECTED_HPP
|
17
sprout/predef/detail/platform_detected.hpp
Normal file
17
sprout/predef/detail/platform_detected.hpp
Normal file
|
@ -0,0 +1,17 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_DETAIL_PLATFORM_DETECTED_HPP
|
||||
#define SPROUT_PREDEF_DETAIL_PLATFORM_DETECTED_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#ifndef SPROUT_PREDEF_DETAIL_PLAT_DETECTED
|
||||
# define SPROUT_PREDEF_DETAIL_PLAT_DETECTED 1
|
||||
#endif
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_DETAIL_PLATFORM_DETECTED_HPP
|
14
sprout/predef/hardware.hpp
Normal file
14
sprout/predef/hardware.hpp
Normal file
|
@ -0,0 +1,14 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/hardware/simd.hpp>
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_HPP
|
47
sprout/predef/hardware/simd.hpp
Normal file
47
sprout/predef/hardware/simd.hpp
Normal file
|
@ -0,0 +1,47 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/hardware/simd/x86.hpp>
|
||||
#include <sprout/predef/hardware/simd/x86_amd.hpp>
|
||||
#include <sprout/predef/hardware/simd/arm.hpp>
|
||||
#include <sprout/predef/hardware/simd/ppc.hpp>
|
||||
|
||||
#if defined(SPROUT_HW_SIMD_ARM_AVAILABLE) && defined(SPROUT_HW_SIMD_PPC_AVAILABLE) \
|
||||
|| defined(SPROUT_HW_SIMD_ARM_AVAILABLE) && defined(SPROUT_HW_SIMD_X86_AVAILABLE) \
|
||||
|| defined(SPROUT_HW_SIMD_PPC_AVAILABLE) && defined(SPROUT_HW_SIMD_X86_AVAILABLE)
|
||||
# error "Multiple SIMD architectures detected, this cannot happen!"
|
||||
#endif
|
||||
|
||||
#if defined(SPROUT_HW_SIMD_X86_AVAILABLE)
|
||||
# define SPROUT_HW_SIMD SPROUT_HW_SIMD_X86
|
||||
#endif
|
||||
|
||||
#if defined(SPROUT_HW_SIMD_X86_AMD_AVAILABLE)
|
||||
# define SPROUT_HW_SIMD SPROUT_HW_SIMD_X86_AMD
|
||||
#endif
|
||||
|
||||
#if defined(SPROUT_HW_SIMD_ARM_AVAILABLE)
|
||||
# define SPROUT_HW_SIMD SPROUT_HW_SIMD_ARM
|
||||
#endif
|
||||
|
||||
#if defined(SPROUT_HW_SIMD_PPC_AVAILABLE)
|
||||
# define SPROUT_HW_SIMD SPROUT_HW_SIMD_PPC
|
||||
#endif
|
||||
|
||||
#if defined(SPROUT_HW_SIMD)
|
||||
# define SPROUT_HW_SIMD_AVAILABLE
|
||||
#else
|
||||
# define SPROUT_HW_SIMD 0
|
||||
#endif
|
||||
|
||||
#define SPROUT_HW_SIMD_NAME "Hardware SIMD"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_HPP
|
29
sprout/predef/hardware/simd/arm.hpp
Normal file
29
sprout/predef/hardware/simd/arm.hpp
Normal file
|
@ -0,0 +1,29 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_ARM_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_ARM_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/hardware/simd/arm/versions.hpp>
|
||||
|
||||
#define SPROUT_HW_SIMD_ARM 0
|
||||
|
||||
#undef SPROUT_HW_SIMD_ARM
|
||||
#if !defined(SPROUT_HW_SIMD_ARM) && (defined(__ARM_NEON__) || defined(__aarch64__) || defined (_M_ARM))
|
||||
# define SPROUT_HW_SIMD_ARM SPROUT_HW_SIMD_ARM_NEON_VERSION
|
||||
#endif
|
||||
|
||||
#if !defined(SPROUT_HW_SIMD_ARM)
|
||||
# define SPROUT_HW_SIMD_ARM 0
|
||||
#else
|
||||
# define SPROUT_HW_SIMD_ARM_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_HW_SIMD_ARM_NAME "ARM SIMD"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_ARM_HPP
|
16
sprout/predef/hardware/simd/arm/versions.hpp
Normal file
16
sprout/predef/hardware/simd/arm/versions.hpp
Normal file
|
@ -0,0 +1,16 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_ARM_VERSIONS_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_ARM_VERSIONS_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_HW_SIMD_ARM_NEON_VERSION SPROUT_VERSION_NUMBER(1, 0, 0)
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_ARM_VERSIONS_HPP
|
35
sprout/predef/hardware/simd/ppc.hpp
Normal file
35
sprout/predef/hardware/simd/ppc.hpp
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_PPC_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_PPC_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/hardware/simd/ppc/versions.hpp>
|
||||
|
||||
#define SPROUT_HW_SIMD_PPC 0
|
||||
|
||||
#undef SPROUT_HW_SIMD_PPC
|
||||
#if !defined(SPROUT_HW_SIMD_PPC) && defined(__VECTOR4DOUBLE__)
|
||||
# define SPROUT_HW_SIMD_PPC SPROUT_HW_SIMD_PPC_QPX_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_PPC) && defined(__VSX__)
|
||||
# define SPROUT_HW_SIMD_PPC SPROUT_HW_SIMD_PPC_VSX_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_PPC) && (defined(__ALTIVEC__) || defined(__VEC__))
|
||||
# define SPROUT_HW_SIMD_PPC SPROUT_HW_SIMD_PPC_VMX_VERSION
|
||||
#endif
|
||||
|
||||
#if !defined(SPROUT_HW_SIMD_PPC)
|
||||
# define SPROUT_HW_SIMD_PPC 0
|
||||
#else
|
||||
# define SPROUT_HW_SIMD_PPC_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_HW_SIMD_PPC_NAME "PPC SIMD"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_PPC_HPP
|
20
sprout/predef/hardware/simd/ppc/versions.hpp
Normal file
20
sprout/predef/hardware/simd/ppc/versions.hpp
Normal file
|
@ -0,0 +1,20 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_PPC_VERSIONS_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_PPC_VERSIONS_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_HW_SIMD_PPC_VMX_VERSION SPROUT_VERSION_NUMBER(1, 0, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_PPC_VSX_VERSION SPROUT_VERSION_NUMBER(1, 1, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_PPC_QPX_VERSION SPROUT_VERSION_NUMBER(2, 0, 0)
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_PPC_VERSIONS_HPP
|
59
sprout/predef/hardware/simd/x86.hpp
Normal file
59
sprout/predef/hardware/simd/x86.hpp
Normal file
|
@ -0,0 +1,59 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_X86_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_X86_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/hardware/simd/x86/versions.hpp>
|
||||
|
||||
#define SPROUT_HW_SIMD_X86 0
|
||||
|
||||
#undef SPROUT_HW_SIMD_X86
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__MIC__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_MIC_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__AVX2__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_AVX2_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__AVX__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_AVX_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__FMA__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_FMA_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__SSE4_2__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_SSE4_2_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__SSE4_1__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_SSE4_1_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__SSSE3__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_SSSE3_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__SSE3__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_SSE3_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && (defined(__SSE2__) || defined(_M_X64) || _M_IX86_FP >= 2)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_SSE2_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && (defined(__SSE__) || defined(_M_X64) || _M_IX86_FP >= 1)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_SSE_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86) && defined(__MMX__)
|
||||
# define SPROUT_HW_SIMD_X86 SPROUT_HW_SIMD_X86_MMX_VERSION
|
||||
#endif
|
||||
|
||||
#if !defined(SPROUT_HW_SIMD_X86)
|
||||
# define SPROUT_HW_SIMD_X86 0
|
||||
#else
|
||||
# define SPROUT_HW_SIMD_X86_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_NAME "x86 SIMD"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_X86_HPP
|
36
sprout/predef/hardware/simd/x86/versions.hpp
Normal file
36
sprout/predef/hardware/simd/x86/versions.hpp
Normal file
|
@ -0,0 +1,36 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_X86_VERSIONS_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_X86_VERSIONS_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_MMX_VERSION SPROUT_VERSION_NUMBER(0, 99, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_SSE_VERSION SPROUT_VERSION_NUMBER(1, 0, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_SSE2_VERSION SPROUT_VERSION_NUMBER(2, 0, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_SSE3_VERSION SPROUT_VERSION_NUMBER(3, 0, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_SSSE3_VERSION SPROUT_VERSION_NUMBER(3, 1, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_SSE4_1_VERSION SPROUT_VERSION_NUMBER(4, 1, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_SSE4_2_VERSION SPROUT_VERSION_NUMBER(4, 2, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_AVX_VERSION SPROUT_VERSION_NUMBER(5, 0, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_FMA3_VERSION SPROUT_VERSION_NUMBER(5, 2, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_AVX2_VERSION SPROUT_VERSION_NUMBER(5, 3, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_MIC_VERSION SPROUT_VERSION_NUMBER(9, 0, 0)
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_X86_VERSIONS_HPP
|
40
sprout/predef/hardware/simd/x86_amd.hpp
Normal file
40
sprout/predef/hardware/simd/x86_amd.hpp
Normal file
|
@ -0,0 +1,40 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_X86_AMD_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_X86_AMD_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/hardware/simd/x86_amd/versions.hpp>
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_AMD 0
|
||||
|
||||
#undef SPROUT_HW_SIMD_X86_AMD
|
||||
#if !defined(SPROUT_HW_SIMD_X86_AMD) && defined(__XOP__)
|
||||
# define SPROUT_HW_SIMD_X86_AMD SPROUT_HW_SIMD_X86_AMD_XOP_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86_AMD) && defined(__FMA4__)
|
||||
# define SPROUT_HW_SIMD_X86_AMD SPROUT_HW_SIMD_X86_AMD_FMA4_VERSION
|
||||
#endif
|
||||
#if !defined(SPROUT_HW_SIMD_X86_AMD) && defined(__SSE4A__)
|
||||
# define SPROUT_HW_SIMD_X86_AMD SPROUT_HW_SIMD_X86_AMD_SSE4A_VERSION
|
||||
#endif
|
||||
|
||||
#if !defined(SPROUT_HW_SIMD_X86_AMD)
|
||||
# define SPROUT_HW_SIMD_X86_AMD 0
|
||||
#else
|
||||
# include <sprout/predef/hardware/simd/x86.h>
|
||||
# if SPROUT_HW_SIMD_X86 > SPROUT_HW_SIMD_X86_AMD
|
||||
# undef SPROUT_HW_SIMD_X86_AMD
|
||||
# define SPROUT_HW_SIMD_X86_AMD SPROUT_HW_SIMD_X86
|
||||
# endif
|
||||
# define SPROUT_HW_SIMD_X86_AMD_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_AMD_NAME "x86 (AMD) SIMD"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_X86_AMD_HPP
|
20
sprout/predef/hardware/simd/x86_amd/versions.hpp
Normal file
20
sprout/predef/hardware/simd/x86_amd/versions.hpp
Normal file
|
@ -0,0 +1,20 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_HARDWARE_SIMD_X86_AMD_VERSIONS_HPP
|
||||
#define SPROUT_PREDEF_HARDWARE_SIMD_X86_AMD_VERSIONS_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_AMD_SSE4A_VERSION SPROUT_VERSION_NUMBER(4, 0, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_AMD_FMA4_VERSION SPROUT_VERSION_NUMBER(5, 1, 0)
|
||||
|
||||
#define SPROUT_HW_SIMD_X86_AMD_XOP_VERSION SPROUT_VERSION_NUMBER(5, 1, 1)
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_HARDWARE_SIMD_X86_AMD_VERSIONS_HPP
|
16
sprout/predef/language.hpp
Normal file
16
sprout/predef/language.hpp
Normal file
|
@ -0,0 +1,16 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LANGUAGE_HPP
|
||||
#define SPROUT_PREDEF_LANGUAGE_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/language/stdc.hpp>
|
||||
#include <sprout/predef/language/stdcpp.hpp>
|
||||
#include <sprout/predef/language/objc.hpp>
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_LANGUAGE_HPP
|
26
sprout/predef/language/objc.hpp
Normal file
26
sprout/predef/language/objc.hpp
Normal file
|
@ -0,0 +1,26 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LANGUAGE_OBJC_HPP
|
||||
#define SPROUT_PREDEF_LANGUAGE_OBJC_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#define SPROUT_LANG_OBJC 0
|
||||
|
||||
#if defined(__OBJC__)
|
||||
# undef SPROUT_LANG_OBJC
|
||||
# define SPROUT_LANG_OBJC 1
|
||||
#endif
|
||||
|
||||
#if SPROUT_LANG_OBJC
|
||||
# define SPROUT_LANG_OBJC_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LANG_OBJC_NAME "Objective-C"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_LANGUAGE_OBJC_HPP
|
35
sprout/predef/language/stdc.hpp
Normal file
35
sprout/predef/language/stdc.hpp
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LANGUAGE_STDC_HPP
|
||||
#define SPROUT_PREDEF_LANGUAGE_STDC_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_LANG_STDC 0
|
||||
|
||||
#if defined(__STDC__)
|
||||
# undef SPROUT_LANG_STDC
|
||||
# if defined(__STDC_VERSION__)
|
||||
# if (__STDC_VERSION__ > 100)
|
||||
# define SPROUT_LANG_STDC SPROUT_PREDEF_MAKE_YYYYMM(__STDC_VERSION__)
|
||||
# else
|
||||
# define SPROUT_LANG_STDC 1
|
||||
# endif
|
||||
# else
|
||||
# define SPROUT_LANG_STDC 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_LANG_STDC
|
||||
# define SPROUT_LANG_STDC_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LANG_STDC_NAME "Standard C"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_LANGUAGE_STDC_HPP
|
61
sprout/predef/language/stdcpp.hpp
Normal file
61
sprout/predef/language/stdcpp.hpp
Normal file
|
@ -0,0 +1,61 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LANGUAGE_STDCPP_HPP
|
||||
#define SPROUT_PREDEF_LANGUAGE_STDCPP_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_LANG_STDCPP 0
|
||||
|
||||
#if defined(__cplusplus)
|
||||
# undef SPROUT_LANG_STDCPP
|
||||
# if (__cplusplus > 100)
|
||||
# define SPROUT_LANG_STDCPP SPROUT_PREDEF_MAKE_YYYYMM(__cplusplus)
|
||||
# else
|
||||
# define SPROUT_LANG_STDCPP 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_LANG_STDCPP
|
||||
# define SPROUT_LANG_STDCPP_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LANG_STDCPP_NAME "Standard C++"
|
||||
|
||||
#define SPROUT_LANG_STDCPPCLI 0
|
||||
|
||||
#if defined(__cplusplus_cli)
|
||||
# undef SPROUT_LANG_STDCPPCLI
|
||||
# if (__cplusplus_cli > 100)
|
||||
# define SPROUT_LANG_STDCPPCLI SPROUT_PREDEF_MAKE_YYYYMM(__cplusplus_cli)
|
||||
# else
|
||||
# define SPROUT_LANG_STDCPPCLI 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_LANG_STDCPPCLI
|
||||
# define SPROUT_LANG_STDCPPCLI_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LANG_STDCPPCLI_NAME "Standard C++/CLI"
|
||||
|
||||
#define SPROUT_LANG_STDECPP 0
|
||||
|
||||
#if defined(__embedded_cplusplus)
|
||||
# undef SPROUT_LANG_STDECPP
|
||||
# define SPROUT_LANG_STDECPP 1
|
||||
#endif
|
||||
|
||||
#if SPROUT_LANG_STDECPP
|
||||
# define SPROUT_LANG_STDECPP_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LANG_STDECPP_NAME "Standard Embedded C++"
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_LANGUAGE_STDCPP_HPP
|
15
sprout/predef/library.hpp
Normal file
15
sprout/predef/library.hpp
Normal file
|
@ -0,0 +1,15 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/library/c.hpp>
|
||||
#include <sprout/predef/library/std.hpp>
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_HPP
|
18
sprout/predef/library/c.hpp
Normal file
18
sprout/predef/library/c.hpp
Normal file
|
@ -0,0 +1,18 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_C_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_C_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/library/c/prefix.hpp>
|
||||
#include <sprout/predef/library/c/gnu.hpp>
|
||||
#include <sprout/predef/library/c/uc.hpp>
|
||||
#include <sprout/predef/library/c/vms.hpp>
|
||||
#include <sprout/predef/library/c/zos.hpp>
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_C_HPP
|
40
sprout/predef/library/c/gnu.hpp
Normal file
40
sprout/predef/library/c/gnu.hpp
Normal file
|
@ -0,0 +1,40 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_C_GNU_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_C_GNU_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
#include <sprout/predef/library/c/prefix.hpp>
|
||||
|
||||
#if defined(__STDC__)
|
||||
# include <stddef.h>
|
||||
#elif defined(__cplusplus)
|
||||
# include <cstddef>
|
||||
#endif
|
||||
|
||||
#define SPROUT_LIB_C_GNU 0
|
||||
|
||||
#if defined(__GLIBC__) || defined(__GNU_LIBRARY__)
|
||||
# undef SPROUT_LIB_C_GNU
|
||||
# if defined(__GLIBC__)
|
||||
# define SPROUT_LIB_C_GNU \
|
||||
SPROUT_VERSION_NUMBER(__GLIBC__, __GLIBC_MINOR__, 0)
|
||||
# else
|
||||
# define SPROUT_LIB_C_GNU \
|
||||
SPROUT_VERSION_NUMBER(__GNU_LIBRARY__, __GNU_LIBRARY_MINOR__, 0)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_LIB_C_GNU
|
||||
# define SPROUT_LIB_C_GNU_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LIB_C_GNU_NAME "GNU"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_C_GNU_HPP
|
14
sprout/predef/library/c/prefix.hpp
Normal file
14
sprout/predef/library/c/prefix.hpp
Normal file
|
@ -0,0 +1,14 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_C_PREFIX_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_C_PREFIX_HPP
|
||||
|
||||
#include <cassert>
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_C_PREFIX_HPP
|
29
sprout/predef/library/c/uc.hpp
Normal file
29
sprout/predef/library/c/uc.hpp
Normal file
|
@ -0,0 +1,29 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_C_UC_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_C_UC_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/library/c/prefix.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_LIB_C_UC 0
|
||||
|
||||
#if defined(__UCLIBC__)
|
||||
# undef SPROUT_LIB_C_UC
|
||||
# define SPROUT_LIB_C_UC \
|
||||
SPROUT_VERSION_NUMBER(__UCLIBC_MAJOR__, __UCLIBC_MINOR__, __UCLIBC_SUBLEVEL__)
|
||||
#endif
|
||||
|
||||
#if SPROUT_LIB_C_UC
|
||||
# define SPROUT_LIB_C_UC_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LIB_C_UC_NAME "uClibc"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_C_UC_HPP
|
28
sprout/predef/library/c/vms.hpp
Normal file
28
sprout/predef/library/c/vms.hpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_C_VMS_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_C_VMS_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/library/c/prefix.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_LIB_C_VMS 0
|
||||
|
||||
#if defined(__CRTL_VER)
|
||||
# undef SPROUT_LIB_C_VMS
|
||||
# define SPROUT_LIB_C_VMS SPROUT_PREDEF_MAKE_10_VVRR0PP00(__CRTL_VER)
|
||||
#endif
|
||||
|
||||
#if SPROUT_LIB_C_VMS
|
||||
# define SPROUT_LIB_C_VMS_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LIB_C_VMS_NAME "VMS"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_C_VMS_HPP
|
36
sprout/predef/library/c/zos.hpp
Normal file
36
sprout/predef/library/c/zos.hpp
Normal file
|
@ -0,0 +1,36 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_C_ZOS_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_C_ZOS_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/library/c/prefix.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_LIB_C_ZOS 0
|
||||
|
||||
#if defined(__LIBREL__)
|
||||
# undef SPROUT_LIB_C_ZOS
|
||||
# if !defined(SPROUT_LIB_C_ZOS) && defined(__LIBREL__)
|
||||
# define SPROUT_LIB_C_ZOS SPROUT_PREDEF_MAKE_0X_VRRPPPP(__LIBREL__)
|
||||
# endif
|
||||
# if !defined(SPROUT_LIB_C_ZOS) && defined(__TARGET_LIB__)
|
||||
# define SPROUT_LIB_C_ZOS SPROUT_PREDEF_MAKE_0X_VRRPPPP(__TARGET_LIB__)
|
||||
# endif
|
||||
# if !defined(SPROUT_LIB_C_ZOS)
|
||||
# define SPROUT_LIB_C_ZOS 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_LIB_C_ZOS
|
||||
# define SPROUT_LIB_C_ZOS_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LIB_C_ZOS_NAME "z/OS"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_C_ZOS_HPP
|
24
sprout/predef/library/std.hpp
Normal file
24
sprout/predef/library/std.hpp
Normal file
|
@ -0,0 +1,24 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_STD_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_STD_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/library/std/prefix.hpp>
|
||||
#include <sprout/predef/library/std/cxx.hpp>
|
||||
#include <sprout/predef/library/std/dinkumware.hpp>
|
||||
#include <sprout/predef/library/std/libcomo.hpp>
|
||||
#include <sprout/predef/library/std/modena.hpp>
|
||||
#include <sprout/predef/library/std/msl.hpp>
|
||||
#include <sprout/predef/library/std/roguewave.hpp>
|
||||
#include <sprout/predef/library/std/sgi.hpp>
|
||||
#include <sprout/predef/library/std/stdcpp3.hpp>
|
||||
#include <sprout/predef/library/std/stlport.hpp>
|
||||
#include <sprout/predef/library/std/vacpp.hpp>
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_STD_HPP
|
28
sprout/predef/library/std/cxx.hpp
Normal file
28
sprout/predef/library/std/cxx.hpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_STD_CXX_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_STD_CXX_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/library/std/prefix.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_LIB_STD_CXX 0
|
||||
|
||||
#if defined(_LIBCPP_VERSION)
|
||||
# undef SPROUT_LIB_STD_CXX
|
||||
# define SPROUT_LIB_STD_CXX SPROUT_PREDEF_MAKE_10_VPPP(_LIBCPP_VERSION)
|
||||
#endif
|
||||
|
||||
#if SPROUT_LIB_STD_CXX
|
||||
# define SPROUT_LIB_STD_CXX_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LIB_STD_CXX_NAME "libc++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_STD_CXX_HPP
|
32
sprout/predef/library/std/dinkumware.hpp
Normal file
32
sprout/predef/library/std/dinkumware.hpp
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_STD_DINKUMWARE_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_STD_DINKUMWARE_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/library/std/prefix.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_LIB_STD_DINKUMWARE 0
|
||||
|
||||
#if (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
|
||||
# undef SPROUT_LIB_STD_DINKUMWARE
|
||||
# if defined(_CPPLIB_VER)
|
||||
# define SPROUT_LIB_STD_DINKUMWARE SPROUT_PREDEF_MAKE_10_VVRR(_CPPLIB_VER)
|
||||
# else
|
||||
# define SPROUT_LIB_STD_DINKUMWARE 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_LIB_STD_DINKUMWARE
|
||||
# define SPROUT_LIB_STD_DINKUMWARE_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LIB_STD_DINKUMWARE_NAME "Dinkumware"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_STD_DINKUMWARE_HPP
|
28
sprout/predef/library/std/libcomo.hpp
Normal file
28
sprout/predef/library/std/libcomo.hpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_STD_LIBCOMO_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_STD_LIBCOMO_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/library/std/prefix.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_LIB_STD_COMO 0
|
||||
|
||||
#if defined(__LIBCOMO__)
|
||||
# undef SPROUT_LIB_STD_COMO
|
||||
# define SPROUT_LIB_STD_COMO SPROUT_VERSION_NUMBER(__LIBCOMO_VERSION__, 0, 0)
|
||||
#endif
|
||||
|
||||
#if SPROUT_LIB_STD_COMO
|
||||
# define SPROUT_LIB_STD_COMO_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LIB_STD_COMO_NAME "Comeau Computing"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_STD_LIBCOMO_HPP
|
27
sprout/predef/library/std/modena.hpp
Normal file
27
sprout/predef/library/std/modena.hpp
Normal file
|
@ -0,0 +1,27 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_STD_MODENA_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_STD_MODENA_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/library/std/prefix.hpp>
|
||||
|
||||
#define SPROUT_LIB_STD_MSIPL 0
|
||||
|
||||
#if defined(MSIPL_COMPILE_H) || defined(__MSIPL_COMPILE_H)
|
||||
# undef SPROUT_LIB_STD_MSIPL
|
||||
# define SPROUT_LIB_STD_MSIPL 1
|
||||
#endif
|
||||
|
||||
#if SPROUT_LIB_STD_MSIPL
|
||||
# define SPROUT_LIB_STD_MSIPL_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LIB_STD_MSIPL_NAME "Modena Software Lib++"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_STD_MODENA_HPP
|
32
sprout/predef/library/std/msl.hpp
Normal file
32
sprout/predef/library/std/msl.hpp
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_STD_MSL_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_STD_MSL_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/library/std/prefix.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_LIB_STD_MSL 0
|
||||
|
||||
#if defined(__MSL_CPP__) || defined(__MSL__)
|
||||
# undef SPROUT_LIB_STD_MSL
|
||||
# if defined(__MSL_CPP__)
|
||||
# define SPROUT_LIB_STD_MSL SPROUT_PREDEF_MAKE_0X_VRPP(__MSL_CPP__)
|
||||
# else
|
||||
# define SPROUT_LIB_STD_MSL SPROUT_PREDEF_MAKE_0X_VRPP(__MSL__)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_LIB_STD_MSL
|
||||
# define SPROUT_LIB_STD_MSL_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LIB_STD_MSL_NAME "Metrowerks"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_STD_MSL_HPP
|
14
sprout/predef/library/std/prefix.hpp
Normal file
14
sprout/predef/library/std/prefix.hpp
Normal file
|
@ -0,0 +1,14 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_STD_PREFIX_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_STD_PREFIX_HPP
|
||||
|
||||
#include <exception>
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_STD_PREFIX_HPP
|
36
sprout/predef/library/std/roguewave.hpp
Normal file
36
sprout/predef/library/std/roguewave.hpp
Normal file
|
@ -0,0 +1,36 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_STD_ROGUEWAVE_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_STD_ROGUEWAVE_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/library/std/prefix.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_LIB_STD_RW 0
|
||||
|
||||
#if defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
|
||||
# undef SPROUT_LIB_STD_RW
|
||||
# if defined(_RWSTD_VER)
|
||||
# if _RWSTD_VER < 0x010000
|
||||
# define SPROUT_LIB_STD_RW SPROUT_PREDEF_MAKE_0X_VVRRP(_RWSTD_VER)
|
||||
# else
|
||||
# define SPROUT_LIB_STD_RW SPROUT_PREDEF_MAKE_0X_VVRRPP(_RWSTD_VER)
|
||||
# endif
|
||||
# else
|
||||
# define SPROUT_LIB_STD_RW 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_LIB_STD_RW
|
||||
# define SPROUT_LIB_STD_RW_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LIB_STD_RW_NAME "Roguewave"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_STD_ROGUEWAVE_HPP
|
32
sprout/predef/library/std/sgi.hpp
Normal file
32
sprout/predef/library/std/sgi.hpp
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_STD_SGI_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_STD_SGI_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/library/std/prefix.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_LIB_STD_SGI 0
|
||||
|
||||
#if defined(__STL_CONFIG_H)
|
||||
# undef SPROUT_LIB_STD_SGI
|
||||
# if defined(__SGI_STL)
|
||||
# define SPROUT_LIB_STD_SGI SPROUT_PREDEF_MAKE_0X_VRP(__SGI_STL)
|
||||
# else
|
||||
# define SPROUT_LIB_STD_SGI 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_LIB_STD_SGI
|
||||
# define SPROUT_LIB_STD_SGI_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LIB_STD_SGI_NAME "SGI"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_STD_SGI_HPP
|
32
sprout/predef/library/std/stdcpp3.hpp
Normal file
32
sprout/predef/library/std/stdcpp3.hpp
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_STD_STDCPP3_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_STD_STDCPP3_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/library/std/prefix.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_LIB_STD_GNU 0
|
||||
|
||||
#if defined(__GLIBCPP__) || defined(__GLIBCXX__)
|
||||
# undef SPROUT_LIB_STD_GNU
|
||||
# if defined(__GLIBCXX__)
|
||||
# define SPROUT_LIB_STD_GNU SPROUT_PREDEF_MAKE_YYYYMMDD(__GLIBCXX__)
|
||||
# else
|
||||
# define SPROUT_LIB_STD_GNU SPROUT_PREDEF_MAKE_YYYYMMDD(__GLIBCPP__)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_LIB_STD_GNU
|
||||
# define SPROUT_LIB_STD_GNU_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LIB_STD_GNU_NAME "GNU"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_STD_STDCPP3_HPP
|
38
sprout/predef/library/std/stlport.hpp
Normal file
38
sprout/predef/library/std/stlport.hpp
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_STD_STLPORT_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_STD_STLPORT_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/library/std/prefix.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
#include <sprout/predef/make.hpp>
|
||||
|
||||
#define SPROUT_LIB_STD_STLPORT 0
|
||||
|
||||
#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
|
||||
# undef SPROUT_LIB_STD_STLPORT
|
||||
# if !defined(SPROUT_LIB_STD_STLPORT) && defined(_STLPORT_MAJOR)
|
||||
# define SPROUT_LIB_STD_STLPORT \
|
||||
SPROUT_VERSION_NUMBER(_STLPORT_MAJOR, _STLPORT_MINOR, _STLPORT_PATCHLEVEL)
|
||||
# endif
|
||||
# if !defined(SPROUT_LIB_STD_STLPORT) && defined(_STLPORT_VERSION)
|
||||
# define SPROUT_LIB_STD_STLPORT SPROUT_PREDEF_MAKE_0X_VRP(_STLPORT_VERSION)
|
||||
# endif
|
||||
# if !defined(SPROUT_LIB_STD_STLPORT)
|
||||
# define SPROUT_LIB_STD_STLPORT SPROUT_PREDEF_MAKE_0X_VRP(__SGI_STL_PORT)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if SPROUT_LIB_STD_STLPORT
|
||||
# define SPROUT_LIB_STD_STLPORT_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LIB_STD_STLPORT_NAME "STLport"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_STD_STLPORT_HPP
|
27
sprout/predef/library/std/vacpp.hpp
Normal file
27
sprout/predef/library/std/vacpp.hpp
Normal file
|
@ -0,0 +1,27 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the sprout Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.sprout.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_PREDEF_LIBRARY_STD_VACPP_HPP
|
||||
#define SPROUT_PREDEF_LIBRARY_STD_VACPP_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/library/std/prefix.hpp>
|
||||
|
||||
#define SPROUT_LIB_STD_IBM 0
|
||||
|
||||
#if defined(__IBMCPP__)
|
||||
# undef SPROUT_LIB_STD_IBM
|
||||
# define SPROUT_LIB_STD_IBM 1
|
||||
#endif
|
||||
|
||||
#if SPROUT_LIB_STD_IBM
|
||||
# define SPROUT_LIB_STD_IBM_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define SPROUT_LIB_STD_IBM_NAME "IBM VACPP"
|
||||
|
||||
#endif //#ifndef SPROUT_PREDEF_LIBRARY_STD_VACPP_HPP
|
41
sprout/predef/make.hpp
Normal file
41
sprout/predef/make.hpp
Normal file
|
@ -0,0 +1,41 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2015 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
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 SPROUT_PREDEF_MAKE_HPP
|
||||
#define SPROUT_PREDEF_MAKE_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/predef/version_number.hpp>
|
||||
|
||||
#define SPROUT_PREDEF_MAKE_0X_VRP(V) SPROUT_VERSION_NUMBER((V & 0xF00) >> 8, (V & 0xF0) >> 4, (V & 0xF))
|
||||
#define SPROUT_PREDEF_MAKE_0X_VVRP(V) SPROUT_VERSION_NUMBER((V & 0xFF00) >> 8, (V & 0xF0) >> 4, (V & 0xF))
|
||||
#define SPROUT_PREDEF_MAKE_0X_VRPP(V) SPROUT_VERSION_NUMBER((V & 0xF000) >> 12, (V & 0xF00) >> 8, (V & 0xFF))
|
||||
#define SPROUT_PREDEF_MAKE_0X_VVRR(V) SPROUT_VERSION_NUMBER((V & 0xFF00) >> 8, (V & 0xFF), 0)
|
||||
#define SPROUT_PREDEF_MAKE_0X_VRRPPPP(V) SPROUT_VERSION_NUMBER((V & 0xF000000) >> 24, (V & 0xFF0000) >> 16, (V & 0xFFFF))
|
||||
#define SPROUT_PREDEF_MAKE_0X_VVRRP(V) SPROUT_VERSION_NUMBER((V & 0xFF000) >> 12, (V & 0xFF0) >> 4, (V & 0xF))
|
||||
#define SPROUT_PREDEF_MAKE_0X_VRRPP000(V) SPROUT_VERSION_NUMBER((V & 0xF0000000) >> 28, (V & 0xFF00000) >> 20, (V & 0xFF000) >> 12)
|
||||
#define SPROUT_PREDEF_MAKE_0X_VVRRPP(V) SPROUT_VERSION_NUMBER((V & 0xFF0000) >> 16, (V & 0xFF00) >> 8, (V & 0xFF))
|
||||
#define SPROUT_PREDEF_MAKE_10_VPPP(V) SPROUT_VERSION_NUMBER(((V) / 1000) % 10, 0, (V) % 1000)
|
||||
#define SPROUT_PREDEF_MAKE_10_VRP(V) SPROUT_VERSION_NUMBER(((V) / 100) % 10, ((V) / 10) % 10, (V) % 10)
|
||||
#define SPROUT_PREDEF_MAKE_10_VRP000(V) SPROUT_VERSION_NUMBER(((V) / 100000) % 10, ((V) / 10000) % 10, ((V) / 1000) % 10)
|
||||
#define SPROUT_PREDEF_MAKE_10_VRPP(V) SPROUT_VERSION_NUMBER(((V) / 1000) % 10, ((V) / 100) % 10, (V) % 100)
|
||||
#define SPROUT_PREDEF_MAKE_10_VRR(V) SPROUT_VERSION_NUMBER(((V) / 100) % 10, (V) % 100, 0)
|
||||
#define SPROUT_PREDEF_MAKE_10_VRRPP(V) SPROUT_VERSION_NUMBER(((V) / 10000) % 10, ((V) / 100) % 100, (V) % 100)
|
||||
#define SPROUT_PREDEF_MAKE_10_VRR000(V) SPROUT_VERSION_NUMBER(((V) / 100000) % 10, ((V) / 1000) % 100, 0)
|
||||
#define SPROUT_PREDEF_MAKE_10_VV00(V) SPROUT_VERSION_NUMBER(((V) / 100) % 100, 0, 0)
|
||||
#define SPROUT_PREDEF_MAKE_10_VVRR(V) SPROUT_VERSION_NUMBER(((V) / 100) % 100, (V) % 100, 0)
|
||||
#define SPROUT_PREDEF_MAKE_10_VVRRPP(V) SPROUT_VERSION_NUMBER(((V) / 10000) % 100, ((V) / 100) % 100, (V) % 100)
|
||||
#define SPROUT_PREDEF_MAKE_10_VVRR0PP00(V) SPROUT_VERSION_NUMBER(((V) / 10000000) % 100, ((V) / 100000) % 100, ((V) / 100) % 100)
|
||||
#define SPROUT_PREDEF_MAKE_10_VVRR0PPPP(V) SPROUT_VERSION_NUMBER(((V) / 10000000) % 100, ((V) / 100000) % 100, (V) % 10000)
|
||||
#define SPROUT_PREDEF_MAKE_10_VVRR00PP00(V) SPROUT_VERSION_NUMBER(((V) / 100000000) % 100, ((V) / 1000000) % 100, ((V) / 100) % 100)
|
||||
|
||||
#define SPROUT_PREDEF_MAKE_DATE(Y, M, D) SPROUT_VERSION_NUMBER((Y) % 10000 - 1970, (M) % 100, (D) % 100)
|
||||
#define SPROUT_PREDEF_MAKE_YYYYMMDD(V) SPROUT_PREDEF_MAKE_DATE(((V) / 10000) % 10000, ((V) / 100) % 100, (V) % 100)
|
||||
#define SPROUT_PREDEF_MAKE_YYYY(V) SPROUT_PREDEF_MAKE_DATE(V, 1, 1)
|
||||
#define SPROUT_PREDEF_MAKE_YYYYMM(V) SPROUT_PREDEF_MAKE_DATE((V) / 100, (V) % 100, 1)
|
||||
|
||||
#endif // #ifndef SPROUT_PREDEF_MAKE_HPP
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue