class wrapping an atomic_var_t array
More...
#include <atomic_bitset.hpp>
template<size_t T_BitsetSize>
class zpp::atomic_bitset< T_BitsetSize >
class wrapping an atomic_var_t array
- Parameters
-
BitsetSize | the size of the bitset in bits |
Definition at line 23 of file atomic_bitset.hpp.
◆ atomic_bitset() [1/3]
template<size_t T_BitsetSize>
default constructor
The default constructor initializes the atomic_bitset to all bits set to 0.
◆ atomic_bitset() [2/3]
template<size_t T_BitsetSize>
◆ atomic_bitset() [3/3]
template<size_t T_BitsetSize>
◆ bit_count()
template<size_t T_BitsetSize>
return size of the bitset
- Returns
- the size of the bitset in bits
Definition at line 38 of file atomic_bitset.hpp.
◆ clear()
template<size_t T_BitsetSize>
atomically set a bit to false/0
- Parameters
-
bit | the index of the bit to set |
Definition at line 84 of file atomic_bitset.hpp.
86 __ASSERT_NO_MSG(bit < T_BitsetSize);
87 atomic_clear_bit(m_var, bit);
◆ fetch_and_clear()
template<size_t T_BitsetSize>
atomically clear a bit while returning the previous value.
- Parameters
-
bit | the index of the bit to set |
- Returns
- the bit value before it was cleared
Definition at line 97 of file atomic_bitset.hpp.
99 __ASSERT_NO_MSG(bit < T_BitsetSize);
100 return atomic_test_and_clear_bit(m_var, bit);
◆ fetch_and_set()
template<size_t T_BitsetSize>
atomically set a bit while returning the previous value.
- Parameters
-
bit | the index of the bit to set |
- Returns
- the bit value before it was set
Definition at line 110 of file atomic_bitset.hpp.
112 __ASSERT_NO_MSG(bit < T_BitsetSize);
113 return atomic_test_and_set_bit(m_var, bit);
◆ load()
template<size_t T_BitsetSize>
atomically get a bit from the bitset
- Parameters
-
bit | the index of the bit to return |
- Returns
- the requested bit value
Definition at line 50 of file atomic_bitset.hpp.
52 __ASSERT_NO_MSG(bit < T_BitsetSize);
53 return atomic_test_bit(m_var, bit);
◆ operator=() [1/2]
template<size_t T_BitsetSize>
◆ operator=() [2/2]
template<size_t T_BitsetSize>
◆ set()
template<size_t T_BitsetSize>
atomically set a bit to true/1
- Parameters
-
bit | the index of the bit to set |
Definition at line 73 of file atomic_bitset.hpp.
75 __ASSERT_NO_MSG(bit < T_BitsetSize);
76 atomic_set_bit(m_var, bit);
◆ store()
template<size_t T_BitsetSize>
atomically set a bit a value
- Parameters
-
bit | the index of the bit to set |
val | the value the bit should be set to |
Definition at line 62 of file atomic_bitset.hpp.
64 __ASSERT_NO_MSG(bit < T_BitsetSize);
65 atomic_set_bit_to(m_var, bit, val);
The documentation for this class was generated from the following file: