FST  openfst-1.8.3
OpenFst Library
Public Types | Public Member Functions | List of all members
fst::IntervalSet< T, Store > Class Template Reference

#include <interval-set.h>

Public Types

using Interval = IntInterval< T >
 

Public Member Functions

 IntervalSet (std::initializer_list< Interval > intervals_init)
 
template<class... A>
 IntervalSet (A...args)
 
std::vector< Interval > * MutableIntervals ()
 
const IntervalIntervals () const
 
bool Empty () const
 
Size () const
 
Count () const
 
void Clear ()
 
void Union (const IntervalSet< T, Store > &iset)
 
bool Member (T value) const
 
bool operator== (const IntervalSet< T, Store > &iset) const
 
bool operator!= (const IntervalSet< T, Store > &iset) const
 
bool Singleton () const
 
void Normalize ()
 
void Intersect (const IntervalSet< T, Store > &iset, IntervalSet< T, Store > *oset) const
 
void Complement (T maxval, IntervalSet< T, Store > *oset) const
 
void Difference (const IntervalSet< T, Store > &iset, IntervalSet< T, Store > *oset) const
 
bool Overlaps (const IntervalSet< T, Store > &iset) const
 
bool StrictlyOverlaps (const IntervalSet< T, Store > &iset) const
 
bool Contains (const IntervalSet< T, Store > &iset) const
 
std::istream & Read (std::istream &strm)
 
std::ostream & Write (std::ostream &strm) const
 
Store::Iterator begin () const
 
Store::Iterator end () const
 

Detailed Description

template<class T, class Store = VectorIntervalStore<T>>
class fst::IntervalSet< T, Store >

Definition at line 123 of file interval-set.h.

Member Typedef Documentation

template<class T, class Store = VectorIntervalStore<T>>
using fst::IntervalSet< T, Store >::Interval = IntInterval<T>

Definition at line 125 of file interval-set.h.

Constructor & Destructor Documentation

template<class T, class Store = VectorIntervalStore<T>>
fst::IntervalSet< T, Store >::IntervalSet ( std::initializer_list< Interval intervals_init)
inline

Definition at line 127 of file interval-set.h.

template<class T, class Store = VectorIntervalStore<T>>
template<class... A>
fst::IntervalSet< T, Store >::IntervalSet ( A...  args)
inlineexplicit

Definition at line 131 of file interval-set.h.

Member Function Documentation

template<class T, class Store = VectorIntervalStore<T>>
Store::Iterator fst::IntervalSet< T, Store >::begin ( ) const
inline

Definition at line 219 of file interval-set.h.

template<class T, class Store = VectorIntervalStore<T>>
void fst::IntervalSet< T, Store >::Clear ( )
inline

Definition at line 148 of file interval-set.h.

template<typename T , class Store >
void fst::IntervalSet< T, Store >::Complement ( maxval,
IntervalSet< T, Store > *  oset 
) const

Definition at line 282 of file interval-set.h.

template<typename T , class Store >
bool fst::IntervalSet< T, Store >::Contains ( const IntervalSet< T, Store > &  iset) const

Definition at line 382 of file interval-set.h.

template<class T, class Store = VectorIntervalStore<T>>
T fst::IntervalSet< T, Store >::Count ( ) const
inline

Definition at line 146 of file interval-set.h.

template<typename T , class Store >
void fst::IntervalSet< T, Store >::Difference ( const IntervalSet< T, Store > &  iset,
IntervalSet< T, Store > *  oset 
) const

Definition at line 308 of file interval-set.h.

template<class T, class Store = VectorIntervalStore<T>>
bool fst::IntervalSet< T, Store >::Empty ( ) const
inline

Definition at line 141 of file interval-set.h.

template<class T, class Store = VectorIntervalStore<T>>
Store::Iterator fst::IntervalSet< T, Store >::end ( ) const
inline

Definition at line 221 of file interval-set.h.

template<typename T , class Store >
void fst::IntervalSet< T, Store >::Intersect ( const IntervalSet< T, Store > &  iset,
IntervalSet< T, Store > *  oset 
) const

Definition at line 253 of file interval-set.h.

template<class T, class Store = VectorIntervalStore<T>>
const Interval* fst::IntervalSet< T, Store >::Intervals ( ) const
inline

Definition at line 139 of file interval-set.h.

template<class T, class Store = VectorIntervalStore<T>>
bool fst::IntervalSet< T, Store >::Member ( value) const
inline

Definition at line 158 of file interval-set.h.

template<class T, class Store = VectorIntervalStore<T>>
std::vector<Interval>* fst::IntervalSet< T, Store >::MutableIntervals ( )
inline

Definition at line 134 of file interval-set.h.

template<typename T , class Store >
void fst::IntervalSet< T, Store >::Normalize ( )

Definition at line 229 of file interval-set.h.

template<class T, class Store = VectorIntervalStore<T>>
bool fst::IntervalSet< T, Store >::operator!= ( const IntervalSet< T, Store > &  iset) const
inline

Definition at line 173 of file interval-set.h.

template<class T, class Store = VectorIntervalStore<T>>
bool fst::IntervalSet< T, Store >::operator== ( const IntervalSet< T, Store > &  iset) const
inline

Definition at line 166 of file interval-set.h.

template<typename T , class Store >
bool fst::IntervalSet< T, Store >::Overlaps ( const IntervalSet< T, Store > &  iset) const

Definition at line 323 of file interval-set.h.

template<class T, class Store = VectorIntervalStore<T>>
std::istream& fst::IntervalSet< T, Store >::Read ( std::istream &  strm)
inline

Definition at line 213 of file interval-set.h.

template<class T, class Store = VectorIntervalStore<T>>
bool fst::IntervalSet< T, Store >::Singleton ( ) const
inline

Definition at line 179 of file interval-set.h.

template<class T, class Store = VectorIntervalStore<T>>
T fst::IntervalSet< T, Store >::Size ( ) const
inline

Definition at line 143 of file interval-set.h.

template<typename T , class Store >
bool fst::IntervalSet< T, Store >::StrictlyOverlaps ( const IntervalSet< T, Store > &  iset) const

Definition at line 341 of file interval-set.h.

template<class T, class Store = VectorIntervalStore<T>>
void fst::IntervalSet< T, Store >::Union ( const IntervalSet< T, Store > &  iset)
inline

Definition at line 151 of file interval-set.h.

template<class T, class Store = VectorIntervalStore<T>>
std::ostream& fst::IntervalSet< T, Store >::Write ( std::ostream &  strm) const
inline

Definition at line 215 of file interval-set.h.


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