NumeRe v1.1.4
NumeRe: Framework für Numerische Rechnungen
dtl::Diff3< elem, sequence, comparator > Class Template Reference

#include <Diff3.hpp>

Collaboration diagram for dtl::Diff3< elem, sequence, comparator >:

Public Member Functions

 Diff3 ()
 
 Diff3 (const sequence &a, const sequence &b, const sequence &c)
 
 ~Diff3 ()
 
bool isConflict () const
 
sequence getMergedSequence () const
 
bool merge ()
 
void compose ()
 

Private Member Functions

 dtl_typedefs (elem, sequence) sequence A
 
sequence merge_ ()
 
void joinElemVec (elemVec &s1, elemVec &s2) const
 
template<typename T_iter >
bool isEnd (const T_iter &end, const T_iter &it) const
 
template<typename T_iter >
void forwardUntilEnd (const T_iter &end, T_iter &it) const
 
void addDecentSequence (const sesElemVec_iter &end, sesElemVec_iter &it, elemVec &seq) const
 

Private Attributes

sequence B
 
sequence C
 
sequence S
 
Diff< elem, sequence, comparator > diff_ba
 
Diff< elem, sequence, comparator > diff_bc
 
bool conflict
 
elem csepabegin
 
elem csepa
 
elem csepaend
 

Detailed Description

template<typename elem, typename sequence = vector< elem >, typename comparator = Compare< elem >>
class dtl::Diff3< elem, sequence, comparator >

diff3 class template sequence must support random_access_iterator.

Definition at line 48 of file Diff3.hpp.

Constructor & Destructor Documentation

◆ Diff3() [1/2]

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
dtl::Diff3< elem, sequence, comparator >::Diff3 ( )
inline

Definition at line 63 of file Diff3.hpp.

◆ Diff3() [2/2]

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
dtl::Diff3< elem, sequence, comparator >::Diff3 ( const sequence &  a,
const sequence &  b,
const sequence &  c 
)
inline

Definition at line 64 of file Diff3.hpp.

◆ ~Diff3()

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
dtl::Diff3< elem, sequence, comparator >::~Diff3 ( )
inline

Definition at line 70 of file Diff3.hpp.

Member Function Documentation

◆ addDecentSequence()

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
void dtl::Diff3< elem, sequence, comparator >::addDecentSequence ( const sesElemVec_iter &  end,
sesElemVec_iter &  it,
elemVec &  seq 
) const
inlineprivate

add elements whose SES's type is ADD

Definition at line 235 of file Diff3.hpp.

References dtl::Diff3< elem, sequence, comparator >::isEnd(), and dtl::SES_ADD.

Referenced by dtl::Diff3< elem, sequence, comparator >::merge_().

Here is the call graph for this function:

◆ compose()

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
void dtl::Diff3< elem, sequence, comparator >::compose ( )
inline

◆ dtl_typedefs()

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
dtl::Diff3< elem, sequence, comparator >::dtl_typedefs ( elem  ,
sequence   
)
private

◆ forwardUntilEnd()

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
template<typename T_iter >
void dtl::Diff3< elem, sequence, comparator >::forwardUntilEnd ( const T_iter &  end,
T_iter &  it 
) const
inlineprivate

increment iterator until iterator is at end

Definition at line 228 of file Diff3.hpp.

References dtl::Diff3< elem, sequence, comparator >::isEnd().

Referenced by dtl::Diff3< elem, sequence, comparator >::merge_().

Here is the call graph for this function:

◆ getMergedSequence()

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
sequence dtl::Diff3< elem, sequence, comparator >::getMergedSequence ( ) const
inline

Definition at line 76 of file Diff3.hpp.

References dtl::Diff3< elem, sequence, comparator >::S.

◆ isConflict()

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
bool dtl::Diff3< elem, sequence, comparator >::isConflict ( ) const
inline

◆ isEnd()

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
template<typename T_iter >
bool dtl::Diff3< elem, sequence, comparator >::isEnd ( const T_iter &  end,
const T_iter &  it 
) const
inlineprivate

◆ joinElemVec()

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
void dtl::Diff3< elem, sequence, comparator >::joinElemVec ( elemVec &  s1,
elemVec &  s2 
) const
inlineprivate

join elem vectors

Definition at line 208 of file Diff3.hpp.

◆ merge()

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
bool dtl::Diff3< elem, sequence, comparator >::merge ( )
inline

merge changes B and C into A

Definition at line 83 of file Diff3.hpp.

References dtl::Diff3< elem, sequence, comparator >::B, dtl::Diff3< elem, sequence, comparator >::C, dtl::Diff3< elem, sequence, comparator >::diff_ba, dtl::Diff3< elem, sequence, comparator >::diff_bc, dtl::Diff3< elem, sequence, comparator >::isConflict(), dtl::Diff3< elem, sequence, comparator >::merge_(), and dtl::Diff3< elem, sequence, comparator >::S.

Here is the call graph for this function:

◆ merge_()

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
sequence dtl::Diff3< elem, sequence, comparator >::merge_ ( )
inlineprivate

Member Data Documentation

◆ B

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
sequence dtl::Diff3< elem, sequence, comparator >::B
private

◆ C

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
sequence dtl::Diff3< elem, sequence, comparator >::C
private

Definition at line 54 of file Diff3.hpp.

Referenced by dtl::Diff3< elem, sequence, comparator >::merge().

◆ conflict

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
bool dtl::Diff3< elem, sequence, comparator >::conflict
private

◆ csepa

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
elem dtl::Diff3< elem, sequence, comparator >::csepa
private

Definition at line 60 of file Diff3.hpp.

◆ csepabegin

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
elem dtl::Diff3< elem, sequence, comparator >::csepabegin
private

Definition at line 59 of file Diff3.hpp.

◆ csepaend

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
elem dtl::Diff3< elem, sequence, comparator >::csepaend
private

Definition at line 61 of file Diff3.hpp.

◆ diff_ba

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
Diff< elem, sequence, comparator > dtl::Diff3< elem, sequence, comparator >::diff_ba
private

◆ diff_bc

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
Diff< elem, sequence, comparator > dtl::Diff3< elem, sequence, comparator >::diff_bc
private

◆ S

template<typename elem , typename sequence = vector< elem >, typename comparator = Compare< elem >>
sequence dtl::Diff3< elem, sequence, comparator >::S
private

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