@@ -9,7 +9,7 @@
|
||||
/*! \brief whether use glog for logging */
|
||||
#ifndef DMLC_USE_GLOG
|
||||
#define DMLC_USE_GLOG 0
|
||||
#endif
|
||||
#endif // DMLC_USE_GLOG
|
||||
|
||||
/*!
|
||||
* \brief whether throw dmlc::Error instead of
|
||||
@@ -19,7 +19,7 @@
|
||||
*/
|
||||
#ifndef DMLC_LOG_FATAL_THROW
|
||||
#define DMLC_LOG_FATAL_THROW 1
|
||||
#endif
|
||||
#endif // DMLC_LOG_FATAL_THROW
|
||||
|
||||
/*!
|
||||
* \brief whether always log a message before throw
|
||||
@@ -27,7 +27,7 @@
|
||||
*/
|
||||
#ifndef DMLC_LOG_BEFORE_THROW
|
||||
#define DMLC_LOG_BEFORE_THROW 1
|
||||
#endif
|
||||
#endif // DMLC_LOG_BEFORE_THROW
|
||||
|
||||
/*!
|
||||
* \brief Whether to use customized logger,
|
||||
@@ -35,7 +35,7 @@
|
||||
*/
|
||||
#ifndef DMLC_LOG_CUSTOMIZE
|
||||
#define DMLC_LOG_CUSTOMIZE 0
|
||||
#endif
|
||||
#endif // DMLC_LOG_CUSTOMIZE
|
||||
|
||||
/*!
|
||||
* \brief Wheter to print stack trace for fatal error,
|
||||
@@ -45,22 +45,22 @@
|
||||
&& defined(__GNUC__) && !defined(__MINGW32__) \
|
||||
&& !defined(__sun) && !defined(__SVR4))
|
||||
#define DMLC_LOG_STACK_TRACE 1
|
||||
#endif
|
||||
#endif // guards
|
||||
|
||||
/*! \brief whether compile with hdfs support */
|
||||
#ifndef DMLC_USE_HDFS
|
||||
#define DMLC_USE_HDFS 0
|
||||
#endif
|
||||
#endif // DMLC_USE_HDFS
|
||||
|
||||
/*! \brief whether compile with s3 support */
|
||||
#ifndef DMLC_USE_S3
|
||||
#define DMLC_USE_S3 0
|
||||
#endif
|
||||
#endif // DMLC_USE_S3
|
||||
|
||||
/*! \brief whether or not use parameter server */
|
||||
#ifndef DMLC_USE_PS
|
||||
#define DMLC_USE_PS 0
|
||||
#endif
|
||||
#endif // DMLC_USE_PS
|
||||
|
||||
/*! \brief whether or not use c++11 support */
|
||||
#ifndef DMLC_USE_CXX11
|
||||
@@ -68,8 +68,8 @@
|
||||
#define DMLC_USE_CXX11 1
|
||||
#else
|
||||
#define DMLC_USE_CXX11 (__cplusplus >= 201103L)
|
||||
#endif
|
||||
#endif
|
||||
#endif // defined(__GXX_EXPERIMENTAL_CXX0X__) || defined(_MSC_VER)
|
||||
#endif // DMLC_USE_CXX11
|
||||
|
||||
/*! \brief strict CXX11 support */
|
||||
#ifndef DMLC_STRICT_CXX11
|
||||
@@ -77,8 +77,8 @@
|
||||
#define DMLC_STRICT_CXX11 1
|
||||
#else
|
||||
#define DMLC_STRICT_CXX11 (__cplusplus >= 201103L)
|
||||
#endif
|
||||
#endif
|
||||
#endif // defined(_MSC_VER)
|
||||
#endif // DMLC_STRICT_CXX11
|
||||
|
||||
/*! \brief Whether cxx11 thread local is supported */
|
||||
#ifndef DMLC_CXX11_THREAD_LOCAL
|
||||
@@ -87,17 +87,17 @@
|
||||
#define DMLC_CXX11_THREAD_LOCAL 1
|
||||
#else
|
||||
#define DMLC_CXX11_THREAD_LOCAL 0
|
||||
#endif
|
||||
#endif // (_MSC_VER >= 1900)
|
||||
#else
|
||||
#define DMLC_CXX11_THREAD_LOCAL (__cplusplus >= 201103L)
|
||||
#endif
|
||||
#endif
|
||||
#endif // defined(_MSC_VER)
|
||||
#endif // DMLC_CXX11_THREAD_LOCAL
|
||||
|
||||
|
||||
/*! \brief whether RTTI is enabled */
|
||||
#ifndef DMLC_ENABLE_RTTI
|
||||
#define DMLC_ENABLE_RTTI 1
|
||||
#endif
|
||||
#endif // DMLC_ENABLE_RTTI
|
||||
|
||||
/// check if g++ is before 4.6
|
||||
#if DMLC_USE_CXX11 && defined(__GNUC__) && !defined(__clang_version__)
|
||||
@@ -107,8 +107,8 @@
|
||||
"compile without c++0x, some features may be disabled")
|
||||
#undef DMLC_USE_CXX11
|
||||
#define DMLC_USE_CXX11 0
|
||||
#endif
|
||||
#endif
|
||||
#endif // __GNUC__ == 4 && __GNUC_MINOR__ < 6
|
||||
#endif // DMLC_USE_CXX11 && defined(__GNUC__) && !defined(__clang_version__)
|
||||
|
||||
|
||||
/*!
|
||||
@@ -117,19 +117,19 @@
|
||||
*/
|
||||
#ifndef DMLC_ENABLE_STD_THREAD
|
||||
#define DMLC_ENABLE_STD_THREAD DMLC_USE_CXX11
|
||||
#endif
|
||||
#endif // DMLC_ENABLE_STD_THREAD
|
||||
|
||||
/*! \brief whether enable regex support, actually need g++-4.9 or higher*/
|
||||
#ifndef DMLC_USE_REGEX
|
||||
#define DMLC_USE_REGEX DMLC_STRICT_CXX11
|
||||
#endif
|
||||
#endif // DMLC_USE_REGEX
|
||||
|
||||
/*! \brief helper macro to supress unused warning */
|
||||
#if defined(__GNUC__)
|
||||
#define DMLC_ATTRIBUTE_UNUSED __attribute__((unused))
|
||||
#else
|
||||
#define DMLC_ATTRIBUTE_UNUSED
|
||||
#endif
|
||||
#endif // defined(__GNUC__)
|
||||
|
||||
/*! \brief helper macro to generate string concat */
|
||||
#define DMLC_STR_CONCAT_(__x, __y) __x##__y
|
||||
@@ -154,41 +154,46 @@
|
||||
# define DISALLOW_COPY_AND_ASSIGN(T) \
|
||||
T(T const&); \
|
||||
T& operator=(T const&)
|
||||
# endif
|
||||
#endif
|
||||
# endif // DMLC_USE_CXX11
|
||||
#endif // DISALLOW_COPY_AND_ASSIGN
|
||||
|
||||
///
|
||||
/// code block to handle optionally loading
|
||||
///
|
||||
#if !defined(__GNUC__)
|
||||
#define fopen64 std::fopen
|
||||
#endif
|
||||
#endif // !defined(__GNUC__)
|
||||
|
||||
#if (defined __MINGW32__) && !(defined __MINGW64__)
|
||||
#define fopen64 std::fopen
|
||||
#endif
|
||||
#endif // (defined __MINGW32__) && !(defined __MINGW64__)
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#if _MSC_VER < 1900
|
||||
|
||||
# if _MSC_VER < 1900
|
||||
// NOTE: sprintf_s is not equivalent to snprintf,
|
||||
// they are equivalent when success, which is sufficient for our case
|
||||
#define snprintf sprintf_s
|
||||
#define vsnprintf vsprintf_s
|
||||
#endif
|
||||
#else
|
||||
#ifdef _FILE_OFFSET_BITS
|
||||
#if _FILE_OFFSET_BITS == 32
|
||||
#pragma message("Warning: FILE OFFSET BITS defined to be 32 bit")
|
||||
#endif
|
||||
#endif
|
||||
# define snprintf sprintf_s
|
||||
# define vsnprintf vsprintf_s
|
||||
# endif // _MSC_VER < 1900
|
||||
|
||||
#ifdef __APPLE__
|
||||
#define off64_t off_t
|
||||
#define fopen64 std::fopen
|
||||
#endif
|
||||
#else
|
||||
|
||||
# ifdef _FILE_OFFSET_BITS
|
||||
# if _FILE_OFFSET_BITS == 32
|
||||
# pragma message("Warning: FILE OFFSET BITS defined to be 32 bit")
|
||||
# endif // _FILE_OFFSET_BITS == 32
|
||||
# endif // _FILE_OFFSET_BITS
|
||||
|
||||
# ifdef __APPLE__
|
||||
# define off64_t off_t
|
||||
# define fopen64 std::fopen
|
||||
# endif // __APPLE__
|
||||
|
||||
extern "C" {
|
||||
#include <sys/types.h>
|
||||
}
|
||||
#endif
|
||||
#endif // _MSC_VER
|
||||
|
||||
#ifdef _MSC_VER
|
||||
//! \cond Doxygen_Suppress
|
||||
@@ -203,7 +208,8 @@ typedef unsigned __int64 uint64_t;
|
||||
//! \endcond
|
||||
#else
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
#endif // _MSC_VER
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
@@ -211,7 +217,7 @@ typedef unsigned __int64 uint64_t;
|
||||
#define noexcept_true throw ()
|
||||
#define noexcept_false
|
||||
#define noexcept(a) noexcept_##a
|
||||
#endif
|
||||
#endif // defined(_MSC_VER) && _MSC_VER < 1900
|
||||
|
||||
#if DMLC_USE_CXX11
|
||||
#define DMLC_THROW_EXCEPTION noexcept(false)
|
||||
@@ -219,7 +225,7 @@ typedef unsigned __int64 uint64_t;
|
||||
#else
|
||||
#define DMLC_THROW_EXCEPTION
|
||||
#define DMLC_NO_EXCEPTION
|
||||
#endif
|
||||
#endif // DMLC_USE_CXX11
|
||||
|
||||
/*! \brief namespace for dmlc */
|
||||
namespace dmlc {
|
||||
@@ -272,6 +278,6 @@ inline const char* BeginPtr(const std::string &str) {
|
||||
#if defined(_MSC_VER) && _MSC_VER < 1900
|
||||
#define constexpr const
|
||||
#define alignof __alignof
|
||||
#endif
|
||||
#endif // defined(_MSC_VER) && _MSC_VER < 1900
|
||||
|
||||
#endif // DMLC_BASE_H_
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "./base.h"
|
||||
#if DMLC_USE_CXX11
|
||||
#include <type_traits>
|
||||
#endif
|
||||
#endif // DMLC_USE_CXX11
|
||||
#include <string>
|
||||
|
||||
namespace dmlc {
|
||||
@@ -25,7 +25,7 @@ struct is_pod {
|
||||
#else
|
||||
/*! \brief the value of the traits */
|
||||
static const bool value = false;
|
||||
#endif
|
||||
#endif // DMLC_USE_CXX11
|
||||
};
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ struct is_integral {
|
||||
#else
|
||||
/*! \brief the value of the traits */
|
||||
static const bool value = false;
|
||||
#endif
|
||||
#endif // DMLC_USE_CXX11
|
||||
};
|
||||
|
||||
/*!
|
||||
@@ -56,7 +56,7 @@ struct is_floating_point {
|
||||
#else
|
||||
/*! \brief the value of the traits */
|
||||
static const bool value = false;
|
||||
#endif
|
||||
#endif // DMLC_USE_CXX11
|
||||
};
|
||||
|
||||
/*!
|
||||
@@ -72,7 +72,7 @@ struct is_arithmetic {
|
||||
/*! \brief the value of the traits */
|
||||
static const bool value = (dmlc::is_integral<T>::value ||
|
||||
dmlc::is_floating_point<T>::value);
|
||||
#endif
|
||||
#endif // DMLC_USE_CXX11
|
||||
};
|
||||
|
||||
/*!
|
||||
@@ -147,7 +147,7 @@ DMLC_DECLARE_TRAITS(is_integral, uint64_t, true);
|
||||
DMLC_DECLARE_TRAITS(is_floating_point, float, true);
|
||||
DMLC_DECLARE_TRAITS(is_floating_point, double, true);
|
||||
|
||||
#endif
|
||||
#endif // DMLC_USE_CXX11
|
||||
|
||||
DMLC_DECLARE_TYPE_NAME(float, "float");
|
||||
DMLC_DECLARE_TYPE_NAME(double, "double");
|
||||
|
||||
Reference in New Issue
Block a user