mpqc::PrimitiveOperatorGenerator< CreAnnGenerator > Struct Template Reference
Collaboration diagram for mpqc::PrimitiveOperatorGenerator< CreAnnGenerator >:

Documentation

template<typename CreAnnGenerator>
struct mpqc::PrimitiveOperatorGenerator< CreAnnGenerator >

PrimitiveOperatorGenerator is an adaptor of a generator that produces {creators, annihilators}

Template Parameters
CreAnnGeneratorgenerates tuple {creator_indices, annihilator_indices} , where creator_indices and annihilator_indices are tuple-like sequences (i.e. decomposable via std::get), typically std::array ; example is FullCreAnnGenerator

Public Types

using base_type = utility::GeneratorAdaptor< CreAnnGenerator, decltype(make_oper_from_tuple< std::decay_t< std::tuple_element_t< 0, typename CreAnnGenerator::value_type > >, std::decay_t< std::tuple_element_t< 1, typename CreAnnGenerator::value_type > >>)>
 
- Public Types inherited from mpqc::utility::GeneratorAdaptor< CreAnnGenerator, decltype(make_oper_from_tuple< std::decay_t< std::tuple_element_t< 0, CreAnnGenerator::value_type >>, std::decay_t< std::tuple_element_t< 1, CreAnnGenerator::value_type >>>)>
using value_type = std::invoke_result_t< decltype(make_oper_from_tuple< std::decay_t< std::tuple_element_t< 0, CreAnnGenerator::value_type >>, std::decay_t< std::tuple_element_t< 1, CreAnnGenerator::value_type >>>), const typename BaseGenerator::value_type & >
 
- Public Types inherited from mpqc::utility::GeneratorRangeFacade< GeneratorAdaptor< CreAnnGenerator, decltype(make_oper_from_tuple< std::decay_t< std::tuple_element_t< 0, CreAnnGenerator::value_type >>, std::decay_t< std::tuple_element_t< 1, CreAnnGenerator::value_type >>>) >, std::invoke_result_t< decltype(make_oper_from_tuple< std::decay_t< std::tuple_element_t< 0, CreAnnGenerator::value_type >>, std::decay_t< std::tuple_element_t< 1, CreAnnGenerator::value_type >>>), const BaseGenerator::value_type & > >
typedef GeneratorIterator< GeneratorAdaptor< CreAnnGenerator, decltype(make_oper_from_tuple< std::decay_t< std::tuple_element_t< 0, CreAnnGenerator::value_type >>, std::decay_t< std::tuple_element_t< 1, CreAnnGenerator::value_type >>>) >, GeneratorAdaptor< CreAnnGenerator, decltype(make_oper_from_tuple< std::decay_t< std::tuple_element_t< 0, CreAnnGenerator::value_type >>, std::decay_t< std::tuple_element_t< 1, CreAnnGenerator::value_type >>>) > *, std::invoke_result_t< decltype(make_oper_from_tuple< std::decay_t< std::tuple_element_t< 0, CreAnnGenerator::value_type >>, std::decay_t< std::tuple_element_t< 1, CreAnnGenerator::value_type >>>), const BaseGenerator::value_type & > > iterator
 
typedef GeneratorIterator< GeneratorAdaptor< CreAnnGenerator, decltype(make_oper_from_tuple< std::decay_t< std::tuple_element_t< 0, CreAnnGenerator::value_type >>, std::decay_t< std::tuple_element_t< 1, CreAnnGenerator::value_type >>>) >, GeneratorAdaptor< CreAnnGenerator, decltype(make_oper_from_tuple< std::decay_t< std::tuple_element_t< 0, CreAnnGenerator::value_type >>, std::decay_t< std::tuple_element_t< 1, CreAnnGenerator::value_type >>>) > *, const std::invoke_result_t< decltype(make_oper_from_tuple< std::decay_t< std::tuple_element_t< 0, CreAnnGenerator::value_type >>, std::decay_t< std::tuple_element_t< 1, CreAnnGenerator::value_type >>>), const BaseGenerator::value_type & > > const_iterator
 

Public Member Functions

const auto & base () const
 
- Public Member Functions inherited from mpqc::utility::GeneratorAdaptor< CreAnnGenerator, decltype(make_oper_from_tuple< std::decay_t< std::tuple_element_t< 0, CreAnnGenerator::value_type >>, std::decay_t< std::tuple_element_t< 1, CreAnnGenerator::value_type >>>)>
 GeneratorAdaptor (Base &&base, Callable &&callable)
 
 operator bool () const
 
GeneratorAdaptoroperator++ ()
 
const value_typeoperator* () const
 
bool operator== (const GeneratorAdaptor &other) const
 
const auto & base () const
 
- Public Member Functions inherited from mpqc::utility::GeneratorRangeFacade< GeneratorAdaptor< CreAnnGenerator, decltype(make_oper_from_tuple< std::decay_t< std::tuple_element_t< 0, CreAnnGenerator::value_type >>, std::decay_t< std::tuple_element_t< 1, CreAnnGenerator::value_type >>>) >, std::invoke_result_t< decltype(make_oper_from_tuple< std::decay_t< std::tuple_element_t< 0, CreAnnGenerator::value_type >>, std::decay_t< std::tuple_element_t< 1, CreAnnGenerator::value_type >>>), const BaseGenerator::value_type & > >
const_iterator begin ()
 
const_iterator end () const
 

Member Typedef Documentation

◆ base_type

template<typename CreAnnGenerator >
using mpqc::PrimitiveOperatorGenerator< CreAnnGenerator >::base_type = utility::GeneratorAdaptor< CreAnnGenerator, decltype( make_oper_from_tuple<std::decay_t<std::tuple_element_t< 0, typename CreAnnGenerator::value_type> >, std::decay_t<std::tuple_element_t< 1, typename CreAnnGenerator::value_type> >>)>

Member Function Documentation

◆ base()

template<typename CreAnnGenerator >
const auto& mpqc::PrimitiveOperatorGenerator< CreAnnGenerator >::base ( ) const
inline

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