OR-Tools  9.6
ScatteredVector< Index, Iterator >

Detailed Description

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

Definition at line 55 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 ()
 
size_t NumNonZerosEstimate () const
 

Public Attributes

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

Static Public Attributes

constexpr static const double kDefaultRatioForUsingDenseIteration = 0.8
 

Member Function Documentation

◆ Add()

void Add ( Index  index,
Fractional  value 
)
inline

Definition at line 97 of file scattered_vector.h.

◆ begin()

Iterator begin ( ) const
inline

Definition at line 85 of file scattered_vector.h.

◆ ClearNonZerosIfTooDense() [1/2]

void ClearNonZerosIfTooDense ( )
inline

Definition at line 158 of file scattered_vector.h.

◆ ClearNonZerosIfTooDense() [2/2]

void ClearNonZerosIfTooDense ( double  ratio_for_using_dense_representation)
inline

Definition at line 151 of file scattered_vector.h.

◆ ClearSparseMask()

void ClearSparseMask ( )
inline

Definition at line 131 of file scattered_vector.h.

◆ end()

Iterator end ( ) const
inline

Definition at line 89 of file scattered_vector.h.

◆ NumNonZerosEstimate()

size_t NumNonZerosEstimate ( ) const
inline

Definition at line 164 of file scattered_vector.h.

◆ operator[]() [1/2]

Fractional& operator[] ( Index  index)
inline

Definition at line 80 of file scattered_vector.h.

◆ operator[]() [2/2]

Fractional operator[] ( Index  index) const
inline

Definition at line 79 of file scattered_vector.h.

◆ RepopulateSparseMask()

void RepopulateSparseMask ( )
inline

Definition at line 144 of file scattered_vector.h.

◆ ShouldUseDenseIteration() [1/2]

bool ShouldUseDenseIteration ( ) const
inline

Definition at line 126 of file scattered_vector.h.

◆ ShouldUseDenseIteration() [2/2]

bool ShouldUseDenseIteration ( double  ratio_for_using_dense_representation) const
inline

Definition at line 118 of file scattered_vector.h.

◆ SortNonZerosIfNeeded()

void SortNonZerosIfNeeded ( )
inline

Definition at line 109 of file scattered_vector.h.

Member Data Documentation

◆ is_non_zero

StrictITIVector<Index, bool> is_non_zero

Definition at line 66 of file scattered_vector.h.

◆ kDefaultRatioForUsingDenseIteration

constexpr static const double kDefaultRatioForUsingDenseIteration = 0.8
staticconstexpr

Definition at line 77 of file scattered_vector.h.

◆ non_zeros

std::vector<Index> non_zeros

Definition at line 61 of file scattered_vector.h.

◆ non_zeros_are_sorted

bool non_zeros_are_sorted = false

Definition at line 60 of file scattered_vector.h.

◆ values

Definition at line 56 of file scattered_vector.h.


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