mirror of
https://github.com/boostorg/test.git
synced 2026-02-02 21:22:10 +00:00
Most of the difficulty came from the fact that c-strings are also c-arrays, but comparisons are made in a different way (eg. not considering the last \0 element in the computation of the size, etc) - is_forward_iterable now just checks if the type has accessors that makes it forward iterable (no size member function for instance) - new concept: is_forward_container_iterable that looks for forward_iterable access + size and specific types. This is needed in order to disambiguate the dataset creation for arrays from the ones for collections - is_cstring is now only for the C-string type of arrays. std::string and basic_cstring are not a C-strings anymore - new concept is_cstring_comparable: indicates that types can be compared as if they were strings - new concept for converting types to a basic_cstring, used for comparisons - wrapper for accessing the begin/end/size (works for containers and C-arrays - copy ctor for basic_cstring - boost.range(begin/end) does not work well for array types