OR-Tools  8.2
ScatteredVector< Index, Iterator >

Detailed Description

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
struct operations_research::glop::ScatteredVector< Index, Iterator >

Definition at line 56 of file scattered_vector.h.

Public Member Functions

Fractional operator[] (Index index) const
 
Fractionaloperator[] (Index index)
 
Iterator begin () const
 
Iterator end () const
 
void Add (Index index, Fractional value)
 
void SortNonZerosIfNeeded ()
 
bool ShouldUseDenseIteration (double ratio_for_using_dense_representation) const
 
bool ShouldUseDenseIteration () const
 
void ClearSparseMask ()
 
void RepopulateSparseMask ()
 
void ClearNonZerosIfTooDense (double ratio_for_using_dense_representation)
 
void ClearNonZerosIfTooDense ()
 

Public Attributes

StrictITIVector< Index, Fractionalvalues
 
bool non_zeros_are_sorted = false
 
std::vector< Indexnon_zeros
 
StrictITIVector< Index, bool > is_non_zero
 

Static Public Attributes

static constexpr const double kDefaultRatioForUsingDenseIteration = 0.8
 

Member Function Documentation

◆ Add()

void Add ( Index  index,
Fractional  value 
)
inline

Definition at line 98 of file scattered_vector.h.

◆ begin()

Iterator begin ( ) const
inline

Definition at line 86 of file scattered_vector.h.

◆ ClearNonZerosIfTooDense() [1/2]

void ClearNonZerosIfTooDense ( )
inline

Definition at line 159 of file scattered_vector.h.

◆ ClearNonZerosIfTooDense() [2/2]

void ClearNonZerosIfTooDense ( double  ratio_for_using_dense_representation)
inline

Definition at line 152 of file scattered_vector.h.

◆ ClearSparseMask()

void ClearSparseMask ( )
inline

Definition at line 132 of file scattered_vector.h.

◆ end()

Iterator end ( ) const
inline

Definition at line 90 of file scattered_vector.h.

◆ operator[]() [1/2]

Fractional & operator[] ( Index  index)
inline

Definition at line 81 of file scattered_vector.h.

◆ operator[]() [2/2]

Fractional operator[] ( Index  index) const
inline

Definition at line 80 of file scattered_vector.h.

◆ RepopulateSparseMask()

void RepopulateSparseMask ( )
inline

Definition at line 145 of file scattered_vector.h.

◆ ShouldUseDenseIteration() [1/2]

bool ShouldUseDenseIteration ( ) const
inline

Definition at line 127 of file scattered_vector.h.

◆ ShouldUseDenseIteration() [2/2]

bool ShouldUseDenseIteration ( double  ratio_for_using_dense_representation) const
inline

Definition at line 119 of file scattered_vector.h.

◆ SortNonZerosIfNeeded()

void SortNonZerosIfNeeded ( )
inline

Definition at line 110 of file scattered_vector.h.

Member Data Documentation

◆ is_non_zero

StrictITIVector<Index, bool> is_non_zero

Definition at line 67 of file scattered_vector.h.

◆ kDefaultRatioForUsingDenseIteration

constexpr const double kDefaultRatioForUsingDenseIteration = 0.8
staticconstexpr

Definition at line 78 of file scattered_vector.h.

◆ non_zeros

std::vector<Index> non_zeros

Definition at line 62 of file scattered_vector.h.

◆ non_zeros_are_sorted

bool non_zeros_are_sorted = false

Definition at line 61 of file scattered_vector.h.

◆ values

Definition at line 57 of file scattered_vector.h.


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