diff options
author | Gabriel Dos Reis <gdr@codesourcery.com> | 2000-11-10 17:34:49 +0000 |
---|---|---|
committer | Gabriel Dos Reis <gdr@gcc.gnu.org> | 2000-11-10 17:34:49 +0000 |
commit | 982b8443e8886112b2e3743c6882e60ff0847785 (patch) | |
tree | 6a1bff7eeac67be125ea0618bbf1048f758f2475 | |
parent | 1e60838877bd590b4e960587a102c8c354d81048 (diff) | |
download | gcc-982b8443e8886112b2e3743c6882e60ff0847785.zip gcc-982b8443e8886112b2e3743c6882e60ff0847785.tar.gz gcc-982b8443e8886112b2e3743c6882e60ff0847785.tar.bz2 |
localefwd.h (_Count_ones<>::_S_halfcount, [...]): Turn into enumerators.
* include/bits/localefwd.h (_Count_ones<>::_S_halfcount,
_Count_ones<>::_S_count): Turn into enumerators.
From-SVN: r37372
-rw-r--r-- | libstdc++-v3/ChangeLog | 5 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/localefwd.h | 28 |
2 files changed, 19 insertions, 14 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 55ca9e0..3558c0a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2000-11-10 Gabriel Dos Reis <gdr@codesourcery.com> + + * include/bits/localefwd.h (_Count_ones<>::_S_halfcount, + _Count_ones<>::_S_count): Turn into enumerators. + 2000-11-08 Mark Mitchell <mark@codesourcery.com> * include/bits/codecvt.h (codecvt::do_out): Make it const-correct. diff --git a/libstdc++-v3/include/bits/localefwd.h b/libstdc++-v3/include/bits/localefwd.h index e57321a..73dba99 100644 --- a/libstdc++-v3/include/bits/localefwd.h +++ b/libstdc++-v3/include/bits/localefwd.h @@ -49,28 +49,28 @@ namespace std unsigned int _Mask = (~0u >> _Shift) > struct _Count_ones; + // It is preferable to use enumerators instead of integral static data + // members to avoid emission of superflous variables -- gdr. template<unsigned int _Num, unsigned int _Mask> struct _Count_ones<_Num, 0, _Mask> - { static const unsigned int _S_count = _Num; }; - - template<unsigned int _Num, unsigned int _Mask> - const unsigned int _Count_ones<_Num, 0, _Mask>::_S_count; + { + enum + { + _S_count = _Num + }; + }; template<unsigned int _Num, int _Shift, unsigned int _Mask> struct _Count_ones { - static const unsigned int _S_halfcount = - _Count_ones<_Num, _Shift/2, (_Mask^((~_Mask)>>(_Shift/2))) >::_S_count; - static const unsigned int _S_count - = (_S_halfcount&_Mask) + ((_S_halfcount>>_Shift)&_Mask); + enum + { + _S_halfcount = _Count_ones<_Num, _Shift/2, + (_Mask^((~_Mask)>>(_Shift/2))) >::_S_count, + _S_count = (_S_halfcount&_Mask) + ((_S_halfcount>>_Shift)&_Mask) + }; }; - template<unsigned int _Num, int _Shift, unsigned int _Mask> - const unsigned int _Count_ones<_Num, _Shift, _Mask>::_S_count; - - template<unsigned int _Num, int _Shift, unsigned int _Mask> - const unsigned int _Count_ones<_Num, _Shift, _Mask>::_S_halfcount; - // 22.1.1 Locale template<typename _Tp> class allocator; template<typename _Tp, typename _Alloc> class vector; |