tlx
Loading...
Searching...
No Matches
likely.hpp
Go to the documentation of this file.
1/*******************************************************************************
2 * tlx/define/likely.hpp
3 *
4 * Part of tlx - http://panthema.net/tlx
5 *
6 * Copyright (C) 2015-2017 Timo Bingmann <tb@panthema.net>
7 *
8 * All rights reserved. Published under the Boost Software License, Version 1.0
9 ******************************************************************************/
10
11#ifndef TLX_DEFINE_LIKELY_HEADER
12#define TLX_DEFINE_LIKELY_HEADER
13
14namespace tlx {
15
16//! \addtogroup tlx_define
17//! \{
18
19#if defined(__GNUC__) || defined(__clang__)
20#define TLX_LIKELY(c) __builtin_expect((c), 1)
21#define TLX_UNLIKELY(c) __builtin_expect((c), 0)
22#else
23#define TLX_LIKELY(c) c
24#define TLX_UNLIKELY(c) c
25#endif
26
27//! \}
28
29} // namespace tlx
30
31#endif // !TLX_DEFINE_LIKELY_HEADER
32
33/******************************************************************************/