Make sequence_range_t impl-defined

This commit is contained in:
Ruben Perez 2025-01-29 19:12:33 +01:00
parent 32a048065e
commit 66b47449eb
2 changed files with 12 additions and 4 deletions

View File

@ -46,7 +46,7 @@ struct sequence_range_impl<T[N]>
};
template <class T>
using sequence_range_type = sequence_range_impl<compat::remove_cvref_t<T>>;
using sequence_range_t = typename sequence_range_impl<compat::remove_cvref_t<T>>::type;
template <class Range>
Range&& cast_range(Range&& range)
@ -90,6 +90,15 @@ concept format_fn_for_range = requires(const FormatFn& format_fn, Range&& range,
#endif
} // namespace detail
namespace impl_defined {
// Required by the doc toolchain
template <class T>
using sequence_range_t = detail::sequence_range_t<T>;
} // namespace impl_defined
} // namespace mysql
} // namespace boost

View File

@ -54,7 +54,7 @@ struct format_sequence
};
/**
* \brief The type of range produced by \ref sequence (TODO: hide this).
* \brief The type of range produced by \ref sequence.
* \details
* This type trait can be used to obtain the range type produced
* by calling \ref sequence. This type is used as the `Range` template
@ -78,10 +78,9 @@ struct format_sequence
* - `sequence_range_t<std::reference_wrapper<std::vector<int>>>` is `std::vector<int>&`.
* - `sequence_range_t<std::reference_wrapper<const std::vector<int>>>` is `const std::vector<int>&`.
* - `sequence_range_t<int(&)[4]>` is `std::array<int, 4>`.
* (TODO: hide this)
*/
template <class T>
using sequence_range_t = typename detail::sequence_range_type<T>::type;
using sequence_range_t = impl_defined::sequence_range_t<T>;
/**
* \brief Creates an object that, when formatted, applies a per-element function to a range.