steghide  0.5.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SampleValueAdjacencyList Class Reference

an adjacency list-like data structur for sample values

#include <SampleValueAdjacencyList.h>

Public Member Functions

 SampleValueAdjacencyList (SampleValueLabel numsvs)
 
std::vector< SampleValue * > & operator[] (const SampleValueLabel lbl)
 
std::vector< SampleValue * > & operator[] (const SampleValue *sv)
 
unsigned long getNumRows (void) const
 
bool operator== (const SampleValueAdjacencyList &sval)
 
void sort (void)
 

Private Member Functions

void quicksort (std::vector< SampleValue * > &oppneighs, UWORD32 *distances, unsigned int l, unsigned int r)
 
unsigned int partition (std::vector< SampleValue * > &oppneighs, UWORD32 *distances, unsigned int l, unsigned int r, UWORD32 x)
 
void swap (std::vector< SampleValue * > &oppneighs, UWORD32 *distances, unsigned int i, unsigned int j)
 

Private Attributes

std::vector< std::vector
< SampleValue * > > 
AdjacencyList
 

Constructor & Destructor Documentation

SampleValueAdjacencyList::SampleValueAdjacencyList ( SampleValueLabel  numsvs)

construct a SampleValueAdjacencyList with numsvs rows

Member Function Documentation

unsigned long SampleValueAdjacencyList::getNumRows ( void  ) const
inline
bool SampleValueAdjacencyList::operator== ( const SampleValueAdjacencyList sval)

check if every row contains the same set of sample values

std::vector<SampleValue*>& SampleValueAdjacencyList::operator[] ( const SampleValueLabel  lbl)
inline
std::vector<SampleValue*>& SampleValueAdjacencyList::operator[] ( const SampleValue sv)
inline
unsigned int SampleValueAdjacencyList::partition ( std::vector< SampleValue * > &  oppneighs,
UWORD32 distances,
unsigned int  l,
unsigned int  r,
UWORD32  x 
)
private

partition oppneighs/distances into those with distances less than and those with distances greater than and equal to x

Returns
the index in oppneighs/distances that separates the two
void SampleValueAdjacencyList::quicksort ( std::vector< SampleValue * > &  oppneighs,
UWORD32 distances,
unsigned int  l,
unsigned int  r 
)
private
void SampleValueAdjacencyList::sort ( void  )

sort the list in a way that the first entry of a row has the least distance to source sample value

void SampleValueAdjacencyList::swap ( std::vector< SampleValue * > &  oppneighs,
UWORD32 distances,
unsigned int  i,
unsigned int  j 
)
private

Member Data Documentation

std::vector<std::vector<SampleValue*> > SampleValueAdjacencyList::AdjacencyList
private

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