summaryrefslogtreecommitdiff
path: root/boost/dynamic_bitset
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2016-03-21 15:45:20 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2016-03-21 15:46:37 +0900
commit733b5d5ae2c5d625211e2985ac25728ac3f54883 (patch)
treea5b214744b256f07e1dc2bd7273035a7808c659f /boost/dynamic_bitset
parent08c1e93fa36a49f49325a07fe91ff92c964c2b6c (diff)
downloadboost-733b5d5ae2c5d625211e2985ac25728ac3f54883.tar.gz
boost-733b5d5ae2c5d625211e2985ac25728ac3f54883.tar.bz2
boost-733b5d5ae2c5d625211e2985ac25728ac3f54883.zip
Imported Upstream version 1.58.0upstream/1.58.0
Change-Id: If0072143aa26874812e0db6872e1efb10a3e5e94 Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'boost/dynamic_bitset')
-rw-r--r--boost/dynamic_bitset/dynamic_bitset.hpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/boost/dynamic_bitset/dynamic_bitset.hpp b/boost/dynamic_bitset/dynamic_bitset.hpp
index 4d6011c2e9..f6002d84e8 100644
--- a/boost/dynamic_bitset/dynamic_bitset.hpp
+++ b/boost/dynamic_bitset/dynamic_bitset.hpp
@@ -6,6 +6,7 @@
//
// Copyright (c) 2014 Glen Joseph Fernandes
// glenfe at live dot com
+// Copyright (c) 2014 Riccardo Marcangelo
//
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
@@ -227,6 +228,7 @@ public:
void resize(size_type num_bits, bool value = false);
void clear();
void push_back(bool bit);
+ void pop_back();
void append(Block block);
template <typename BlockInputIterator>
@@ -748,6 +750,22 @@ push_back(bool bit)
template <typename Block, typename Allocator>
void dynamic_bitset<Block, Allocator>::
+pop_back()
+{
+ const size_type old_num_blocks = num_blocks();
+ const size_type required_blocks = calc_num_blocks(m_num_bits - 1);
+
+ if (required_blocks != old_num_blocks) {
+ m_bits.pop_back();
+ }
+
+ --m_num_bits;
+ m_zero_unused_bits();
+}
+
+
+template <typename Block, typename Allocator>
+void dynamic_bitset<Block, Allocator>::
append(Block value) // strong guarantee
{
const block_width_type r = count_extra_bits();