diff options
Diffstat (limited to 'thirdparty/raw_pdb/src/Foundation/PDB_BitOperators.h')
| -rw-r--r-- | thirdparty/raw_pdb/src/Foundation/PDB_BitOperators.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/thirdparty/raw_pdb/src/Foundation/PDB_BitOperators.h b/thirdparty/raw_pdb/src/Foundation/PDB_BitOperators.h new file mode 100644 index 000000000..04f17a44b --- /dev/null +++ b/thirdparty/raw_pdb/src/Foundation/PDB_BitOperators.h @@ -0,0 +1,23 @@ +// Copyright 2011-2022, Molecular Matters GmbH <[email protected]> +// See LICENSE.txt for licensing details (2-clause BSD License: https://opensource.org/licenses/BSD-2-Clause) + +#pragma once + +#include "PDB_Macros.h" + + +#define PDB_DEFINE_BIT_OPERATORS(_type) \ + PDB_NO_DISCARD inline constexpr _type operator|(_type lhs, _type rhs) PDB_NO_EXCEPT \ + { \ + return static_cast<_type>(PDB_AS_UNDERLYING(lhs) | PDB_AS_UNDERLYING(rhs)); \ + } \ + \ + PDB_NO_DISCARD inline constexpr _type operator&(_type lhs, _type rhs) PDB_NO_EXCEPT \ + { \ + return static_cast<_type>(PDB_AS_UNDERLYING(lhs) & PDB_AS_UNDERLYING(rhs)); \ + } \ + \ + PDB_NO_DISCARD inline constexpr _type operator~(_type value) PDB_NO_EXCEPT \ + { \ + return static_cast<_type>(~PDB_AS_UNDERLYING(value)); \ + } |