pangomm: Pango::AttrIter Class Reference

A Pango::AttrIter is used to represent an iterator through a Pango::AttrList. More...

#include <pangomm/attriter.h>

Public Types

typedef std::forward_iterator_tag iterator_category
 
typedef int difference_type
 

Public Member Functions

 AttrIter (PangoAttrIterator* castitem, bool take_copy=true)
 
 AttrIter (const AttrIter& src)
 
 ~AttrIter ()
 
AttrIteroperator= (const AttrIter& src)
 
AttrIteroperator++ ()
 Advance the iterator until the next change of style. More...

 
const AttrIter operator++ (int)
 
 operator bool () const
 Check whether the iterator is valid. More...

 
bool next ()
 The same as operator++(). More...

 
void get_range (int&start, int&end) const
 Get the range of the current segment. More...

 
Attribute get_attribute (AttrType type) const
 Find the current attribute of a particular type at the iterator location. More...

 
FontDescription get_font_desc () const
 Get the font description used at the current iterator position. More...

 
Language get_language () const
 Gets the language tag used at current iterator position. More...

 
std::vector< Attributeget_extra_attrs () const
 Gets a list of non-font attributes at the the current iterator position. More...

 
std::vector< Attributeget_attrs () const
 Gets a list all attributes a the current position of the iterator. More...

 
PangoAttrIterator* gobj ()
 
const PangoAttrIterator* gobj () const
 

Protected Member Functions

 AttrIter ()
 

Protected Attributes

PangoAttrIterator* gobject_
 

Related Functions

(Note that these are not member functions.)

Pango::AttrIter wrap (PangoAttrIterator* object, bool take_copy=false)
 

Detailed Description

A Pango::AttrIter is used to represent an iterator through a Pango::AttrList.

A new iterator is created with Pango::AttrList::get_iter(). Once the iterator is created, it can be advanced through the style changes in the text using Pango::AttrIter::next(). At each style change, the range of the current style segment and the attributes currently in effect can be queried.

Member Typedef Documentation

Constructor & Destructor Documentation

Pango::AttrIter::AttrIter ( )
protected
Pango::AttrIter::AttrIter ( PangoAttrIterator *  castitem,
bool  take_copy = true 
)
explicit
Pango::AttrIter::AttrIter ( const AttrIter src)
Pango::AttrIter::~AttrIter ( )

Member Function Documentation

Attribute Pango::AttrIter::get_attribute ( AttrType  type) const

Find the current attribute of a particular type at the iterator location.

When multiple attributes of the same type overlap, the attribute whose range starts closest to the current location is used.

Parameters
typeThe type of attribute to find.
Returns
The current attribute of the given type, or nullptr if no attribute of that type applies to the current location.
std::vector<Attribute> Pango::AttrIter::get_attrs ( ) const

Gets a list all attributes a the current position of the iterator.

Returns
A list of all attributes for the current range.
std::vector<Attribute> Pango::AttrIter::get_extra_attrs ( ) const

Gets a list of non-font attributes at the the current iterator position.

Only the highest priority value of each attribute will be added to this list.

Returns
The list of non-font attributes at the current iterator position.
FontDescription Pango::AttrIter::get_font_desc ( ) const

Get the font description used at the current iterator position.

Returns
The font description used at the current iterator position.
Language Pango::AttrIter::get_language ( ) const

Gets the language tag used at current iterator position.

Returns
The language tag or an empty Pango::Language object if non is found.
void Pango::AttrIter::get_range ( int &  start,
int &  end 
) const

Get the range of the current segment.

Note that the stored return values are signed, not unsigned like the values in Pango::Attribute. To deal with this API oversight, stored return values that wouldn't fit into a signed integer are clamped to G_MAXINT.

Parameters
startLocation to store the start of the range.
endLocation to store the end of the range.
PangoAttrIterator* Pango::AttrIter::gobj ( )
inline
const PangoAttrIterator* Pango::AttrIter::gobj ( ) const
inline
bool Pango::AttrIter::next ( )

The same as operator++().

Returns
false if the end of the list is reached.
Pango::AttrIter::operator bool ( ) const
explicit

Check whether the iterator is valid.

Returns
true if the iterator is valid.
AttrIter& Pango::AttrIter::operator++ ( )

Advance the iterator until the next change of style.

The iterator becomes invalid if the end of the list is reached.

Returns
The iterator itself.
const AttrIter Pango::AttrIter::operator++ ( int  )
AttrIter& Pango::AttrIter::operator= ( const AttrIter src)

Friends And Related Function Documentation

Pango::AttrIter wrap ( PangoAttrIterator *  object,
bool  take_copy = false 
)
related

Member Data Documentation

PangoAttrIterator* Pango::AttrIter::gobject_
protected