[Boost-bugs] [Boost C++ Libraries] #11973: Can't work with date_time library

Subject: [Boost-bugs] [Boost C++ Libraries] #11973: Can't work with date_time library
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-02-10 11:42:13


#11973: Can't work with date_time library
------------------------------+-------------------------
 Reporter: markus.zaczek@… | Owner: az_sw_dude
     Type: Support Requests | Status: new
Milestone: To Be Determined | Component: date_time
  Version: Boost 1.60.0 | Severity: Showstopper
 Keywords: |
------------------------------+-------------------------
 Whenever i instantiate an object of the boost::date_time library i get an
 error in my application. I'm using VC7.1 compiler. To be sure that i'm not
 using anything wrong i also tried to compile the shipped tutorial file:
 "boost_1_60_0\libs\date_time\example\tutorial\io_tutorial.cpp". The error
 stays the same.

 Operating system:
 Windows Server 2008 R2 Standard

 Here is what i did:
 b2 link=shared threading=multi variant=release

 cl /Od /I "D:\tools\\boost_1_60_0" /D "WIN32" /D "_DEBUG" /D "_WINDLL"
 /Gm /EHsc /RTC1 /MDd /GS /GR /Fo"Debug/" /W3 /nologo /c /Wp64 /TP
 io_tutorial.cpp >> error.log

 In file: error.log
 io_tutorial.cpp
 D:\tools\\boost_1_60_0\boost\range\mutable_iterator.hpp(37) : error C2146:
 Syntaxfehler: Fehlendes ';' vor Bezeichner 'type'
         D:\tools\\boost_1_60_0\boost\range\mutable_iterator.hpp(43): Siehe
 Verweis auf Instanziierung der kompilierten Klassenvorlage
 'boost::range_detail::extract_iterator<C>'
         with
         [
 C=boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type
         ]
         D:\tools\\boost_1_60_0\boost\range\has_range_iterator.hpp(27):
 Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage
 'boost::range_detail::range_mutable_iterator<C>'
         with
         [
 C=boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type
         ]
         D:\tools\\boost_1_60_0\boost\range\has_range_iterator.hpp(27):
 Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage
 'boost::range_detail::has_type_impl_<T>'
         with
         [
 T=boost::range_detail::range_mutable_iterator<boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type>
         ]
         D:\tools\\boost_1_60_0\boost\mpl\eval_if.hpp(41): Siehe Verweis
 auf Instanziierung der kompilierten Klassenvorlage
 'boost::range_detail::has_type<T,fallback_>'
         with
         [
 T=boost::range_detail::range_mutable_iterator<boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type>,
             fallback_=boost::mpl::bool_<false>
         ]
         D:\tools\\boost_1_60_0\boost\range\has_range_iterator.hpp(73):
 Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage
 'boost::mpl::eval_if<C,F1,F2>'
         with
         [
 C=boost::is_const<boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type>,
 F1=boost::range_detail::has_type<boost::range_detail::range_const_iterator<boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type>,boost::mpl::bool_<false>>,
 F2=boost::range_detail::has_type<boost::range_detail::range_mutable_iterator<boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type>,boost::mpl::bool_<false>>
         ]
         D:\tools\\boost_1_60_0\boost\range\has_range_iterator.hpp(73):
 Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage
 'boost::range_detail::has_range_iterator_impl<T>'
         with
         [
 T=boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type
         ]
         D:\tools\\boost_1_60_0\boost\mpl\if.hpp(63): Siehe Verweis auf
 Instanziierung der kompilierten Klassenvorlage
 'boost::has_range_iterator<T>'
         with
         [
 T=boost::range_iterator<std::allocator<std::string>::value_type>::type
         ]
         D:\tools\\boost_1_60_0\boost\mpl\eval_if.hpp(40): Siehe Verweis
 auf Instanziierung der kompilierten Klassenvorlage
 'boost::mpl::if_<T1,T2,T3>'
         with
         [
 T1=boost::has_range_iterator<boost::range_iterator<std::allocator<std::string>::value_type>::type>,
 T2=boost::range_iterator<boost::range_iterator<std::allocator<std::string>::value_type>::type>,
             T3=boost::mpl::identity<void>
         ]
         D:\tools\\boost_1_60_0\boost\range\iterator_range_core.hpp(451):
 Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage
 'boost::mpl::eval_if<C,F1,F2>'
         with
         [
 C=boost::has_range_iterator<boost::range_iterator<std::allocator<std::string>::value_type>::type>,
 F1=boost::range_iterator<boost::range_iterator<std::allocator<std::string>::value_type>::type>,
             F2=boost::mpl::identity<void>
         ]
 D:\tools\\boost_1_60_0\boost\mpl\aux_\preprocessed\plain\and.hpp(25):
 Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage
 'boost::iterator_range<IteratorT>::is_compatible_range_<Source>'
         with
         [
 IteratorT=boost::range_iterator<std::allocator<std::string>::value_type>::type,
 Source=boost::range_iterator<std::allocator<std::string>::value_type>::type
         ]
 D:\tools\\boost_1_60_0\boost\mpl\aux_\preprocessed\plain\and.hpp(55):
 Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage
 'boost::mpl::aux::and_impl<C_,T1,T2,T3,T4>'
         with
         [
             C_=true,
 T1=boost::iterator_range<boost::range_iterator<std::allocator<std::string>::value_type>::type>::is_compatible_range_<boost::range_iterator<std::allocator<std::string>::value_type>::type>,
             T2=boost::mpl::true_,
             T3=boost::mpl::true_,
             T4=boost::mpl::true_
         ]
         D:\tools\\boost_1_60_0\boost\range\iterator_range_core.hpp(468):
 Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage
 'boost::mpl::and_<T1,T2>'
         with
         [
 T1=boost::mpl::not_<boost::is_convertible<boost::range_iterator<boost::iterator_range<boost::range_iterator<std::allocator<std::string>::value_type>::type>>::type,boost::iterator_range_detail::iterator_range_base<boost::range_iterator<std::allocator<std::string>::value_type>::type,boost::iterators::incrementable_traversal_tag>::iterator>>,
 T2=boost::iterator_range<boost::range_iterator<std::allocator<std::string>::value_type>::type>::is_compatible_range_<boost::range_iterator<std::allocator<std::string>::value_type>::type>
         ]
         D:\tools\\boost_1_60_0\boost\core\enable_if.hpp(41): Siehe Verweis
 auf Instanziierung der kompilierten Klassenvorlage
 'boost::iterator_range<IteratorT>::is_compatible_range<Source>'
         with
         [
 IteratorT=boost::range_iterator<std::allocator<std::string>::value_type>::type,
 Source=boost::range_iterator<std::allocator<std::string>::value_type>::type
         ]
 D:\tools\\boost_1_60_0\boost\algorithm\string\detail\finder.hpp(68): Siehe
 Verweis auf Instanziierung der kompilierten Klassenvorlage
 'boost::enable_if<Cond,T>'
         with
         [
 Cond=boost::iterator_range<boost::range_iterator<std::allocator<std::string>::value_type>::type>::is_compatible_range<boost::range_iterator<std::allocator<std::string>::value_type>::type>,
             T=void
         ]
 D:\tools\\boost_1_60_0\boost\algorithm\string\find_format.hpp(272): Siehe
 Verweis auf Instanziierung der kompilierten Funktionsvorlage
 'boost::iterator_range<IteratorT>
 boost::algorithm::detail::first_finderF<SearchIteratorT,PredicateT>::operator
 ()<boost::range_iterator<C>::type>(ForwardIteratorT,ForwardIteratorT)
 const'
         with
         [
 IteratorT=boost::range_iterator<std::allocator<std::string>::value_type>::type,
             SearchIteratorT=const
 boost::date_time::date_facet<boost::gregorian::date,char>::char_type *,
             PredicateT=boost::algorithm::is_equal,
             C=std::allocator<std::string>::value_type,
 ForwardIteratorT=boost::range_iterator<std::allocator<std::string>::value_type>::type
         ]
         D:\tools\\boost_1_60_0\boost\algorithm\string\replace.hpp(657):
 Siehe Verweis auf Instanziierung der kompilierten Funktionsvorlage 'void
 boost::algorithm::find_format_all<SequenceT,boost::algorithm::detail::first_finderF<SearchIteratorT,PredicateT>,boost::algorithm::detail::const_formatF<RangeT>>(SequenceT
 &,FinderT,FormatterT)'
         with
         [
 SequenceT=boost::date_time::date_facet<boost::gregorian::date,char>::string_type,
             SearchIteratorT=const
 boost::date_time::date_facet<boost::gregorian::date,char>::char_type *,
             PredicateT=boost::algorithm::is_equal,
 RangeT=boost::iterator_range<std::basic_string<char,std::char_traits<char>,std::allocator<char>>::const_iterator>,
             FinderT=boost::algorithm::detail::first_finderF<const
 boost::date_time::date_facet<boost::gregorian::date,char>::char_type
 *,boost::algorithm::is_equal>,
 FormatterT=boost::algorithm::detail::const_formatF<boost::iterator_range<std::basic_string<char,std::char_traits<char>,std::allocator<char>>::const_iterator>>
         ]
         D:\tools\\boost_1_60_0\boost\date_time\date_facet.hpp(322): Siehe
 Verweis auf Instanziierung der kompilierten Funktionsvorlage 'void
 boost::algorithm::replace_all<boost::date_time::date_facet<date_type,CharT>::string_type,const
 boost::date_time::date_facet<date_type,CharT>::char_type[3],std::allocator<_Ty>::value_type>(SequenceT
 &,Range1T (&),const Range2T &)'
         with
         [
             date_type=boost::gregorian::date,
             CharT=char,
             _Ty=std::string,
 SequenceT=boost::date_time::date_facet<boost::gregorian::date,char>::string_type,
             Range1T=const
 boost::date_time::date_facet<boost::gregorian::date,char>::char_type [3],
             Range2T=std::allocator<std::string>::value_type
         ]
         D:\tools\\boost_1_60_0\boost\date_time\date_facet.hpp(317): Bei
 der Kompilierung der Memberfunktion
 'std::ostreambuf_iterator<_Elem,_Traits>
 boost::date_time::date_facet<date_type,CharT>::do_put_tm(OutItrT,std::ios_base
 &,boost::date_time::date_facet<date_type,CharT>::char_type,const tm
 &,boost::date_time::date_facet<date_type,CharT>::string_type) const' der
 Klassenvorlage
         with
         [
             _Elem=char,
             _Traits=std::char_traits<char>,
             date_type=boost::gregorian::date,
             CharT=char,
             OutItrT=std::ostreambuf_iterator<char,std::char_traits<char>>
         ]
         D:\tools\\boost_1_60_0\boost\date_time\time_facet.hpp(204): Siehe
 Verweis auf Instanziierung der kompilierten Klassenvorlage
 'boost::date_time::date_facet<date_type,CharT>'
         with
         [
             date_type=boost::gregorian::date,
             CharT=char
         ]
         io_tutorial.cpp(27): Siehe Verweis auf Instanziierung der
 kompilierten Klassenvorlage
 'boost::date_time::time_facet<time_type,CharT>'
         with
         [
             time_type=boost::local_time::local_date_time,
             CharT=char
         ]
 D:\tools\\boost_1_60_0\boost\range\mutable_iterator.hpp(37) : error C3254:
 'boost::range_detail::extract_iterator<C>': Die Klasse enth„lt die
 explizite Å¡berschreibung '__ctor', wird jedoch von keiner Schnittstelle
 abgeleitet, die die Funktionsdeklaration enth„lt
         with
         [
 C=boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type
         ]
 D:\tools\\boost_1_60_0\boost\range\mutable_iterator.hpp(37) : error C2838:
 '__ctor': Unzul„ssiger vollst„ndig angegebener Name in Elementdeklaration
 D:\tools\\boost_1_60_0\boost\range\mutable_iterator.hpp(37) : error C2461:
 'boost::range_detail::extract_iterator<C>': Formale Parameterliste fr
 Konstruktor fehlt
         with
         [
 C=boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type
         ]
 D:\tools\\boost_1_60_0\boost\range\mutable_iterator.hpp(37) : error C2955:
 'boost::type': fr die Verwendung einer Vorlagenklasse ist eine Vorlagen-
 Argumentliste erforderlich
         D:\tools\\boost_1_60_0\boost\type.hpp(14): Siehe Deklaration von
 'boost::type'
 D:\tools\\boost_1_60_0\boost\range\mutable_iterator.hpp(37) : fatal error
 C1903: Weiterverarbeitung nach vorherigem Fehler nicht m”glich;
 Kompilierung wird abgebrochen.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11973>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:19 UTC