ecolab::bitvect Class Reference
Collaboration diagram for ecolab::bitvect:
Collaboration graph

Public Member Functions

 bitvect (const bitvect &x)
 
 bitvect (unsigned s, bool x=false)
 
template<class T >
 bitvect (const vector< T > &x)
 
bitvectoperator|= (const bitvect &x)
 
bitvect operator| (bitvect x) const
 
bitvectoperator &= (const bitvect &x)
 
bitvect operator & (bitvect x) const
 
bitvectoperator^= (const bitvect &x)
 
bitvect operator^ (bitvect x) const
 
bitvect operator~ () const
 
bitvectflip ()
 
bitvect operator>> (unsigned offs) const
 
bitvect num (unsigned start, unsigned nbits) const
 
bool equal (const bitvect &y, unsigned len, unsigned offs) const
 
void setrange (unsigned start, unsigned end, bool value)
 
bitref operator[] (unsigned i)
 
const_bitref operator[] (unsigned i) const
 
unsigned size () const
 
void operator++ (int)
 increment the bitfield
 
bool next_perm ()
 
unsigned popcnt (unsigned start=0, int end=-1) const
 
bool operator== (const bitvect &x) const
 
bool operator!= (const bitvect &x) const
 
bool operator< (const bitvect &x) const
 
void rand ()
 

Friends

void ecolab_nauty (const NautyRep &, NautyRep &, double &, bool, int)
 EcoLab interface to Nauty. More...
 

Member Function Documentation

◆ next_perm()

bool ecolab::bitvect::next_perm ( )

next permutation sequence (nos of zeros & ones kept constant). returns true if there is a next permutation, false otherwise

Referenced by ecolab::BitRep::next_perm(), and ecolab::BiDirectionalBitRep::next_perm().

Friends And Related Function Documentation

◆ ecolab_nauty

void ecolab_nauty ( const NautyRep ,
NautyRep ,
double &  ,
bool  ,
int   
)
friend

EcoLab interface to Nauty.

Parameters
gGraph the analyse
canonicalreturned canonical representation
lnomega$\ln\Omega$
do_canonicalwhether to compute a canonical rep, or just $\ln\Omega$

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