PrevUpHomeNext

Struct decomposer

boost::unicode::decomposer

Synopsis

// In header: <boost/unicode/compose_fwd.hpp>


struct decomposer {
  // types
  typedef char32        input_type; 
  typedef char32        output_type;
  typedef combining_max max_output; 

  // construct/copy/destruct
  decomposer(unsigned = BOOST_UNICODE_OPTION(ucd::decomposition_type::canonical));

  // public member functions
  template<typename In, typename Out> Out ltr(In &, In, Out);
  template<typename In, typename Out> Out rtl(In, In &, Out);

  // private member functions
  template<typename Range, typename Out> 
    Out decompose_impl(const Range &, Out);
  template<typename In, typename Out> 
    Out decompose_impl(In, In, Out, std::output_iterator_tag *);
  template<typename In, typename Out> 
    Out decompose_impl(In, In, Out, std::random_access_iterator_tag *);
  template<typename OutputIterator> 
    OutputIterator decompose_rec(char32, OutputIterator);
};

Description

Model of Converter that decomposes a combining character sequence, i.e. it transforms a combining character sequence into its canonically ordered decomposed equivalent. It applies UCD decompositions that match mask recursively as well as the Hangul decompositions if mask matches canonical decompositions.

decomposer public construct/copy/destruct

  1. decomposer(unsigned mask_ = BOOST_UNICODE_OPTION(ucd::decomposition_type::canonical));

decomposer public member functions

  1. template<typename In, typename Out> Out ltr(In & begin, In end, Out out);

    Throws std::out_of_range if [begin, end[ is not stream-safe.

    Postconditions:

    out is in Normalization Form D and is stream-safe.

  2. template<typename In, typename Out> Out rtl(In begin, In & end, Out out);

    Throws std::out_of_range if [begin, end[ is not stream-safe.

    Postconditions:

    out is in Normalization Form D and is stream-safe.

decomposer private member functions

  1. template<typename Range, typename Out> 
      Out decompose_impl(const Range & range, Out out);
  2. template<typename In, typename Out> 
      Out decompose_impl(In begin, In end, Out out, std::output_iterator_tag *);
  3. template<typename In, typename Out> 
      Out decompose_impl(In begin, In end, Out out, 
                         std::random_access_iterator_tag *);
  4. template<typename OutputIterator> 
      OutputIterator decompose_rec(char32 ch, OutputIterator out);

PrevUpHomeNext