[
https://issues.apache.org/jira/browse/THRIFT-5117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Geyer updated THRIFT-5117:
-------------------------------
Component/s: C++ - Library
> OStream not generated for unordered_map and unordered_set
> ---------------------------------------------------------
>
> Key: THRIFT-5117
> URL: https://issues.apache.org/jira/browse/THRIFT-5117
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Library
> Reporter: Prudhvi Dharmana
> Priority: Major
> Time Spent: 2h 10m
> Remaining Estimate: 0h
>
> When trying to compile with custom map, i.e. unordered_map for c++, the
> method `printTo` fails when trying to use `::apache::thrift::to_string` on an
> object of unordered_map. This is because the template specialization for
> `to_string` does not include the type for `unordered_map` or `unordered_set`
> {code:java}
> :basic_string<char>, utils::Stat>, std::__cxx11::basic_string<char> >'
> /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:465:15: required
> from 'struct
> boost::detail::lexical_converter_impl<std::__cxx11::basic_string<char>,
> std::unordered_map<std::__cxx11::basic_string<char>, utils::Stat> >'
> /usr/include/boost/lexical_cast/try_lexical_convert.hpp:173:44: required from
> 'bool boost::conversion::detail::try_lexical_convert(const Source&, Target&)
> [with Target = std::__cxx11::basic_string<char>; Source =
> std::unordered_map<std::__cxx11::basic_string<char>, utils::Stat>]'
> /usr/include/boost/lexical_cast.hpp:41:60: required from 'Target
> boost::lexical_cast(const Source&) [with Target =
> std::__cxx11::basic_string<char>; Source =
> std::unordered_map<std::__cxx11::basic_string<char>, utils::Stat>]'
> /usr/include/thrift/TToString.h:37:42: required from 'std::__cxx11::string
> apache::thrift::to_string(const T&) [with T =
> std::unordered_map<std::__cxx11::basic_string<char>, utils::Stat>;
> std::__cxx11::string = std::__cxx11::basic_string<char>]'
> filesystem_types.cpp:1111:56: required from here
> /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:209:13: error:
> static assertion failed: Source type is neither std::ostream`able nor
> std::wostream`able
> BOOST_STATIC_ASSERT_MSG((result_t::value || boost::has_left_shift<
> std::basic_ostream< type >, T >::value),
> {code}
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)