summaryrefslogtreecommitdiff
path: root/boost/dynamic_bitset/dynamic_bitset.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/dynamic_bitset/dynamic_bitset.hpp')
-rw-r--r--boost/dynamic_bitset/dynamic_bitset.hpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/boost/dynamic_bitset/dynamic_bitset.hpp b/boost/dynamic_bitset/dynamic_bitset.hpp
index 7c96f0905e..a2abfc9329 100644
--- a/boost/dynamic_bitset/dynamic_bitset.hpp
+++ b/boost/dynamic_bitset/dynamic_bitset.hpp
@@ -293,6 +293,8 @@ public:
dynamic_bitset& flip(size_type n, size_type len);
dynamic_bitset& flip(size_type n);
dynamic_bitset& flip();
+ reference at(size_type n);
+ bool at(size_type n) const;
bool test(size_type n) const;
bool test_set(size_type n, bool val = true);
bool all() const;
@@ -1115,6 +1117,25 @@ bool dynamic_bitset<Block, Allocator>::m_unchecked_test(size_type pos) const
}
template <typename Block, typename Allocator>
+typename dynamic_bitset<Block, Allocator>::reference
+dynamic_bitset<Block, Allocator>::at(size_type pos)
+{
+ if (pos >= m_num_bits)
+ BOOST_THROW_EXCEPTION(std::out_of_range("boost::dynamic_bitset::at out_of_range"));
+
+ return (*this)[pos];
+}
+
+template <typename Block, typename Allocator>
+bool dynamic_bitset<Block, Allocator>::at(size_type pos) const
+{
+ if (pos >= m_num_bits)
+ BOOST_THROW_EXCEPTION(std::out_of_range("boost::dynamic_bitset::at out_of_range"));
+
+ return (*this)[pos];
+}
+
+template <typename Block, typename Allocator>
bool dynamic_bitset<Block, Allocator>::test(size_type pos) const
{
assert(pos < m_num_bits);