Skip to content

Commit 1d5d1ab

Browse files
committed
bytes_to_string
1 parent 579da37 commit 1d5d1ab

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

include/jsoncons/value_converter.hpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
namespace jsoncons {
2424

2525
template <typename InputIt,typename Container>
26-
typename std::enable_if<std::is_same<typename std::iterator_traits<InputIt>::value_type,uint8_t>::value,size_t>::type
26+
typename std::enable_if<std::is_same<typename std::iterator_traits<InputIt>::value_type,uint8_t>::value
27+
&& ext_traits::is_string<Container>::value,size_t>::type
2728
bytes_to_string(InputIt first, InputIt last, semantic_tag tag, Container& str)
2829
{
2930
switch (tag)
@@ -37,6 +38,15 @@ bytes_to_string(InputIt first, InputIt last, semantic_tag tag, Container& str)
3738
}
3839
}
3940

41+
template <typename InputIt,typename Container>
42+
typename std::enable_if<std::is_same<typename std::iterator_traits<InputIt>::value_type,uint8_t>::value
43+
&& !ext_traits::is_string<Container>::value,size_t>::type
44+
bytes_to_string(InputIt first, InputIt last, semantic_tag, Container& str)
45+
{
46+
str.insert(str.end(), first, last);
47+
return std::size_t(last - first);
48+
}
49+
4050
template <typename From,typename Into,typename Enable = void>
4151
class value_converter
4252
{

0 commit comments

Comments
 (0)