MPQC  3.0.0-alpha
sc::FermionOccupationDBitString Class Reference

a "dense" string represents occupancies of a set of Ns states by a bitstring More...

#include <chemistry/qc/nbody/string.h>

Inheritance diagram for sc::FermionOccupationDBitString:

Public Types

typedef boost::dynamic_bitset parent_type
 
typedef size_t state_index_type
 

Public Member Functions

 FermionOccupationDBitString (size_t N)
 Constructs an empty set of N states.
 
 FermionOccupationDBitString (boost::dynamic_bitset<> &&bs)
 
 FermionOccupationDBitString (size_t N, const std::vector< state_index_type > &occupied_states)
 Constructs FermionOccupationDBitString using a (possibly-empty) set of indices of occupied states. More...
 
bool empty () const
 are all states empty? More...
 
void reset ()
 empties all states
 
size_t count () const
 Reports the number of occupied states. More...
 
FermionOccupationDBitStringremove (size_t from)
 Removes a particle from_ state from_. More...
 
FermionOccupationDBitStringadd (size_t to)
 Adds a particle to_ state to_. More...
 
size_t count (size_t pos1, size_t pos2) const
 counts the number of bits in (pos1,pos2) (assumes pos2 >= pos1) More...
 
size_t hash_value () const
 
bool operator== (const FermionOccupationDBitString &other) const
 

Detailed Description

a "dense" string represents occupancies of a set of Ns states by a bitstring

Template Parameters
Nsthe number of states

Constructor & Destructor Documentation

◆ FermionOccupationDBitString()

sc::FermionOccupationDBitString::FermionOccupationDBitString ( size_t  N,
const std::vector< state_index_type > &  occupied_states 
)
inlineexplicit

Constructs FermionOccupationDBitString using a (possibly-empty) set of indices of occupied states.

Parameters
occupied_states

Member Function Documentation

◆ add()

FermionOccupationDBitString& sc::FermionOccupationDBitString::add ( size_t  to)
inline

Adds a particle to_ state to_.

Unsafe, but fast.

Parameters
to_the state to_ which the particle will be added. The current status of the state is not checked.
Returns
reference to_ this string, for chaining operations (e.g. a.remove(0).remove(7).add(13) etc.)

◆ count() [1/2]

size_t sc::FermionOccupationDBitString::count ( ) const
inline

Reports the number of occupied states.

Returns
the number of occupied states

Referenced by count().

◆ count() [2/2]

size_t sc::FermionOccupationDBitString::count ( size_t  pos1,
size_t  pos2 
) const
inline

counts the number of bits in (pos1,pos2) (assumes pos2 >= pos1)

Parameters
pos1
pos2
Returns

References count().

◆ empty()

bool sc::FermionOccupationDBitString::empty ( ) const
inline

are all states empty?

Returns
true if all states are empty

◆ remove()

FermionOccupationDBitString& sc::FermionOccupationDBitString::remove ( size_t  from)
inline

Removes a particle from_ state from_.

Unsafe, but fast.

Parameters
from_the state from_ which the particle will be removed. The current status of the state is not checked.
Returns
reference to_ this string, for chaining operations (e.g. a.remove(0).remove(7).add(13) etc.)

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

Generated at Sun Jan 26 2020 23:24:05 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.