# Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. — Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Public Types | Public Member Functions

# boost::locale::boundary::boundary_point< IteratorType > Class Template Reference
[Boundary Analysis]

This class represents a boundary point in the text. More...

`#include <boost/locale/boundary/boundary_point.hpp>`

List of all members.

## Public Types

typedef IteratorType | iterator_type

## Public Member Functions

| boundary_point ()
| boundary_point (iterator_type p, rule_type r)
void | iterator (iterator_type i)
void | rule (rule_type r)
iterator_type | iterator () const
rule_type | rule () const
bool | operator== (boundary_point const &other) const
bool | operator!= (boundary_point const &other) const
bool | operator== (iterator_type const &other) const
bool | operator!= (iterator_type const &other) const
| operator iterator_type () const

## Detailed Description

### template<typename IteratorType>
class boost::locale::boundary::boundary_point< IteratorType >

This class represents a boundary point in the text.

It represents a pair - an iterator and a rule that defines this point.

This type of object is dereference by the iterators of boundary_point_index. Using a rule() member function you can get the reason why this specific boundary point was selected.

For example, When you use a sentence boundary analysis, the (rule() & sentence_term) != 0 means that this boundary point was selected because a sentence terminator (like .?!) was spotted and the (rule() & sentence_sep)!=0 means that a separator like line feed or carriage return was observed.

Note:

- The beginning of analyzed range is always considered a boundary point and its rule is always 0.
- when using a word boundary analysis the returned rule relates to a chunk of text preceding this point.

See also:

- boundary_point_index
- segment
- segment_index

## Member Typedef Documentation

template<typename IteratorType>

typedef IteratorType boost::locale::boundary::boundary_point< IteratorType >::iterator_type

The type of the base iterator that iterates the original text

## Constructor & Destructor Documentation

template<typename IteratorType>

boost::locale::boundary::boundary_point< IteratorType >::boundary_point | ( |  | ) | `[inline]`

Empty default constructor

template<typename IteratorType>

boost::locale::boundary::boundary_point< IteratorType >::boundary_point | ( | iterator_type | p,
|  | rule_type | r |
| ) |  |  | `[inline]`

Create a new boundary_point using iterator `and` a rule r

## Member Function Documentation

template<typename IteratorType>

void boost::locale::boundary::boundary_point< IteratorType >::iterator | ( | iterator_type | i | ) | `[inline]`

Set an new iterator value i

template<typename IteratorType>

iterator_type boost::locale::boundary::boundary_point< IteratorType >::iterator | ( |  | ) | const`[inline]`

Fetch an iterator

template<typename IteratorType>

boost::locale::boundary::boundary_point< IteratorType >::operator iterator_type | ( |  | ) | const`[inline]`

Automatic cast to the iterator it represents

template<typename IteratorType>

bool boost::locale::boundary::boundary_point< IteratorType >::operator!= | ( | iterator_type const & | other | ) | const`[inline]`

Check if the boundary point points to different location from an iterator other

template<typename IteratorType>

bool boost::locale::boundary::boundary_point< IteratorType >::operator!= | ( | boundary_point< IteratorType > const & | other | ) | const`[inline]`

Check if two boundary points are different

template<typename IteratorType>

bool boost::locale::boundary::boundary_point< IteratorType >::operator== | ( | iterator_type const & | other | ) | const`[inline]`

Check if the boundary point points to same location as an iterator other

template<typename IteratorType>

bool boost::locale::boundary::boundary_point< IteratorType >::operator== | ( | boundary_point< IteratorType > const & | other | ) | const`[inline]`

Check if two boundary points are the same

template<typename IteratorType>

rule_type boost::locale::boundary::boundary_point< IteratorType >::rule | ( |  | ) | const`[inline]`

Fetch a rule

template<typename IteratorType>

void boost::locale::boundary::boundary_point< IteratorType >::rule | ( | rule_type | r | ) | `[inline]`

Set an new rule value r

The documentation for this class was generated from the following file:

- boost/locale/boundary/boundary_point.hpp