mpqc::utility::TensorProductGenerator< Generators > Struct Template Reference
Collaboration diagram for mpqc::utility::TensorProductGenerator< Generators >:
Documentation
template<typename... Generators>
struct mpqc::utility::TensorProductGenerator< Generators >
Tensor product of generators.
- Template Parameters
-
Generators Tensor product of Generators
is a generator that results a tuple of reference wrappers to the values produced by the generators, with the last of the generators used most frequently, and the first of the generators used least frequently
Public Types | |
using | value_type = std::tuple< const typename Generators::value_type &... > |
using | base_type = utility::GeneratorRangeFacade< TensorProductGenerator< Generators... >, value_type > |
Public Types inherited from mpqc::utility::GeneratorRangeFacade< TensorProductGenerator< Generators... >, std::tuple< const Generators::value_type &... > > | |
typedef GeneratorIterator< TensorProductGenerator< Generators... >, TensorProductGenerator< Generators... > *, std::tuple< const Generators::value_type &... > > | iterator |
typedef GeneratorIterator< TensorProductGenerator< Generators... >, TensorProductGenerator< Generators... > *, const std::tuple< const Generators::value_type &... > > | const_iterator |
Public Member Functions | |
template<typename... Generators_> | |
TensorProductGenerator (Generators_ &&... generators) | |
operator bool () const | |
TensorProductGenerator & | operator++ () |
const value_type & | operator* () const |
bool | operator== (const TensorProductGenerator &other) const |
std::tuple< const Generators &... > | generators () const |
const_iterator | begin () |
const_iterator | end () const |
Public Member Functions inherited from mpqc::utility::GeneratorRangeFacade< TensorProductGenerator< Generators... >, std::tuple< const Generators::value_type &... > > | |
const_iterator | begin () |
const_iterator | end () const |
Static Public Attributes | |
constexpr static std::size_t | Size = sizeof...(Generators) |
Member Typedef Documentation
◆ base_type
template<typename... Generators>
using mpqc::utility::TensorProductGenerator< Generators >::base_type = utility::GeneratorRangeFacade<TensorProductGenerator<Generators...>, value_type> |
◆ value_type
template<typename... Generators>
using mpqc::utility::TensorProductGenerator< Generators >::value_type = std::tuple<const typename Generators::value_type&...> |
Constructor & Destructor Documentation
◆ TensorProductGenerator()
template<typename... Generators>
template<typename... Generators_>
|
inline |
Member Function Documentation
◆ begin()
template<typename... Generators>
|
inline |
◆ end()
template<typename... Generators>
|
inline |
◆ generators()
template<typename... Generators>
|
inline |
◆ operator bool()
template<typename... Generators>
|
inlineexplicit |
- Returns
- true if there are no more items to generate
◆ operator*()
template<typename... Generators>
|
inline |
◆ operator++()
template<typename... Generators>
|
inline |
◆ operator==()
template<typename... Generators>
|
inline |
return true if the current state of generators of other
and this are identical
Member Data Documentation
◆ Size
template<typename... Generators>
|
staticconstexpr |
The documentation for this struct was generated from the following file:
- mpqc/util/misc/generator.h