stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Farid Zaripov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (STDCXX-228) std::money_{get,put}<UDT> cannot be instantiated
Date Wed, 10 Oct 2007 17:04:52 GMT

    [ https://issues.apache.org/jira/browse/STDCXX-228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12533800
] 

Farid Zaripov commented on STDCXX-228:
--------------------------------------

Could not repeat this issue. And even ./include/rw/_money.h file doesn't exist. I suppose
that the issue is not actual.

> std::money_{get,put}<UDT> cannot be instantiated
> ------------------------------------------------
>
>                 Key: STDCXX-228
>                 URL: https://issues.apache.org/jira/browse/STDCXX-228
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>    Affects Versions: 4.1.2, 4.1.3
>         Environment: all
>            Reporter: Martin Sebor
>            Priority: Minor
>
> Moved from the Rogue Wave bug tracking database:
> ****Created By: sebor @ Jun 07, 2001 07:19:12 PM****
> The money_get and money_put facets cannot currently be instantiated on a user-defined
character type:
> $ cat t.cpp
> #include <locale>
> int main ()
> {
>     std::money_get<int> m;
> }
> $ nice make SRCS=t.cpp
> eccp -c -I/build2/sebor/dev/stdlib/include/ansi --incl_suffixes :: -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG
  -I/build/sebor/eccp-11s/include -I/build2/sebor/dev/stdlib/include -I/build2/sebor/dev/stdlib/../rwtest
-I/build2/sebor/dev/stdlib/tests/include  -A -B -x -g    --display_error_number --diag_suppress
11,450,518  t.cpp 
> eccp t.o -o t  -L/build/sebor/eccp-11s/lib -lstd11s -lm  -L/build2/sebor/eccp-11s/tests
-lrwtest11s 
> C++ prelinker: executing: /usr/local/edg-2.45/bin/eccp -c -I/build2/sebor/dev/stdlib/include/ansi
--incl_suffixes :: -D_RWSTDDEBUG -D_RWSTD_USE_CONFIG -I/build/sebor/eccp-11s/include -I/build2/sebor/dev/stdlib/include
-I/build2/sebor/dev/stdlib/../rwtest -I/build2/sebor/dev/stdlib/tests/include -A -B -x -g
--display_error_number --diag_suppress 11,450,518 t.cpp
> "/build2/sebor/dev/stdlib/include/rw/_money.h", line 716: error #135: class
>           "__rw::__rw_moneypunct_impl<int, true>" has no member "_C_ivals"
>           return &_RW::__rw_moneypunct_impl<_CharT, _Intl>::_C_ivals;
>                                                             ^
>           detected during:
>             instantiation of "const __rw::__rw_moneypunct_init_data<_CharT>
>                       *std::moneypunct<_CharT, _Intl>::_C_get_ivals() [with
>                       _CharT=int, _Intl=true]" at line 479 of
>                       "/build2/sebor/dev/stdlib/include/rw/_locimp.h"
>             instantiation of "_Facet *__rw::__rw_create_classic_facet(_Facet
>                       *) [with _Facet=std::moneypunct<int, true>]" at line 507
>                       of "/build2/sebor/dev/stdlib/include/rw/_locimp.h"
>             instantiation of "__rw::__rw_facet_base
>                       *__rw::__rw_facet_maker<_Facet>::_C_maker_func(int,
>                       const char *, size_t) [with _Facet=std::moneypunct<int,
>                       true>]" at line 625 of
>                       "/build2/sebor/dev/stdlib/include/rw/_locale.h"
>             instantiation of "const _Facet &std::use_facet<_Facet>(const
>                       std::locale &) [with _Facet=std::moneypunct<int, true>]"
>                       at line 155 of
>                       "/build2/sebor/dev/stdlib/include/rw/_money.cc"
>             instantiation of "const __rw::__rw_moneypunct_impl_data<_CharT>
>                       &__rw::__rw_money_handler_base_1<_CharT>::_C_get_punct_da
>                       ta(const std::locale &, bool) [with _CharT=int]" at line
>                       308
>             instantiation of "__rw::__rw_money_reader<_CharT,
>                       _InputIter>::__rw_money_reader(_InputIter &, _InputIter
>                       &, std::ios_base &, bool) [with _CharT=int,
>                       _InputIter=std::istreambuf_iterator<int,
>                       std::char_traits<int>>]" at line 558 of
>                       "/build2/sebor/dev/stdlib/include/rw/_money.cc"
>             instantiation of "std::money_get<_CharT, _InputIter>::iter_type
>                       std::money_get<_CharT,
>                       _InputIter>::do_get(std::money_get<_CharT,
>                       _InputIter>::iter_type, std::money_get<_CharT,
>                       _InputIter>::iter_type, bool, std::ios_base &,
>                       std::ios_base::iostate &, long double &) const [with
>                       _CharT=int, _InputIter=std::istreambuf_iterator<int,
>                       std::char_traits<int>>]" 
> "/build2/sebor/dev/stdlib/include/rw/_money.h", line 726: error #289: no
>           instance of constructor "__rw::__rw_moneypunct_impl<_CharT,
>           _Intl>::__rw_moneypunct_impl [with _CharT=int, _Intl=true]" matches
>           the argument list
>             argument types are: (const __rw::__rw_moneypunct_init_data<int> *)
>         _RW::__rw_moneypunct_impl<_CharT, _Intl>(__mp)
>                                                  ^
>           detected during:
>             instantiation of "std::moneypunct<_CharT,
>                       _Intl>::moneypunct(size_t, const
>                       __rw::__rw_moneypunct_init_data<_CharT> *) [with
>                       _CharT=int, _Intl=true]" at line 479 of
>                       "/build2/sebor/dev/stdlib/include/rw/_locimp.h"
>             instantiation of "_Facet *__rw::__rw_create_classic_facet(_Facet
>                       *) [with _Facet=std::moneypunct<int, true>]" at line 507
>                       of "/build2/sebor/dev/stdlib/include/rw/_locimp.h"
>             instantiation of "__rw::__rw_facet_base
>                       *__rw::__rw_facet_maker<_Facet>::_C_maker_func(int,
>                       const char *, size_t) [with _Facet=std::moneypunct<int,
>                       true>]" at line 625 of
>                       "/build2/sebor/dev/stdlib/include/rw/_locale.h"
>             instantiation of "const _Facet &std::use_facet<_Facet>(const
>                       std::locale &) [with _Facet=std::moneypunct<int, true>]"
>                       at line 155 of
>                       "/build2/sebor/dev/stdlib/include/rw/_money.cc"
>             instantiation of "const __rw::__rw_moneypunct_impl_data<_CharT>
>                       &__rw::__rw_money_handler_base_1<_CharT>::_C_get_punct_da
>                       ta(const std::locale &, bool) [with _CharT=int]" at line
>                       308
>             instantiation of "__rw::__rw_money_reader<_CharT,
>                       _InputIter>::__rw_money_reader(_InputIter &, _InputIter
>                       &, std::ios_base &, bool) [with _CharT=int,
>                       _InputIter=std::istreambuf_iterator<int,
>                       std::char_traits<int>>]" at line 558 of
>                       "/build2/sebor/dev/stdlib/include/rw/_money.cc"
>             instantiation of "std::money_get<_CharT, _InputIter>::iter_type
>                       std::money_get<_CharT,
>                       _InputIter>::do_get(std::money_get<_CharT,
>                       _InputIter>::iter_type, std::money_get<_CharT,
>                       _InputIter>::iter_type, bool, std::ios_base &,
>                       std::ios_base::iostate &, long double &) const [with
>                       _CharT=int, _InputIter=std::istreambuf_iterator<int,
>                       std::char_traits<int>>]" 
> "/build2/sebor/dev/stdlib/include/rw/_codecvt.h", line 627: error #415: no
>           suitable constructor exists to convert from "int" to "__mbstate_t"
>       state_type __stt (0);
>                         ^
>           detected during:
>             instantiation of "std::codecvt<_InternT, _ExternT,
>                       _StateT>::internal_string_type std::codecvt<_InternT,
>                       _ExternT, _StateT>::in(const std::codecvt<_InternT,
>                       _ExternT, _StateT>::external_string_type &) const [with
>                       _InternT=int, _ExternT=char, _StateT=mbstate_t]" at line
>                       87 of "/build2/sebor/dev/stdlib/include/rw/_money.cc"
>             instantiation of "const __rw::__rw_moneypunct_init_data<_CharT>
>                       *__rw::__rw_fixup_moneypunct_init(const
>                       __rw::__rw_moneypunct_init_data<char> *, _CharT *) [with
>                       _CharT=int]" at line 140 of
>                       "/build2/sebor/dev/stdlib/include/rw/_money.cc"
>             instantiation of "const __rw::__rw_moneypunct_init_data<_CharT>
>                       *__rw::__rw_moneypunct_impl_data<_CharT>::_C_get_init_by_
>                       name_(const char *, bool) [with _CharT=int]" at line 771
>                       of "/build2/sebor/dev/stdlib/include/rw/_money.h"
>             instantiation of "std::moneypunct_byname<_CharT,
>                       _Intl>::moneypunct_byname(const char *, size_t) [with
>                       _CharT=int, _Intl=true]" at line 791 of
>                       "/build2/sebor/dev/stdlib/include/rw/_money.h"
>             instantiation of "std::moneypunct<_CharT, _Intl>
>                       *__rw::__rw_create_named_facet(std::moneypunct<_CharT,
>                       _Intl> *, const char *, size_t) [with _CharT=int,
>                       _Intl=true]" at line 594 of
>                       "/build2/sebor/dev/stdlib/include/rw/_locale.h"
>             instantiation of "_Facet *__rw::__rw_create_native_facet(_Facet *)
>                       [with _Facet=std::moneypunct<int, true>]" at line 508 of
>                       "/build2/sebor/dev/stdlib/include/rw/_locimp.h"
>             instantiation of "__rw::__rw_facet_base
>                       *__rw::__rw_facet_maker<_Facet>::_C_maker_func(int,
>                       const char *, size_t) [with _Facet=std::moneypunct<int,
>                       true>]" at line 625 of
>                       "/build2/sebor/dev/stdlib/include/rw/_locale.h"
>             instantiation of "const _Facet &std::use_facet<_Facet>(const
>                       std::locale &) [with _Facet=std::moneypunct<int, true>]"
>                       at line 155 of
>                       "/build2/sebor/dev/stdlib/include/rw/_money.cc"
>             instantiation of "const __rw::__rw_moneypunct_impl_data<_CharT>
>                       &__rw::__rw_money_handler_base_1<_CharT>::_C_get_punct_da
>                       ta(const std::locale &, bool) [with _CharT=int]" at line
>                       308 of "/build2/sebor/dev/stdlib/include/rw/_money.h"
>             instantiation of "__rw::__rw_money_reader<_CharT,
>                       _InputIter>::__rw_money_reader(_InputIter &, _InputIter
>                       &, std::ios_base &, bool) [with _CharT=int,
>                       _InputIter=std::istreambuf_iterator<int,
>                       std::char_traits<int>>]" at line 558 of
>                       "/build2/sebor/dev/stdlib/include/rw/_money.cc"
>             instantiation of "std::money_get<_CharT, _InputIter>::iter_type
>                       std::money_get<_CharT,
>                       _InputIter>::do_get(std::money_get<_CharT,
>                       _InputIter>::iter_type, std::money_get<_CharT,
>                       _InputIter>::iter_type, bool, std::ios_base &,
>                       std::ios_base::iostate &, long double &) const [with
>                       _CharT=int, _InputIter=std::istreambuf_iterator<int,
>                       std::char_traits<int>>]" 
> "/build2/sebor/dev/stdlib/include/rw/_money.h", line 716: error #135: class
>           "__rw::__rw_moneypunct_impl<int, false>" has no member "_C_ivals"
>           return &_RW::__rw_moneypunct_impl<_CharT, _Intl>::_C_ivals;
>                                                             ^
>           detected during:
>             instantiation of "const __rw::__rw_moneypunct_init_data<_CharT>
>                       *std::moneypunct<_CharT, _Intl>::_C_get_ivals() [with
>                       _CharT=int, _Intl=false]" at line 479 of
>                       "/build2/sebor/dev/stdlib/include/rw/_locimp.h"
>             instantiation of "_Facet *__rw::__rw_create_classic_facet(_Facet
>                       *) [with _Facet=std::moneypunct<int, false>]" at line
>                       507 of "/build2/sebor/dev/stdlib/include/rw/_locimp.h"
>             instantiation of "__rw::__rw_facet_base
>                       *__rw::__rw_facet_maker<_Facet>::_C_maker_func(int,
>                       const char *, size_t) [with _Facet=std::moneypunct<int,
>                       false>]" at line 625 of
>                       "/build2/sebor/dev/stdlib/include/rw/_locale.h"
>             instantiation of "const _Facet &std::use_facet<_Facet>(const
>                       std::locale &) [with _Facet=std::moneypunct<int, false>]"
>                       at line 159 of
>                       "/build2/sebor/dev/stdlib/include/rw/_money.cc"
>             instantiation of "const __rw::__rw_moneypunct_impl_data<_CharT>
>                       &__rw::__rw_money_handler_base_1<_CharT>::_C_get_punct_da
>                       ta(const std::locale &, bool) [with _CharT=int]" at line
>                       308
>             instantiation of "__rw::__rw_money_reader<_CharT,
>                       _InputIter>::__rw_money_reader(_InputIter &, _InputIter
>                       &, std::ios_base &, bool) [with _CharT=int,
>                       _InputIter=std::istreambuf_iterator<int,
>                       std::char_traits<int>>]" at line 558 of
>                       "/build2/sebor/dev/stdlib/include/rw/_money.cc"
>             instantiation of "std::money_get<_CharT, _InputIter>::iter_type
>                       std::money_get<_CharT,
>                       _InputIter>::do_get(std::money_get<_CharT,
>                       _InputIter>::iter_type, std::money_get<_CharT,
>                       _InputIter>::iter_type, bool, std::ios_base &,
>                       std::ios_base::iostate &, long double &) const [with
>                       _CharT=int, _InputIter=std::istreambuf_iterator<int,
>                       std::char_traits<int>>]" 
> "/build2/sebor/dev/stdlib/include/rw/_money.h", line 726: error #289: no
>           instance of constructor "__rw::__rw_moneypunct_impl<_CharT,
>           _Intl>::__rw_moneypunct_impl [with _CharT=int, _Intl=false]" matches
>           the argument list
>             argument types are: (const __rw::__rw_moneypunct_init_data<int> *)
>         _RW::__rw_moneypunct_impl<_CharT, _Intl>(__mp)
>                                                  ^
>           detected during:
>             instantiation of "std::moneypunct<_CharT,
>                       _Intl>::moneypunct(size_t, const
>                       __rw::__rw_moneypunct_init_data<_CharT> *) [with
>                       _CharT=int, _Intl=false]" at line 479 of
>                       "/build2/sebor/dev/stdlib/include/rw/_locimp.h"
>             instantiation of "_Facet *__rw::__rw_create_classic_facet(_Facet
>                       *) [with _Facet=std::moneypunct<int, false>]" at line
>                       507 of "/build2/sebor/dev/stdlib/include/rw/_locimp.h"
>             instantiation of "__rw::__rw_facet_base
>                       *__rw::__rw_facet_maker<_Facet>::_C_maker_func(int,
>                       const char *, size_t) [with _Facet=std::moneypunct<int,
>                       false>]" at line 625 of
>                       "/build2/sebor/dev/stdlib/include/rw/_locale.h"
>             instantiation of "const _Facet &std::use_facet<_Facet>(const
>                       std::locale &) [with _Facet=std::moneypunct<int, false>]"
>                       at line 159 of
>                       "/build2/sebor/dev/stdlib/include/rw/_money.cc"
>             instantiation of "const __rw::__rw_moneypunct_impl_data<_CharT>
>                       &__rw::__rw_money_handler_base_1<_CharT>::_C_get_punct_da
>                       ta(const std::locale &, bool) [with _CharT=int]" at line
>                       308
>             instantiation of "__rw::__rw_money_reader<_CharT,
>                       _InputIter>::__rw_money_reader(_InputIter &, _InputIter
>                       &, std::ios_base &, bool) [with _CharT=int,
>                       _InputIter=std::istreambuf_iterator<int,
>                       std::char_traits<int>>]" at line 558 of
>                       "/build2/sebor/dev/stdlib/include/rw/_money.cc"
>             instantiation of "std::money_get<_CharT, _InputIter>::iter_type
>                       std::money_get<_CharT,
>                       _InputIter>::do_get(std::money_get<_CharT,
>                       _InputIter>::iter_type, std::money_get<_CharT,
>                       _InputIter>::iter_type, bool, std::ios_base &,
>                       std::ios_base::iostate &, long double &) const [with
>                       _CharT=int, _InputIter=std::istreambuf_iterator<int,
>                       std::char_traits<int>>]" 
> 5 errors detected in the compilation of "t.cpp".
> ****Modified By: sebor @ May 09, 2002 02:55:00 PM****
> libstd 3.0 cannot istantiate these monetray facets on UD char types either.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message