mpqc::StringReplacements< String, Nc, Na, Lower > Struct Template Reference

Documentation

template<typename String, std::size_t Nc, std::size_t Na, bool Lower>
struct mpqc::StringReplacements< String, Nc, Na, Lower >

Single replacements as a sparse matrix.

Represented as a hashtable mapping string to "row" data containing all of its SR strings, the corresponding operators and replacement parities

Template Parameters
Stringfermionic string type
Ncnumber of creators
Nanumber of annihilators
Lowerif true, will only include replacements with hash value less than this string's hash value

Public Types

using base_type = StringToSortedVector< String, std::tuple< String, PrimitiveOperator< Nc, Na >, bool >, utility::strhashcompare< String >, utility::strequal< String > >
 
using col_const_iterator = typename base_type::col_const_iterator
 

Public Member Functions

auto & base ()
 
const auto & base () const
 
void insert (const String &str1, const String &str2, const PrimitiveOperator< Nc, Na > &op12, bool parity)
 

Member Typedef Documentation

◆ base_type

template<typename String , std::size_t Nc, std::size_t Na, bool Lower>
using mpqc::StringReplacements< String, Nc, Na, Lower >::base_type = StringToSortedVector< String, std::tuple<String, PrimitiveOperator<Nc, Na>, bool>, utility::strhashcompare<String>, utility::strequal<String> >

◆ col_const_iterator

template<typename String , std::size_t Nc, std::size_t Na, bool Lower>
using mpqc::StringReplacements< String, Nc, Na, Lower >::col_const_iterator = typename base_type::col_const_iterator

Member Function Documentation

◆ base() [1/2]

template<typename String , std::size_t Nc, std::size_t Na, bool Lower>
auto& mpqc::StringReplacements< String, Nc, Na, Lower >::base ( )
inline

◆ base() [2/2]

template<typename String , std::size_t Nc, std::size_t Na, bool Lower>
const auto& mpqc::StringReplacements< String, Nc, Na, Lower >::base ( ) const
inline

◆ insert()

template<typename String , std::size_t Nc, std::size_t Na, bool Lower>
void mpqc::StringReplacements< String, Nc, Na, Lower >::insert ( const String &  str1,
const String &  str2,
const PrimitiveOperator< Nc, Na > &  op12,
bool  parity 
)
inline
Note
If Lower is true then will not insert unless have conformant string hashes

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