Generated on: Thu Mar 29 07:46:58 PDT 2012 for custom file set
// doxy/ or-tools/ src/ util/

operations_research::PermutationCycleHandler< IndexType > Class Template Reference

Abstract base class template defining the interface needed by PermutationApplier to handle a single cycle of a permutation. More...

#include <permutation.h>

Inheritance diagram for operations_research::PermutationCycleHandler< IndexType >:

operations_research::ArrayIndexCycleHandler< DataType, IndexType >

List of all members.

Public Member Functions

virtual void SetTempFromIndex (IndexType source)=0
 Sets the internal temporary storage from the given index in the underlying container(s).
virtual void SetIndexFromIndex (IndexType source, IndexType destination) const =0
 Moves a data element one step along its cycle.
virtual void SetIndexFromTemp (IndexType destination) const =0
 Sets a data element from the temporary.
virtual void SetSeen (IndexType *unused_permutation_element) const
 Marks an element of the permutation as handled by PermutationHandler::Apply(), meaning that we have read the corresponding value from the data to be permuted, and put that value somewhere (either in the temp or in its ultimate destination in the data.
virtual bool Unseen (IndexType unused_permutation_element) const
 Returns true iff the given element of the permutation is unseen, meaning that it has not yet been handled by PermutationApplier::Apply().
virtual ~PermutationCycleHandler ()

Protected Member Functions

 PermutationCycleHandler ()


Detailed Description

template<typename IndexType>
class operations_research::PermutationCycleHandler< IndexType >

Abstract base class template defining the interface needed by PermutationApplier to handle a single cycle of a permutation.

Definition at line 92 of file permutation.h.


Constructor & Destructor Documentation

template<typename IndexType>
virtual operations_research::PermutationCycleHandler< IndexType >::~PermutationCycleHandler (  )  [inline, virtual]

Definition at line 130 of file permutation.h.

template<typename IndexType>
operations_research::PermutationCycleHandler< IndexType >::PermutationCycleHandler (  )  [inline, protected]

Definition at line 133 of file permutation.h.


Member Function Documentation

template<typename IndexType>
virtual void operations_research::PermutationCycleHandler< IndexType >::SetTempFromIndex ( IndexType  source  )  [pure virtual]

Sets the internal temporary storage from the given index in the underlying container(s).

Implemented in operations_research::ArrayIndexCycleHandler< DataType, IndexType >.

template<typename IndexType>
virtual void operations_research::PermutationCycleHandler< IndexType >::SetIndexFromIndex ( IndexType  source,
IndexType  destination 
) const [pure virtual]

Moves a data element one step along its cycle.

Implemented in operations_research::ArrayIndexCycleHandler< DataType, IndexType >.

template<typename IndexType>
virtual void operations_research::PermutationCycleHandler< IndexType >::SetIndexFromTemp ( IndexType  destination  )  const [pure virtual]

Sets a data element from the temporary.

Implemented in operations_research::ArrayIndexCycleHandler< DataType, IndexType >.

template<typename IndexType>
virtual void operations_research::PermutationCycleHandler< IndexType >::SetSeen ( IndexType *  unused_permutation_element  )  const [inline, virtual]

Marks an element of the permutation as handled by PermutationHandler::Apply(), meaning that we have read the corresponding value from the data to be permuted, and put that value somewhere (either in the temp or in its ultimate destination in the data.

This method must be overridden in implementations where it is called. If an implementation doesn't call it, no need to override.

Reimplemented in operations_research::ArrayIndexCycleHandler< DataType, IndexType >.

Definition at line 114 of file permutation.h.

template<typename IndexType>
virtual bool operations_research::PermutationCycleHandler< IndexType >::Unseen ( IndexType  unused_permutation_element  )  const [inline, virtual]

Returns true iff the given element of the permutation is unseen, meaning that it has not yet been handled by PermutationApplier::Apply().

This method must be overridden in implementations where it is called. If an implementation doesn't call it, no need to override.

Reimplemented in operations_research::ArrayIndexCycleHandler< DataType, IndexType >.

Definition at line 125 of file permutation.h.


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