complex (complex<float>::real, [...]): Declare as const member functions.

2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>

	N3669
	* include/std/complex (complex<float>::real, complex<float>::imag,
	complex<double>::real, complex<double>::imag,
	complex<long double>::real, complex<long double>::imag): Declare
	as const member functions.
	* include/std/type_traits (integral_constant<>::operator value_type):
	Likewise.

From-SVN: r198141
This commit is contained in:
Paolo Carlini 2013-04-22 14:37:34 +00:00 committed by Paolo Carlini
parent 88a581daa7
commit 9191d7a84a
3 changed files with 17 additions and 7 deletions

View File

@ -1,3 +1,13 @@
2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
N3669
* include/std/complex (complex<float>::real, complex<float>::imag,
complex<double>::real, complex<double>::imag,
complex<long double>::real, complex<long double>::imag): Declare
as const member functions.
* include/std/type_traits (integral_constant<>::operator value_type):
Likewise.
2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/57010

View File

@ -1066,11 +1066,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// DR 387. std::complex over-encapsulated.
__attribute ((__abi_tag__ ("cxx11")))
constexpr float
real() { return __real__ _M_value; }
real() const { return __real__ _M_value; }
__attribute ((__abi_tag__ ("cxx11")))
constexpr float
imag() { return __imag__ _M_value; }
imag() const { return __imag__ _M_value; }
#else
float&
real() { return __real__ _M_value; }
@ -1217,11 +1217,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// DR 387. std::complex over-encapsulated.
__attribute ((__abi_tag__ ("cxx11")))
constexpr double
real() { return __real__ _M_value; }
real() const { return __real__ _M_value; }
__attribute ((__abi_tag__ ("cxx11")))
constexpr double
imag() { return __imag__ _M_value; }
imag() const { return __imag__ _M_value; }
#else
double&
real() { return __real__ _M_value; }
@ -1369,11 +1369,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// DR 387. std::complex over-encapsulated.
__attribute ((__abi_tag__ ("cxx11")))
constexpr long double
real() { return __real__ _M_value; }
real() const { return __real__ _M_value; }
__attribute ((__abi_tag__ ("cxx11")))
constexpr long double
imag() { return __imag__ _M_value; }
imag() const { return __imag__ _M_value; }
#else
long double&
real() { return __real__ _M_value; }

View File

@ -59,7 +59,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static constexpr _Tp value = __v;
typedef _Tp value_type;
typedef integral_constant<_Tp, __v> type;
constexpr operator value_type() { return value; }
constexpr operator value_type() const { return value; }
};
template<typename _Tp, _Tp __v>