namespace boost { namespace text { struct untailored_word_break; struct word_prop_callable; enum word_property; word_property word_prop(uint32_t); namespace v1 { template<code_point_iter I, std::sentinel_for< I > S, word_prop_func WordPropFunc = word_prop_callable, word_break_func WordBreakFunc = untailored_word_break> I prev_word_break(I, I, S, WordPropFunc const & = WordPropFunc{}, WordBreakFunc const & = WordBreakFunc{}); template<code_point_iter I, std::sentinel_for< I > S, word_prop_func WordPropFunc = word_prop_callable, word_break_func WordBreakFunc = untailored_word_break> I next_word_break(I, S, WordPropFunc const & = WordPropFunc{}, WordBreakFunc const & = WordBreakFunc{}); template<code_point_range R, word_prop_func WordPropFunc = word_prop_callable, word_break_func WordBreakFunc = untailored_word_break> std::ranges::borrowed_iterator_t< R > prev_word_break(R &&, std::ranges::iterator_t< R >, WordPropFunc const & = WordPropFunc{}, WordBreakFunc const & = WordBreakFunc{}); template<code_point_range R, word_prop_func WordPropFunc = word_prop_callable, word_break_func WordBreakFunc = untailored_word_break> std::ranges::borrowed_iterator_t< R > next_word_break(R &&, std::ranges::iterator_t< R >, WordPropFunc const & = WordPropFunc{}, WordBreakFunc const & = WordBreakFunc{}); template<code_point_iter I, std::sentinel_for< I > S, word_prop_func WordPropFunc = word_prop_callable, word_break_func WordBreakFunc = untailored_word_break> bool at_word_break(I, I, S, WordPropFunc const & = WordPropFunc{}, WordBreakFunc const & = WordBreakFunc{}); template<code_point_range R, word_prop_func WordPropFunc = word_prop_callable, word_break_func WordBreakFunc = untailored_word_break> bool at_word_break(R &&, std::ranges::iterator_t< R >, WordPropFunc const & = WordPropFunc{}, WordBreakFunc const & = WordBreakFunc{}); template<code_point_iter I, std::sentinel_for< I > S, word_prop_func WordPropFunc = word_prop_callable, word_break_func WordBreakFunc = untailored_word_break> utf32_view< I > word(I, I, S, WordPropFunc const & = WordPropFunc{}, WordBreakFunc const & = WordBreakFunc{}); template<code_point_range R, word_prop_func WordPropFunc = word_prop_callable, word_break_func WordBreakFunc = untailored_word_break> unspecified word(R &&, std::ranges::iterator_t< R >, WordPropFunc const & = WordPropFunc{}, WordBreakFunc const & = WordBreakFunc{}); template<code_point_iter I, std::sentinel_for< I > S, word_prop_func WordPropFunc = word_prop_callable, word_break_func WordBreakFunc = untailored_word_break> unspecified words(I, S, WordPropFunc = WordPropFunc{}, WordBreakFunc = WordBreakFunc{}); template<code_point_range R, word_prop_func WordPropFunc = word_prop_callable, word_break_func WordBreakFunc = untailored_word_break> unspecified words(R &&, WordPropFunc = WordPropFunc{}, WordBreakFunc = WordBreakFunc{}); } } }