SNAP Library 2.0, User Reference  2013-05-13 16:33:57
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
TB8Set Class Reference

#include <bits.h>

List of all members.

Public Member Functions

 TB8Set ()
 TB8Set (const TB8Set &B8Set)
 TB8Set (const uchar &_B1)
 TB8Set (TSIn &SIn)
void Save (TSOut &SOut) const
TB8Setoperator= (const TB8Set &BSet)
TB8Setoperator= (const uchar &_B1)
bool operator== (const TB8Set &BSet) const
bool operator< (const TB8Set &BSet) const
bool Empty () const
TB8SetClr ()
TB8SetFill ()
bool IsPrefix (const TB8Set &BSet, const int &MnBitN) const
uchar GetUCh () const
void Incl (const int &BitN)
void Excl (const int &BitN)
bool In (const int &BitN) const
void SetBit (const int &BitN, const bool &Bool)
bool GetBit (const int &BitN) const
int GetBits () const
int Get1s () const
int Get0s () const
TStr GetStr () const
void Wr ()
void PutInt (const int &MnBitN, const int &MxBitN, const int &Val)
int GetInt (const int &MnBitN, const int &MxBitN) const
TB8Setoperator~ ()
TB8Setoperator&= (const TB8Set &BSet)
TB8Setoperator|= (const TB8Set &BSet)
TB8Setoperator|= (const int &BitN)
TB8Setoperator^= (const TB8Set &BSet)
TB8Setoperator>>= (const int &ShiftBits)
TB8Setoperator<<= (const int &ShiftBits)

Private Attributes

TB1Def::TB1 B1

Static Private Attributes

static const int Bits = 8

Friends

TB8Set operator~ (const TB8Set &BSet)
TB8Set operator& (const TB8Set &LBSet, const TB8Set &RBSet)
TB8Set operator| (const TB8Set &LBSet, const TB8Set &RBSet)
TB8Set operator^ (const TB8Set &LBSet, const TB8Set &RBSet)

Detailed Description

Definition at line 166 of file bits.h.


Constructor & Destructor Documentation

TB8Set::TB8Set ( ) [inline]

Definition at line 171 of file bits.h.

: B1(0){}
TB8Set::TB8Set ( const TB8Set B8Set) [inline]

Definition at line 172 of file bits.h.

: B1(B8Set.B1){}
TB8Set::TB8Set ( const uchar _B1) [inline]

Definition at line 173 of file bits.h.

: B1(_B1){}
TB8Set::TB8Set ( TSIn SIn) [inline]

Definition at line 174 of file bits.h.

{SIn.LoadBf(&B1, sizeof(TB1Def::TB1));}

Member Function Documentation

TB8Set& TB8Set::Clr ( ) [inline]

Definition at line 183 of file bits.h.

{B1=0; return *this;}
bool TB8Set::Empty ( ) const [inline]

Definition at line 182 of file bits.h.

{return B1==0;}
void TB8Set::Excl ( const int &  BitN) [inline]

Definition at line 193 of file bits.h.

                            {
    Assert((0<=BitN)&&(BitN<Bits));
    B1&=TB1Def::TB1(~(TB1Def::B1Def.B1P2T[BitN]));}
TB8Set& TB8Set::Fill ( ) [inline]

Definition at line 184 of file bits.h.

{B1=TB1Def::B1Def.MxB1; return *this;}
int TB8Set::Get0s ( ) const [inline]

Definition at line 206 of file bits.h.

{return Bits-Get1s();}
int TB8Set::Get1s ( ) const [inline]

Definition at line 205 of file bits.h.

bool TB8Set::GetBit ( const int &  BitN) const [inline]

Definition at line 201 of file bits.h.

                                     {
    Assert((0<=BitN)&&(BitN<Bits));
    return (B1 & TB1Def::B1Def.B1P2T[BitN])!=0;}
int TB8Set::GetBits ( ) const [inline]

Definition at line 204 of file bits.h.

{return Bits;}
int TB8Set::GetInt ( const int &  MnBitN,
const int &  MxBitN 
) const [inline]

Definition at line 214 of file bits.h.

                                                         {
    Assert((0<=MnBitN)&&(MnBitN<=MxBitN)&&(MxBitN<Bits));
    return (B1>>MnBitN) & (TB1Def::B1Def.B1P2T[MxBitN-MnBitN+1]-1);}
TStr TB8Set::GetStr ( ) const

Definition at line 131 of file bits.cpp.

                          {
  TChA ChA;
  for (int BitN=0; BitN<Bits; BitN++){
    if (In(BitN)){ChA+='1';} else {ChA+='0';}}
  return ChA;
}
uchar TB8Set::GetUCh ( ) const [inline]

Definition at line 188 of file bits.h.

{return B1;}
bool TB8Set::In ( const int &  BitN) const [inline]

Definition at line 196 of file bits.h.

                                 {
    Assert((0<=BitN)&&(BitN<Bits));
    return (B1 & TB1Def::B1Def.B1P2T[BitN])!=0;}
void TB8Set::Incl ( const int &  BitN) [inline]

Definition at line 190 of file bits.h.

                            {
    Assert((0<=BitN)&&(BitN<Bits));
    B1|=TB1Def::B1Def.B1P2T[BitN];}
bool TB8Set::IsPrefix ( const TB8Set BSet,
const int &  MnBitN 
) const [inline]

Definition at line 185 of file bits.h.

                                                             {
    Assert((0<=MnBitN)&&(MnBitN<Bits));
    return (B1>>MnBitN)==(BSet.B1>>MnBitN);}
TB8Set& TB8Set::operator&= ( const TB8Set BSet) [inline]

Definition at line 219 of file bits.h.

{B1&=BSet.B1; return *this;}
bool TB8Set::operator< ( const TB8Set BSet) const [inline]

Definition at line 180 of file bits.h.

{return B1<BSet.B1;}
TB8Set& TB8Set::operator<<= ( const int &  ShiftBits) [inline]

Definition at line 224 of file bits.h.

{B1<<=ShiftBits; return *this;}
TB8Set& TB8Set::operator= ( const TB8Set BSet) [inline]

Definition at line 177 of file bits.h.

{B1=BSet.B1; return *this;}
TB8Set& TB8Set::operator= ( const uchar _B1) [inline]

Definition at line 178 of file bits.h.

{B1=_B1; return *this;}
bool TB8Set::operator== ( const TB8Set BSet) const [inline]

Definition at line 179 of file bits.h.

{return B1==BSet.B1;}
TB8Set& TB8Set::operator>>= ( const int &  ShiftBits) [inline]

Definition at line 223 of file bits.h.

{B1>>=ShiftBits; return *this;}
TB8Set& TB8Set::operator^= ( const TB8Set BSet) [inline]

Definition at line 222 of file bits.h.

{B1^=BSet.B1; return *this;}
TB8Set& TB8Set::operator|= ( const TB8Set BSet) [inline]

Definition at line 220 of file bits.h.

{B1|=BSet.B1; return *this;}
TB8Set& TB8Set::operator|= ( const int &  BitN) [inline]

Definition at line 221 of file bits.h.

{Incl(BitN); return *this;}
TB8Set& TB8Set::operator~ ( ) [inline]

Definition at line 218 of file bits.h.

{B1=TB1Def::TB1(~B1); return *this;}
void TB8Set::PutInt ( const int &  MnBitN,
const int &  MxBitN,
const int &  Val 
) [inline]

Definition at line 210 of file bits.h.

                                                                   {
    Assert((0<=MnBitN)&&(MnBitN<=MxBitN)&&(MxBitN<Bits));
    B1 &= TB1Def::TB1((~(TB1Def::B1Def.B1P2T[MxBitN-MnBitN+1]-1)) << MnBitN);
    B1 |= TB1Def::TB1((Val & (TB1Def::B1Def.B1P2T[MxBitN-MnBitN+1]-1)) << MnBitN);}
void TB8Set::Save ( TSOut SOut) const [inline]

Definition at line 175 of file bits.h.

{SOut.SaveBf(&B1, sizeof(TB1Def::TB1));}
void TB8Set::SetBit ( const int &  BitN,
const bool &  Bool 
) [inline]

Definition at line 199 of file bits.h.

                                                {
    if (Bool) Incl(BitN); else Excl(BitN);}
void TB8Set::Wr ( )

Definition at line 138 of file bits.cpp.

               {
  printf("[");
  for (int BitN=0; BitN<Bits; BitN++){printf("%d", GetBit(BitN));}
  printf("]\n");
}

Friends And Related Function Documentation

TB8Set operator& ( const TB8Set LBSet,
const TB8Set RBSet 
) [friend]

Definition at line 228 of file bits.h.

                                                                   {
    return TB8Set(LBSet)&=RBSet;}
TB8Set operator^ ( const TB8Set LBSet,
const TB8Set RBSet 
) [friend]

Definition at line 232 of file bits.h.

                                                                   {
    return TB8Set(LBSet)^=RBSet;}
TB8Set operator| ( const TB8Set LBSet,
const TB8Set RBSet 
) [friend]

Definition at line 230 of file bits.h.

                                                                   {
    return TB8Set(LBSet)|=RBSet;}
TB8Set operator~ ( const TB8Set BSet) [friend]

Definition at line 226 of file bits.h.

                                             {
    return ~TB8Set(BSet);}

Member Data Documentation

Definition at line 169 of file bits.h.

const int TB8Set::Bits = 8 [static, private]

Definition at line 168 of file bits.h.


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