/**
 * \file	macros.h
 * \author	Thibaut Mattio <thibaut.mattio@gmail.com>
 * \date	28/06/2015
 * \copyright Copyright (c) 2015 Thibaut Mattio. All rights reserved.
 * Use of this source code is governed by the MIT license that can be
 * found in the LICENSE file.
 */

#ifndef ATLAS_MACROS_H_
#define ATLAS_MACROS_H_

#if (__cplusplus >= 201103L)
#define ATLAS_NOEXCEPT noexcept
#define ATLAS_NOEXCEPT_(x) noexcept(x)
#define ATLAS_NOEXCEPT_OR_FALSE(x) noexcept(x)
#else
#define ATLAS_NOEXCEPT throw()
#define ATLAS_NOEXCEPT_(x)
#define ATLAS_NOEXCEPT_OR_FALSE(x) false
#endif

#ifndef ATLAS_ALWAYS_INLINE
#define ATLAS_ALWAYS_INLINE \
  __attribute__((__visibility__("default"), __always_inline__)) inline
#endif

#endif  // ATLAS_MACROS_H_

/**
 * \file	macros.h
 * \author	Thibaut Mattio <thibaut.mattio@gmail.com>
 * \date	28/06/2015
 * \copyright Copyright (c) 2015 Thibaut Mattio. All rights reserved.
 * Use of this source code is governed by the MIT license that can be
 * found in the LICENSE file.
 */

#ifndef ATLAS_MACROS_H_
#define ATLAS_MACROS_H_

// Defining exception macros
#if (__cplusplus >= 201103L)
#define ATLAS_NOEXCEPT noexcept
#define ATLAS_NOEXCEPT_(x) noexcept(x)
#define ATLAS_NOEXCEPT_OR_FALSE(x) noexcept(x)
#else
#define ATLAS_NOEXCEPT throw()
#define ATLAS_NOEXCEPT_(x)
#define ATLAS_NOEXCEPT_OR_FALSE(x) false
#endif


// Defining inline macros
#ifndef ATLAS_ALWAYS_INLINE
#define ATLAS_ALWAYS_INLINE \
  __attribute__((__visibility__("default"), __always_inline__)) inline
#endif

// Defining OS variables
#if defined(_WIN32)
#	define OS_WINDOWS 1
#elif defined(__APPLE__)
#  define OS_DARWIN 1
#elif defined(__linux__)
#  define OS_LINUX 1
#endif

#endif  // ATLAS_MACROS_H_

Make ins provider compile on darwin os.
Make ins provider compile on darwin os.
