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

a random permutation of a random combination

#include <Selector.h>

Public Member Functions

 Selector (UWORD32 m, std::string pp)
 
 Selector (UWORD32 m)
 
 Selector (const std::vector< UWORD32 > &retvals)
 
 ~Selector (void)
 
UWORD32 operator[] (UWORD32 i)
 
UWORD32 getRange (void) const
 

Private Member Functions

void calculate (UWORD32 m)
 
bool idxX (UWORD32 v, UWORD32 m, UWORD32 *p) const
 
void setX (UWORD32 i, UWORD32 v)
 

Private Attributes

std::vector< UWORD32X
 
std::vector< UWORD32Y
 
sgi::hash_map< UWORD32, UWORD32Xreversed
 
UWORD32 Maximum
 operator[] will return a value in {0,...,Maximum-1} More...
 
UWORD32 NumInArray
 the number of calculated positions in the arrays More...
 
PseudoRandomSourcePRandom
 

Constructor & Destructor Documentation

§ Selector() [1/3]

Selector::Selector ( UWORD32  m,
std::string  pp 
)

construct a Selector object

Parameters
mthe range - operator[] will return numbers in {0,...,m-1}
ppa passphrase used to generate the seed

§ Selector() [2/3]

Selector::Selector ( UWORD32  m)

construct a Selector object that resembles the identity permutation with range m

Parameters
mthe range - (*this)[i] will be i for i in {0,...,m-1}

§ Selector() [3/3]

Selector::Selector ( const std::vector< UWORD32 > &  retvals)

construct a Selector object that will return predefined values

Parameters
retvalsthe values that operator[] shall return

The Maximum is set to retvals.size().

§ ~Selector()

Selector::~Selector ( void  )

Member Function Documentation

§ calculate()

void Selector::calculate ( UWORD32  m)
private

fill X, Y and Xreversed until but not including index m

§ getRange()

UWORD32 Selector::getRange ( void  ) const
inline

§ idxX()

bool Selector::idxX ( UWORD32  v,
UWORD32  m,
UWORD32 p 
) const
private

search an index i such that 0 <= i < m and X[i] == v

Parameters
vthe value to be searched for in the X-array
mthe upper bound for the index
pa pointer to a variable where the found index can be stored
Returns
true iff such an index is found (*p is set to i in this case

§ operator[]()

UWORD32 Selector::operator[] ( UWORD32  i)

get the value at the i-th position

Parameters
ian index

§ setX()

void Selector::setX ( UWORD32  i,
UWORD32  v 
)
private

set X[i] to v while maintaining Xreversed

Member Data Documentation

§ Maximum

UWORD32 Selector::Maximum
private

§ NumInArray

UWORD32 Selector::NumInArray
private

§ PRandom

PseudoRandomSource* Selector::PRandom
private

§ X

std::vector<UWORD32> Selector::X
private

§ Xreversed

sgi::hash_map<UWORD32,UWORD32> Selector::Xreversed
private

§ Y

std::vector<UWORD32> Selector::Y
private

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