is_sequence_like
Determine if T
can be treated like a sequence during conversions.
Synopsis
Defined in header <boost/json/conversion.hpp>.
template<
class T>
struct is_sequence_like;
Description
Given t
, a glvalue of type T
, if
-
given
It
, the type denoted bydecltype(std::begin(t))
,std::iterator_traits<It>::iterator_category
is well-formed and denotes a type; and -
decltype(std::end(t))
also denotes the typeIt
; and -
std::iterator_traits<It>::value_type
is notT
; and
then the trait provides the member constant value
that is equal to true
. Otherwise, value
is equal to false
.
Users can specialize the trait for their own types if they don’t want them to be treated like sequences. For example:
namespace boost {
namespace json {
template <>
struct is_sequence_like<your::container> : std::false_type
{ };
} // namespace boost
} // namespace json
Types satisfying the trait
Any SequenceContainer, array types.
See Also
Convenience header <boost/json.hpp>.