net.endian: resolution dependence on Boost

This commit is contained in:
bolero-MURAKAMI 2015-12-06 14:34:37 +09:00
parent 74669a5a8a
commit f2c09dd3af
139 changed files with 4800 additions and 202 deletions

View 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

View 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

View file

@ -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

View file

@ -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

View file

@ -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>

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -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
View 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

View file

@ -13,7 +13,8 @@
#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 {
@ -23,7 +24,8 @@ namespace sprout {
* Left shift 'val' by 'n' bytes
*/
template<typename T>
SPROUT_CONSTEXPR T lshift_by(T val, std::uint_fast8_t n) {
inline SPROUT_CONSTEXPR T
lshift_by(T val, std::uint_fast8_t n) {
return val << (n * 8);
}
@ -32,7 +34,8 @@ namespace sprout {
* Right shift 'val' by 'n' bytes
*/
template<typename T>
SPROUT_CONSTEXPR T rshift_by(T val, std::uint_fast8_t n) {
inline SPROUT_CONSTEXPR T
rshift_by(T val, std::uint_fast8_t n) {
return val >> (n * 8);
}
@ -41,7 +44,8 @@ namespace sprout {
* Mask 'n'th byte
*/
template<typename T>
SPROUT_CONSTEXPR T mask_at(std::uint_fast8_t n) {
inline SPROUT_CONSTEXPR T
mask_at(std::uint_fast8_t n) {
return sprout::net::detail::lshift_by(T(0xFF), n);
}
@ -50,7 +54,8 @@ namespace sprout {
* Get 'n'th byte from 'val'
*/
template<typename T>
SPROUT_CONSTEXPR T byte_at(T val, std::uint_fast8_t n) {
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);
}
@ -59,7 +64,8 @@ namespace sprout {
* 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) {
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);
}
@ -68,7 +74,8 @@ namespace sprout {
* 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) {
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);
}
@ -77,7 +84,8 @@ namespace sprout {
* 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) {
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);
}
@ -86,7 +94,8 @@ namespace sprout {
* 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) {
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);
}
@ -95,7 +104,8 @@ namespace sprout {
* Reverse 'val'
*/
template<typename T>
SPROUT_CONSTEXPR T reverse(T val) {
inline SPROUT_CONSTEXPR T
reverse(T val) {
return sprout::net::detail::reverse_impl(val, 0, sizeof(T) - 1);
}
@ -104,7 +114,8 @@ namespace sprout {
* 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) {
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);
}
@ -113,7 +124,8 @@ namespace sprout {
* Reverse each word in 'val'
*/
template<typename T>
SPROUT_CONSTEXPR T reverse_words(T val) {
inline SPROUT_CONSTEXPR T
reverse_words(T val) {
return sprout::net::detail::reverse_words_impl(val, sizeof(T));
}
} // namespace detail
@ -122,13 +134,16 @@ namespace sprout {
// 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)
inline SPROUT_CONSTEXPR T
hton SPROUT_PREVENT_MACRO_SUBSTITUTION (T host) {
#if defined(SPROUT_BIG_ENDIAN)
return host;
#elif defined(BOOST_LITTLE_ENDIAN)
#elif defined(SPROUT_LITTLE_ENDIAN)
return sprout::net::detail::reverse(host);
#elif defined(BOOST_PDP_ENDIAN)
#elif defined(SPROUT_PDP_ENDIAN)
return sprout::net::detail::reverse_words(host);
#else
return SPROUT_ASSERT_MSG(0, "hton: unsupported endian"), host;
#endif
}
@ -136,37 +151,44 @@ namespace sprout {
// 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)
inline SPROUT_CONSTEXPR T
ntoh SPROUT_PREVENT_MACRO_SUBSTITUTION (T net) {
#if defined(SPROUT_BIG_ENDIAN)
return net;
#elif defined(BOOST_LITTLE_ENDIAN)
#elif defined(SPROUT_LITTLE_ENDIAN)
return sprout::net::detail::reverse(net);
#elif defined(BOOST_PDP_ENDIAN)
#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) {
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) {
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) {
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) {
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

21
sprout/predef.hpp Normal file
View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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
View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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
View 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