diff --git a/dynamic_bitset.html b/dynamic_bitset.html index 108527a..6cb66f8 100644 --- a/dynamic_bitset.html +++ b/dynamic_bitset.html @@ -198,7 +198,7 @@ public: dynamic_bitset operator<<(size_type n) const; dynamic_bitset operator>>(size_type n) const; - dynamic_bitset& set(size_type n, size_type len, bool val = true); + dynamic_bitset& set(size_type n, size_type len, bool val); dynamic_bitset& set(size_type n, bool val = true); dynamic_bitset& set(); dynamic_bitset& reset(size_type n, size_type len); @@ -1069,7 +1069,7 @@ dynamic_bitset& reset()
 dynamic_bitset& set(size_type n, size_type len, bool val = true);
+"set3">set(size_type n, size_type len, bool val);
 
Precondition: n + len < this->size().
diff --git a/include/boost/dynamic_bitset/dynamic_bitset.hpp b/include/boost/dynamic_bitset/dynamic_bitset.hpp index 941332b..a128a69 100644 --- a/include/boost/dynamic_bitset/dynamic_bitset.hpp +++ b/include/boost/dynamic_bitset/dynamic_bitset.hpp @@ -281,7 +281,7 @@ public: dynamic_bitset operator>>(size_type n) const; // basic bit operations - dynamic_bitset& set(size_type n, size_type len, bool val = true); + dynamic_bitset& set(size_type n, size_type len, bool val /* = true */); // default would make it ambiguous dynamic_bitset& set(size_type n, bool val = true); dynamic_bitset& set(); dynamic_bitset& reset(size_type n, size_type len); diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 53d1461..25cf932 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -15,6 +15,7 @@ test-suite dynamic_bitset : [ run dyn_bitset_unit_tests3.cpp : : : /boost/system//boost_system ] [ run dyn_bitset_unit_tests4.cpp : : : /boost/filesystem//boost_filesystem /boost/system//boost_system ] + [ run test_ambiguous_set.cpp ] [ run test_lowest_bit.cpp ] ; diff --git a/test/test_ambiguous_set.cpp b/test/test_ambiguous_set.cpp new file mode 100644 index 0000000..ccc6508 --- /dev/null +++ b/test/test_ambiguous_set.cpp @@ -0,0 +1,30 @@ +// +// Copyright (C) 2018 James E. King III +// +// Permission to copy, use, modify, sell and distribute this software +// is granted provided this copyright notice appears in all copies. +// This software is provided "as is" without express or implied +// warranty, and with no claim as to its suitability for any purpose. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +#include +#include + +int main(int, char*[]) +{ + boost::dynamic_bitset<> x(5); // all 0's by default + x.set(1, 2); + x.set(3, 1, true); + x.set(2, 1, false); + BOOST_TEST(!x.test(0)); + BOOST_TEST( x.test(1)); + BOOST_TEST(!x.test(2)); + BOOST_TEST( x.test(3)); + BOOST_TEST(!x.test(4)); + + return boost::report_errors(); +}