bux API Reference 1.9.0
Static library of whatever are seen required in general purpose but not directly supported from Modern C++. Or whatever reusable originated from my side projects.
Loading...
Searching...
No Matches
bux::C_Intervals< T > Class Template Reference

#include <Intervals.h>

Public Types

typedef std::pair< T, T > value_type
 
typedef std::vector< value_type >::const_iterator const_iterator
 

Public Member Functions

 C_Intervals ()
 
 C_Intervals (const C_Intervals &other)
 
 C_Intervals (C_Intervals &&other)
 
 C_Intervals (T id)
 
 C_Intervals (value_type i)
 
 C_Intervals (T start, T end)
 
template<std::input_iterator I>
requires std::same_as<char, std::remove_cvref_t<decltype(*start)>>
 C_Intervals (I start, I end)
 
template<std::input_iterator I>
requires std::same_as<value_type, std::remove_cvref_t<decltype(*start)>> || ( !std::same_as<char,std::remove_cvref_t<decltype(*start)>> && std::integral<std::remove_cvref_t<decltype(*start)>> && std::cmp_less_equal(std::numeric_limits<T>::min(), std::numeric_limits<std::remove_cvref_t<decltype(*start)>>::min()) && std::cmp_less_equal(std::numeric_limits<std::remove_cvref_t<decltype(*start)>>::max(), std::numeric_limits<T>::max()) )
 C_Intervals (I start, I end)
 
void operator= (const C_Intervals &other)
 
void operator= (C_Intervals &&other)
 
void operator|= (const C_Intervals &other)
 
void operator&= (const C_Intervals &other)
 
void operator-= (const C_Intervals &other)
 
bool operator== (const C_Intervals &other) const
 
const_iterator begin () const
 
const_iterator end () const
 
bool empty () const
 
size_t size () const
 
void complement ()
 
void swap (C_Intervals &other)
 

Detailed Description

template<IntervalPt T>
class bux::C_Intervals< T >

Definition at line 20 of file Intervals.h.

Member Typedef Documentation

◆ const_iterator

template<IntervalPt T>
std::vector<value_type>::const_iterator bux::C_Intervals< T >::const_iterator

Definition at line 26 of file Intervals.h.

◆ value_type

template<IntervalPt T>
std::pair<T,T> bux::C_Intervals< T >::value_type

Definition at line 25 of file Intervals.h.

Constructor & Destructor Documentation

◆ C_Intervals() [1/8]

template<IntervalPt T>
bux::C_Intervals< T >::C_Intervals ( )
inline

Definition at line 29 of file Intervals.h.

◆ C_Intervals() [2/8]

template<IntervalPt T>
bux::C_Intervals< T >::C_Intervals ( const C_Intervals< T > & other)
inline

Definition at line 30 of file Intervals.h.

◆ C_Intervals() [3/8]

template<IntervalPt T>
bux::C_Intervals< T >::C_Intervals ( C_Intervals< T > && other)
inline

Definition at line 31 of file Intervals.h.

References bux::C_Intervals< T >::swap().

◆ C_Intervals() [4/8]

template<IntervalPt T>
bux::C_Intervals< T >::C_Intervals ( T id)

Definition at line 102 of file Intervals.h.

◆ C_Intervals() [5/8]

template<IntervalPt T>
bux::C_Intervals< T >::C_Intervals ( value_type i)

Definition at line 108 of file Intervals.h.

References RUNTIME_ERROR.

◆ C_Intervals() [6/8]

template<IntervalPt T>
bux::C_Intervals< T >::C_Intervals ( T start,
T end )
inline

Definition at line 34 of file Intervals.h.

◆ C_Intervals() [7/8]

template<IntervalPt T>
template<std::input_iterator I>
requires std::same_as<char, std::remove_cvref_t<decltype(*start)>>
bux::C_Intervals< T >::C_Intervals ( I start,
I end )
inline

◆ C_Intervals() [8/8]

template<IntervalPt T>
template<std::input_iterator I>
requires std::same_as<value_type, std::remove_cvref_t<decltype(*start)>> || ( !std::same_as<char,std::remove_cvref_t<decltype(*start)>> && std::integral<std::remove_cvref_t<decltype(*start)>> && std::cmp_less_equal(std::numeric_limits<T>::min(), std::numeric_limits<std::remove_cvref_t<decltype(*start)>>::min()) && std::cmp_less_equal(std::numeric_limits<std::remove_cvref_t<decltype(*start)>>::max(), std::numeric_limits<T>::max()) )
bux::C_Intervals< T >::C_Intervals ( I start,
I end )
inline

Member Function Documentation

◆ begin()

template<IntervalPt T>
const_iterator bux::C_Intervals< T >::begin ( ) const
inline

Definition at line 64 of file Intervals.h.

◆ complement()

template<IntervalPt T>
void bux::C_Intervals< T >::complement ( )

Definition at line 276 of file Intervals.h.

◆ empty()

template<IntervalPt T>
bool bux::C_Intervals< T >::empty ( ) const
inline

Definition at line 66 of file Intervals.h.

◆ end()

template<IntervalPt T>
const_iterator bux::C_Intervals< T >::end ( ) const
inline

Definition at line 65 of file Intervals.h.

Referenced by bux::C_Intervals< T >::C_Intervals().

Here is the caller graph for this function:

◆ operator&=()

template<IntervalPt T>
void bux::C_Intervals< T >::operator&= ( const C_Intervals< T > & other)

Definition at line 195 of file Intervals.h.

◆ operator-=()

template<IntervalPt T>
void bux::C_Intervals< T >::operator-= ( const C_Intervals< T > & other)

Definition at line 228 of file Intervals.h.

◆ operator=() [1/2]

template<IntervalPt T>
void bux::C_Intervals< T >::operator= ( C_Intervals< T > && other)
inline

Definition at line 57 of file Intervals.h.

References bux::C_Intervals< T >::swap().

◆ operator=() [2/2]

template<IntervalPt T>
void bux::C_Intervals< T >::operator= ( const C_Intervals< T > & other)
inline

Definition at line 56 of file Intervals.h.

◆ operator==()

template<IntervalPt T>
bool bux::C_Intervals< T >::operator== ( const C_Intervals< T > & other) const
inline

Definition at line 61 of file Intervals.h.

◆ operator|=()

template<IntervalPt T>
void bux::C_Intervals< T >::operator|= ( const C_Intervals< T > & other)

Definition at line 117 of file Intervals.h.

Referenced by bux::C_Intervals< T >::C_Intervals().

Here is the caller graph for this function:

◆ size()

template<IntervalPt T>
size_t bux::C_Intervals< T >::size ( ) const
inline

Definition at line 67 of file Intervals.h.

◆ swap()

template<IntervalPt T>
void bux::C_Intervals< T >::swap ( C_Intervals< T > & other)
inline

Definition at line 71 of file Intervals.h.

Referenced by bux::C_Intervals< T >::C_Intervals(), and bux::C_Intervals< T >::operator=().

Here is the caller graph for this function:

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