mpqc::HBCompositeGenerator< TGenerator, AbsHBData, T, Ranks > Struct Template Reference
Collaboration diagram for mpqc::HBCompositeGenerator< TGenerator, AbsHBData, T, Ranks >:
Documentation
template<typename TGenerator, bool AbsHBData, typename T, std::size_t... Ranks>
struct mpqc::HBCompositeGenerator< TGenerator, AbsHBData, T, Ranks >
Combines a generator producing tuples with HBTupleGenerator.
- Template Parameters
-
TGenerator a generator type producing generalized tuples AbsHBData whether uses a HBData object containing absolute values (magnitudes) or not T the values contained by the HBData object Ranks result rank or ranks; if Ranks
is a single value, producesstd::tuple<const std::array<orbital_index_type, Ranks>&, const typename TGenerator::value_type&>
else producesstd::tuple<std::tuple<const std::array<orbital_index_type, Ranks>&...>, const typename TGenerator::value_type&>
Public Types | |
using | tvalue_type = typename TGenerator::value_type |
using | hbvalue_type = std::conditional_t< sizeof...(Ranks)==1, std::array< orbital_index_type, Rank >, std::tuple< const std::array< orbital_index_type, Ranks > &... > > |
using | value_type = std::tuple< const hbvalue_type &, const tvalue_type & > |
using | base_type = utility::GeneratorRangeFacade< HBCompositeGenerator< TGenerator, AbsHBData, T, Ranks... >, value_type > |
using | HBGenerator = HBTupleGenerator< Rank, RI, AbsHBData, T > |
Public Types inherited from mpqc::utility::GeneratorRangeFacade< HBCompositeGenerator< TGenerator, AbsHBData, T, Ranks... >, std::tuple< const std::conditional_t< sizeof...(Ranks)==1, std::array< orbital_index_type,(...+Ranks)>, std::tuple< const std::array< orbital_index_type, Ranks > &... > > &, const TGenerator::value_type & > > | |
typedef GeneratorIterator< HBCompositeGenerator< TGenerator, AbsHBData, T, Ranks... >, HBCompositeGenerator< TGenerator, AbsHBData, T, Ranks... > *, std::tuple< const std::conditional_t< sizeof...(Ranks)==1, std::array< orbital_index_type,(...+Ranks)>, std::tuple< const std::array< orbital_index_type, Ranks > &... > > &, const TGenerator::value_type & > > | iterator |
typedef GeneratorIterator< HBCompositeGenerator< TGenerator, AbsHBData, T, Ranks... >, HBCompositeGenerator< TGenerator, AbsHBData, T, Ranks... > *, const std::tuple< const std::conditional_t< sizeof...(Ranks)==1, std::array< orbital_index_type,(...+Ranks)>, std::tuple< const std::array< orbital_index_type, Ranks > &... > > &, const TGenerator::value_type & > > | const_iterator |
Public Member Functions | |
template<typename TGenerator_ > | |
HBCompositeGenerator (TGenerator_ &&tgenerator, std::shared_ptr< const HBSparseTensor< RI, Rank, AbsHBData, T >> hbtensor, typename HBSparseTensor< RI, Rank, AbsHBData, T >::magnitude_type epsilon) | |
operator bool () const | |
HBCompositeGenerator & | operator++ () |
const value_type & | operator* () const |
bool | operator== (const HBCompositeGenerator &other) const |
const auto & | tgenerator () const |
const auto & | hbgenerator () const |
const_iterator | begin () |
const_iterator | end () const |
Public Member Functions inherited from mpqc::utility::GeneratorRangeFacade< HBCompositeGenerator< TGenerator, AbsHBData, T, Ranks... >, std::tuple< const std::conditional_t< sizeof...(Ranks)==1, std::array< orbital_index_type,(...+Ranks)>, std::tuple< const std::array< orbital_index_type, Ranks > &... > > &, const TGenerator::value_type & > > | |
const_iterator | begin () |
const_iterator | end () const |
Static Public Attributes | |
constexpr static std::size_t | Rank = (... + Ranks) |
constexpr static std::size_t | arity = sizeof...(Ranks) |
constexpr static std::size_t | RI |
Member Typedef Documentation
◆ base_type
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
using mpqc::HBCompositeGenerator< TGenerator, AbsHBData, T, Ranks >::base_type = utility::GeneratorRangeFacade< HBCompositeGenerator<TGenerator, AbsHBData, T, Ranks...>, value_type> |
◆ HBGenerator
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
using mpqc::HBCompositeGenerator< TGenerator, AbsHBData, T, Ranks >::HBGenerator = HBTupleGenerator<Rank, RI, AbsHBData, T> |
◆ hbvalue_type
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
using mpqc::HBCompositeGenerator< TGenerator, AbsHBData, T, Ranks >::hbvalue_type = std::conditional_t< sizeof...(Ranks) == 1, std::array<orbital_index_type, Rank>, std::tuple<const std::array<orbital_index_type, Ranks>&...> > |
◆ tvalue_type
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
using mpqc::HBCompositeGenerator< TGenerator, AbsHBData, T, Ranks >::tvalue_type = typename TGenerator::value_type |
◆ value_type
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
using mpqc::HBCompositeGenerator< TGenerator, AbsHBData, T, Ranks >::value_type = std::tuple<const hbvalue_type&, const tvalue_type&> |
Constructor & Destructor Documentation
◆ HBCompositeGenerator()
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
template<typename TGenerator_ >
|
inline |
Member Function Documentation
◆ begin()
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
|
inline |
◆ end()
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
|
inline |
◆ hbgenerator()
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
|
inline |
◆ operator bool()
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
|
inlineexplicit |
- Returns
- true if there are no more items to generate
◆ operator*()
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
|
inline |
◆ operator++()
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
|
inline |
◆ operator==()
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
|
inline |
return true if the current state of generators of other
and this are identical
◆ tgenerator()
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
|
inline |
Member Data Documentation
◆ arity
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
|
staticconstexpr |
◆ Rank
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
|
staticconstexpr |
◆ RI
template<typename TGenerator , bool AbsHBData, typename T , std::size_t... Ranks>
|
staticconstexpr |
Initial value:
=
utility::recursive_tuple_size_v<tvalue_type>
The documentation for this struct was generated from the following file:
- mpqc/math/fock/hb.h