diff options
Diffstat (limited to 'third_party/immer/immer/config.hpp')
-rw-r--r-- | third_party/immer/immer/config.hpp | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/third_party/immer/immer/config.hpp b/third_party/immer/immer/config.hpp deleted file mode 100644 index 581e905a4de3..000000000000 --- a/third_party/immer/immer/config.hpp +++ /dev/null @@ -1,93 +0,0 @@ -// -// immer: immutable data structures for C++ -// Copyright (C) 2016, 2017, 2018 Juan Pedro Bolivar Puente -// -// This software is distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE or copy at http://boost.org/LICENSE_1_0.txt -// - -#pragma once - -#if defined(__has_cpp_attribute) -#if __has_cpp_attribute(nodiscard) -#define IMMER_NODISCARD [[nodiscard]] -#endif -#else -#if _MSVC_LANG >= 201703L -#define IMMER_NODISCARD [[nodiscard]] -#endif -#endif - -#ifndef IMMER_NODISCARD -#define IMMER_NODISCARD -#endif - -#ifndef IMMER_TAGGED_NODE -#ifdef NDEBUG -#define IMMER_TAGGED_NODE 0 -#else -#define IMMER_TAGGED_NODE 1 -#endif -#endif - -#if IMMER_TAGGED_NODE -#define IMMER_ASSERT_TAGGED(assertion) assert(assertion) -#else -#define IMMER_ASSERT_TAGGED(assertion) -#endif - -#ifndef IMMER_DEBUG_TRACES -#define IMMER_DEBUG_TRACES 0 -#endif - -#ifndef IMMER_DEBUG_PRINT -#define IMMER_DEBUG_PRINT 0 -#endif - -#ifndef IMMER_DEBUG_DEEP_CHECK -#define IMMER_DEBUG_DEEP_CHECK 0 -#endif - -#if IMMER_DEBUG_TRACES || IMMER_DEBUG_PRINT -#include <iostream> -#include <prettyprint.hpp> -#endif - -#if IMMER_DEBUG_TRACES -#define IMMER_TRACE(...) std::cout << __VA_ARGS__ << std::endl -#else -#define IMMER_TRACE(...) -#endif -#define IMMER_TRACE_F(...) \ - IMMER_TRACE(__FILE__ << ":" << __LINE__ << ": " << __VA_ARGS__) -#define IMMER_TRACE_E(expr) IMMER_TRACE(" " << #expr << " = " << (expr)) - -#if defined(_MSC_VER) -#define IMMER_UNREACHABLE __assume(false) -#define IMMER_LIKELY(cond) cond -#define IMMER_UNLIKELY(cond) cond -#define IMMER_FORCEINLINE __forceinline -#define IMMER_PREFETCH(p) -#else -#define IMMER_UNREACHABLE __builtin_unreachable() -#define IMMER_LIKELY(cond) __builtin_expect(!!(cond), 1) -#define IMMER_UNLIKELY(cond) __builtin_expect(!!(cond), 0) -#define IMMER_FORCEINLINE inline __attribute__((always_inline)) -#define IMMER_PREFETCH(p) -// #define IMMER_PREFETCH(p) __builtin_prefetch(p) -#endif - -#define IMMER_DESCENT_DEEP 0 - -#ifdef NDEBUG -#define IMMER_ENABLE_DEBUG_SIZE_HEAP 0 -#else -#define IMMER_ENABLE_DEBUG_SIZE_HEAP 1 -#endif - -namespace immer { - -const auto default_bits = 5; -const auto default_free_list_size = 1 << 10; - -} // namespace immer |