Belle II Software
development
BitMask.h
1
/**************************************************************************
2
* basf2 (Belle II Analysis Software Framework) *
3
* Author: The Belle II Collaboration *
4
* *
5
* See git log for contributors and copyright holders. *
6
* This file is licensed under LGPL-3.0, see LICENSE.md. *
7
**************************************************************************/
8
#pragma once
9
11
#define ADD_BITMASK_OPERATORS(Bitmask) \
12
\
13
inline Bitmask operator| (Bitmask x , Bitmask y ) \
14
{ return static_cast<Bitmask>( static_cast<int>(x) \
15
| static_cast<int>(y)); } \
16
\
17
inline Bitmask operator& (Bitmask x , Bitmask y ) \
18
{ return static_cast<Bitmask>( static_cast<int>(x) \
19
& static_cast<int>(y)); } \
20
\
21
inline Bitmask operator^ (Bitmask x , Bitmask y ) \
22
{ return static_cast<Bitmask>( static_cast<int>(x) \
23
^ static_cast<int>(y)); } \
24
\
25
inline Bitmask operator~ (Bitmask x ) \
26
{ return static_cast<Bitmask>(~static_cast<int>(x)); } \
27
\
28
inline Bitmask & operator&=(Bitmask & x , Bitmask y) \
29
{ x = x & y ; return x ; } \
30
\
31
inline Bitmask & operator|=(Bitmask & x , Bitmask y) \
32
{ x = x | y ; return x ; } \
33
\
34
inline Bitmask & operator^=(Bitmask & x , Bitmask y) \
35
{ x = x ^ y ; return x ; }
framework
core
include
BitMask.h
Generated on Tue Nov 12 2024 02:37:01 for Belle II Software by
1.9.6