43 lines
1.1 KiB
C
43 lines
1.1 KiB
C
|
#ifndef _SINGULAR_SINGULAR_H
|
||
|
#define _SINGULAR_SINGULAR_H
|
||
|
|
||
|
/** The version of the singular library. */
|
||
|
#define SINGULAR_VERSION "@PROJECT_VERSION@"
|
||
|
|
||
|
/**
|
||
|
* Whether rvalue references are supported.
|
||
|
*
|
||
|
* Visual Studio 2010 and lower do not have rvalue references so far.
|
||
|
*/
|
||
|
#if defined(_MSC_VER) && _MSC_VER < 1700
|
||
|
#define SINGULAR_RVALUE_REFERENCE_SUPPORTED 0
|
||
|
#else
|
||
|
#define SINGULAR_RVALUE_REFERENCE_SUPPORTED 1
|
||
|
#endif
|
||
|
|
||
|
/**
|
||
|
* Whether function deletions are supported.
|
||
|
*
|
||
|
* Visual Studio 2012 and lower do not like "delete" stuff so far.
|
||
|
*/
|
||
|
#if defined(_MSC_VER) && _MSC_VER < 1800
|
||
|
#define SINGULAR_FUNCTION_DELETION_SUPPORTED 0
|
||
|
#else
|
||
|
#define SINGULAR_FUNCTION_DELETION_SUPPORTED 1
|
||
|
#endif
|
||
|
|
||
|
/**
|
||
|
* Whether template friend operator overalodings are supported.
|
||
|
*
|
||
|
* Visual Studio 2012 and lower do not like overloading a template firend
|
||
|
* operators.
|
||
|
* Neither does GCC.
|
||
|
*/
|
||
|
#if (defined(_MSC_VER) && _MSC_VER < 1800) || (defined(__GNUC__) && !defined(__clang__))
|
||
|
#define SINGULAR_TEMPLATE_FRIEND_OPERATOR_OVERLOADING_SUPPORTED 0
|
||
|
#else
|
||
|
#define SINGULAR_TEMPLATE_FRIEND_OPERATOR_OVERLOADING_SUPPORTED 1
|
||
|
#endif
|
||
|
|
||
|
#endif
|