- /// The type used to hold characters in paragraphs
-#if defined(HAVE_WCHAR_T) && SIZEOF_WCHAR_T == 4
- // Prefer this if possible because GNU libstdc++ has usable
- // std::ctype<wchar_t> locale facets but not
- // std::ctype<boost::uint32_t>. gcc older than 3.4 is also missing
- // usable std::char_traits<boost::uint32_t>.
- typedef wchar_t char_type;
-#else
- typedef boost::uint32_t char_type;
-#endif
-
- /// a type for positions used in paragraphs
- // needs to be signed for a while to hold the special value -1 that is
- // used there
+ /*!
+ * A type for positions used in paragraphs.
+ * Each position is either occupied by a single character or an inset.
+ * For insets, the placeholder META_INSET is stored in the paragraph
+ * text, and the actual insets are maintained separately.
+ */
+ // FIXME: should be unsigned, but needs to be signed for a while to
+ // hold the special value -1 that is used somewhere
+ // Note that the signed property is also used in loops counting to zero.