diff options
author | Edward Smith-Rowland <3dw4rd@verizon.net> | 2012-06-26 00:14:00 +0000 |
---|---|---|
committer | Edward Smith-Rowland <emsr@gcc.gnu.org> | 2012-06-26 00:14:00 +0000 |
commit | 9212fcb872ad255a1c69d5e362a4ae7bdff70d05 (patch) | |
tree | 41f573118fced76d5a63129158358ebbb455ddf4 /libstdc++-v3/include/tr2 | |
parent | 0aba86007d5955e21d7e5df342486bc776247688 (diff) | |
download | gcc-9212fcb872ad255a1c69d5e362a4ae7bdff70d05.zip gcc-9212fcb872ad255a1c69d5e362a4ae7bdff70d05.tar.gz gcc-9212fcb872ad255a1c69d5e362a4ae7bdff70d05.tar.bz2 |
Add C++11 isms to tr2/dynamic_bitset and tr2/bool_set.
From-SVN: r188967
Diffstat (limited to 'libstdc++-v3/include/tr2')
-rw-r--r-- | libstdc++-v3/include/tr2/bool_set | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/tr2/dynamic_bitset | 25 |
2 files changed, 16 insertions, 15 deletions
diff --git a/libstdc++-v3/include/tr2/bool_set b/libstdc++-v3/include/tr2/bool_set index f577ed0..61fd1c8 100644 --- a/libstdc++-v3/include/tr2/bool_set +++ b/libstdc++-v3/include/tr2/bool_set @@ -1,6 +1,6 @@ // TR2 <bool_set> -*- C++ -*- -// Copyright (C) 2009, 2011 Free Software Foundation, Inc. +// Copyright (C) 2009, 2011, 2012 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -56,10 +56,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION public: /// Default constructor. - bool_set() : _M_b(_S_false) { } + constexpr bool_set() : _M_b(_S_false) { } /// Constructor from bool. - bool_set(bool __t) : _M_b(_Bool_set_val(__t)) { } + constexpr bool_set(bool __t) : _M_b(_Bool_set_val(__t)) { } // I'm not sure about this. bool contains(bool_set __b) const diff --git a/libstdc++-v3/include/tr2/dynamic_bitset b/libstdc++-v3/include/tr2/dynamic_bitset index 4c06b84..5ca5647 100644 --- a/libstdc++-v3/include/tr2/dynamic_bitset +++ b/libstdc++-v3/include/tr2/dynamic_bitset @@ -1,6 +1,6 @@ // TR2 <dynamic_bitset> -*- C++ -*- -// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -146,19 +146,19 @@ public: { return this->_M_w.get_allocator(); } static size_type - _S_whichword(size_type __pos) + _S_whichword(size_type __pos) noexcept { return __pos / _S_bits_per_block; } static size_type - _S_whichbyte(size_type __pos) + _S_whichbyte(size_type __pos) noexcept { return (__pos % _S_bits_per_block) / __CHAR_BIT__; } static size_type - _S_whichbit(size_type __pos) + _S_whichbit(size_type __pos) noexcept { return __pos % _S_bits_per_block; } static block_type - _S_maskbit(size_type __pos) + _S_maskbit(size_type __pos) noexcept { return (static_cast<block_type>(1)) << _S_whichbit(__pos); } block_type& @@ -333,7 +333,7 @@ public: } size_type - _M_size() const + _M_size() const noexcept { return this->_M_w.size(); } unsigned long @@ -1141,28 +1141,29 @@ public: /// Returns the number of bits which are set. size_type - count() const + count() const noexcept { return this->_M_do_count(); } /// Returns the total number of bits. size_type - size() const + size() const noexcept { return this->_M_Nb; } /// Returns the total number of blocks. - size_type num_blocks() const + size_type + num_blocks() const noexcept { return this->_M_size(); } /// Returns true if the dynamic_bitset is empty. bool - empty() const + empty() const noexcept { return (this->_M_Nb == 0); } /// Returns the maximum size of a dynamic_bitset object having the same /// type as *this. /// The real answer is max() * bits_per_block but is likely to overflow. - /*constexpr*/ size_type - max_size() const + constexpr size_type + max_size() noexcept { return std::numeric_limits<block_type>::max(); } /** |