mpqc::utility::intersection_sd_str< Spin > Struct Template Reference

Documentation

template<SpinCase1 Spin>
struct mpqc::utility::intersection_sd_str< Spin >

computes intersection of an SD range and Str range

Note
std::set_intersection is not flexible enough, neither is std::ranges::set_intersection_result of C++20, since we need to merge of elements of first (SD+ord) and second (Str+op+parity) range into (op+ord+parity)

based on std::set_intersection impl from https://en.cppreference.com/w/cpp/algorithm/set_intersection

Template Parameters
Spinspin-case of the string in the slater determinants to use

Public Member Functions

template<typename SDOrdIt , typename StrOpParityIt , typename OutIt >
auto operator() (SDOrdIt sd_ord_it, SDOrdIt sd_ord_end, StrOpParityIt str_op_parity_it, StrOpParityIt str_op_parity_end, OutIt out_it)
 

Static Public Member Functions

template<typename StringOrStringRange >
static const auto & to_str (const SlaterDeterminant< StringOrStringRange > &sd)
 

Member Function Documentation

◆ operator()()

template<SpinCase1 Spin>
template<typename SDOrdIt , typename StrOpParityIt , typename OutIt >
auto mpqc::utility::intersection_sd_str< Spin >::operator() ( SDOrdIt  sd_ord_it,
SDOrdIt  sd_ord_end,
StrOpParityIt  str_op_parity_it,
StrOpParityIt  str_op_parity_end,
OutIt  out_it 
)
inline

◆ to_str()

template<SpinCase1 Spin>
template<typename StringOrStringRange >
static const auto& mpqc::utility::intersection_sd_str< Spin >::to_str ( const SlaterDeterminant< StringOrStringRange > &  sd)
inlinestatic

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