NCBI C++ ToolKit
Macros
bmdef.h File Reference

Definitions(internal) More...

#include <climits>
#include <stdint.h>
#include <cassert>
+ Include dependency graph for bmdef.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Go to the SVN repository for this file.

Macros

#define BMNOEXCEPT   noexcept
 
#define BMNOEXCEPT2
 
#define BMNOEXCEPT2
 
#define BM_ASSERT   assert
 
#define FULL_BLOCK_REAL_ADDR   bm::all_set<true>::_block._p
 
#define FULL_BLOCK_FAKE_ADDR   bm::all_set<true>::_block._p_fullp
 
#define FULL_SUB_BLOCK_REAL_ADDR   bm::all_set<true>::_block._s
 
#define BLOCK_ADDR_SAN(addr)   (addr == FULL_BLOCK_FAKE_ADDR) ? FULL_BLOCK_REAL_ADDR : addr
 
#define IS_VALID_ADDR(addr)   bm::all_set<true>::is_valid_block_addr(addr)
 
#define IS_FULL_BLOCK(addr)   bm::all_set<true>::is_full_block(addr)
 
#define IS_EMPTY_BLOCK(addr)   bool(addr == 0)
 
#define BM_BLOCK_TYPE(addr)   bm::all_set<true>::block_type(addr)
 
#define BMPTR_SETBIT0(ptr)   ( ((bm::id64_t)ptr) | 1 )
 
#define BMPTR_CLEARBIT0(ptr)   ( ((bm::id64_t)ptr) & ~(bm::id64_t)1 )
 
#define BMPTR_TESTBIT0(ptr)   ( ((bm::id64_t)ptr) & 1 )
 
#define BMGAP_PTR(ptr)   ((bm::gap_word_t*)BMPTR_CLEARBIT0(ptr))
 
#define BMSET_PTRGAP(ptr)   ptr = (bm::word_t*)BMPTR_SETBIT0(ptr)
 
#define BM_IS_GAP(ptr)   (BMPTR_TESTBIT0(ptr))
 
#define BMRESTRICT
 
#define BMFORCEINLINE   inline
 
#define BM_SET_MMX_GUARD
 
#define BM_ALIGN16
 
#define BM_ALIGN16ATTR
 
#define BM_ALIGN32
 
#define BM_ALIGN32ATTR
 
#define BM_ALIGN64
 
#define BM_ALIGN64ATTR
 
#define BM_VECT_ALIGN
 
#define BM_VECT_ALIGN_ATTR
 
#define BM_ASSERT_THROW(x, xerrcode)
 
#define __has_cpp_attribute(x)   0
 
#define __has_attribute(x)   0
 
#define BM_FALLTHROUGH
 

Detailed Description

Definitions(internal)

Definition in file bmdef.h.

Macro Definition Documentation

◆ __has_attribute

#define __has_attribute (   x)    0

Definition at line 346 of file bmdef.h.

◆ __has_cpp_attribute

#define __has_cpp_attribute (   x)    0

Definition at line 343 of file bmdef.h.

◆ BLOCK_ADDR_SAN

#define BLOCK_ADDR_SAN (   addr)    (addr == FULL_BLOCK_FAKE_ADDR) ? FULL_BLOCK_REAL_ADDR : addr

Definition at line 160 of file bmdef.h.

◆ BM_ALIGN16

#define BM_ALIGN16

Definition at line 304 of file bmdef.h.

◆ BM_ALIGN16ATTR

#define BM_ALIGN16ATTR

Definition at line 305 of file bmdef.h.

◆ BM_ALIGN32

#define BM_ALIGN32

Definition at line 306 of file bmdef.h.

◆ BM_ALIGN32ATTR

#define BM_ALIGN32ATTR

Definition at line 307 of file bmdef.h.

◆ BM_ALIGN64

#define BM_ALIGN64

Definition at line 308 of file bmdef.h.

◆ BM_ALIGN64ATTR

#define BM_ALIGN64ATTR

Definition at line 309 of file bmdef.h.

◆ BM_ASSERT

#define BM_ASSERT   assert

Definition at line 139 of file bmdef.h.

◆ BM_ASSERT_THROW

#define BM_ASSERT_THROW (   x,
  xerrcode 
)

Definition at line 338 of file bmdef.h.

◆ BM_BLOCK_TYPE

#define BM_BLOCK_TYPE (   addr)    bm::all_set<true>::block_type(addr)

Definition at line 165 of file bmdef.h.

◆ BM_FALLTHROUGH

#define BM_FALLTHROUGH

Definition at line 358 of file bmdef.h.

◆ BM_IS_GAP

#define BM_IS_GAP (   ptr)    (BMPTR_TESTBIT0(ptr))

Definition at line 191 of file bmdef.h.

◆ BM_SET_MMX_GUARD

#define BM_SET_MMX_GUARD

Definition at line 257 of file bmdef.h.

◆ BM_VECT_ALIGN

#define BM_VECT_ALIGN

Definition at line 327 of file bmdef.h.

◆ BM_VECT_ALIGN_ATTR

#define BM_VECT_ALIGN_ATTR

Definition at line 328 of file bmdef.h.

◆ BMFORCEINLINE

#define BMFORCEINLINE   inline

Definition at line 213 of file bmdef.h.

◆ BMGAP_PTR

#define BMGAP_PTR (   ptr)    ((bm::gap_word_t*)BMPTR_CLEARBIT0(ptr))

Definition at line 189 of file bmdef.h.

◆ BMNOEXCEPT

#define BMNOEXCEPT   noexcept

Definition at line 82 of file bmdef.h.

◆ BMNOEXCEPT2 [1/2]

#define BMNOEXCEPT2

Definition at line 108 of file bmdef.h.

◆ BMNOEXCEPT2 [2/2]

#define BMNOEXCEPT2

Definition at line 108 of file bmdef.h.

◆ BMPTR_CLEARBIT0

#define BMPTR_CLEARBIT0 (   ptr)    ( ((bm::id64_t)ptr) & ~(bm::id64_t)1 )

Definition at line 178 of file bmdef.h.

◆ BMPTR_SETBIT0

#define BMPTR_SETBIT0 (   ptr)    ( ((bm::id64_t)ptr) | 1 )

Definition at line 177 of file bmdef.h.

◆ BMPTR_TESTBIT0

#define BMPTR_TESTBIT0 (   ptr)    ( ((bm::id64_t)ptr) & 1 )

Definition at line 179 of file bmdef.h.

◆ BMRESTRICT

#define BMRESTRICT

Definition at line 203 of file bmdef.h.

◆ BMSET_PTRGAP

#define BMSET_PTRGAP (   ptr)    ptr = (bm::word_t*)BMPTR_SETBIT0(ptr)

Definition at line 190 of file bmdef.h.

◆ FULL_BLOCK_FAKE_ADDR

#define FULL_BLOCK_FAKE_ADDR   bm::all_set<true>::_block._p_fullp

Definition at line 158 of file bmdef.h.

◆ FULL_BLOCK_REAL_ADDR

#define FULL_BLOCK_REAL_ADDR   bm::all_set<true>::_block._p

Definition at line 157 of file bmdef.h.

◆ FULL_SUB_BLOCK_REAL_ADDR

#define FULL_SUB_BLOCK_REAL_ADDR   bm::all_set<true>::_block._s

Definition at line 159 of file bmdef.h.

◆ IS_EMPTY_BLOCK

#define IS_EMPTY_BLOCK (   addr)    bool(addr == 0)

Definition at line 163 of file bmdef.h.

◆ IS_FULL_BLOCK

#define IS_FULL_BLOCK (   addr)    bm::all_set<true>::is_full_block(addr)

Definition at line 162 of file bmdef.h.

◆ IS_VALID_ADDR

#define IS_VALID_ADDR (   addr)    bm::all_set<true>::is_valid_block_addr(addr)

Definition at line 161 of file bmdef.h.

Modified on Sat May 25 14:18:23 2024 by modify_doxy.py rev. 669887