Search Results

Collaboration diagram for mpqc::utility::TensorProductGenerator< Generators >:

Documentation

template<typename... Generators>
struct mpqc::utility::TensorProductGenerator< Generators >

Tensor product of generators.

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
 
TensorProductGeneratoroperator++ ()
 
const value_typeoperator* () 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_>
mpqc::utility::TensorProductGenerator< Generators >::TensorProductGenerator ( Generators_ &&...  generators)
inline

Member Function Documentation

◆ begin()

template<typename... Generators>
const_iterator mpqc::utility::GeneratorRangeFacade< Generator, Value >::begin
inline

◆ end()

template<typename... Generators>
const_iterator mpqc::utility::GeneratorRangeFacade< Generator, Value >::end
inline

◆ generators()

template<typename... Generators>
std::tuple<const Generators&...> mpqc::utility::TensorProductGenerator< Generators >::generators ( ) const
inline

◆ operator bool()

template<typename... Generators>
mpqc::utility::TensorProductGenerator< Generators >::operator bool ( ) const
inlineexplicit
Returns
true if there are no more items to generate

◆ operator*()

template<typename... Generators>
const value_type& mpqc::utility::TensorProductGenerator< Generators >::operator* ( ) const
inline

◆ operator++()

template<typename... Generators>
TensorProductGenerator& mpqc::utility::TensorProductGenerator< Generators >::operator++ ( )
inline

◆ operator==()

template<typename... Generators>
bool mpqc::utility::TensorProductGenerator< Generators >::operator== ( const TensorProductGenerator< Generators > &  other) const
inline

return true if the current state of generators of other and this are identical

Member Data Documentation

◆ Size

template<typename... Generators>
constexpr static std::size_t mpqc::utility::TensorProductGenerator< Generators >::Size = sizeof...(Generators)
staticconstexpr

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