UNICODE::WORDBREAK(3) Courier Unicode Library UNICODE::WORDBREAK(3)NAME
unicode::wordbreak_callback_base, unicode::wordbreak_callback_base-
unicode word-breaking rules
SYNOPSIS
#include <courier-unicode.h>
class wordbreak : public unicode::wordbreak_callback_base {
public:
using unicode::wordbreak_callback_base::operator<<;
using unicode::wordbreak_callback_base::operator();
int callback(bool flag)
{
// ...
}
};
unicode_char c;
std::vector<unicode_char> buf;
wordbreak compute_wordbreak;
compute_wordbreak << c;
compute_wordbreak(buf);
compute_wordbreak(buf.begin(), buf.end());
compute_wordbreak.finish();
// ...
unicode_wordbreakscan scan;
scan << c;
size_t nchars=scan.finish();
DESCRIPTIONunicode::wordbreak_callback_base is a C++ binding for the unicode
word-breaking rule implementation described in unicode_word_break(3).
Subclass unicode::wordbreak_callback_base and implement callback()
that's virtually inherited from unicode::wordbreak_callback_base. The
callback() callback function receives the output values from the
word-breaking algorithm, namely a bool indicating whether a word break
exists before the unicode character in the underlying input sequence.
callback() should return 0. A non-zero return reports an error, that
stops the word-breaking algorithm. See unicode_word_break(3) for more
information.
The input unicode characters for the word-breaking algorithm are
provided by the << operator, one unicode character at a time; or by the
() operator, passing either a container, or a beginning and an ending
iterator value for an input sequence of unicode characters. finish()
indicates the end of the unicode character sequence.
unicode::wordbreakscan is a C++ binding for the unicode_wbscan_init(),
unicode_wbscan_next() and unicode_wbscan_end methods described in
unicode_word_break(3). Its << iterates over the unicode characters, and
finish() indicates the number of characters before the first unicode
word break. The << iterator returns a bool indicating when the first
word break has already been found, so further calls are not necessary.
SEE ALSOcourier-unicode(7), unicode_word_break(3).
AUTHOR
Sam Varshavchik
Author
Courier Unicode Library 07/29/2015 UNICODE::WORDBREAK(3)