mpqc::OrbitalTupleGenerator< Rank, HostRange, Value > Struct Template Reference
Collaboration diagram for mpqc::OrbitalTupleGenerator< Rank, HostRange, Value >:

Documentation

template<std::size_t Rank, typename HostRange = PopulatedSparseOrbitalRange::partition_type, typename Value = std::array<typename HostRange::value_type, Rank>>
struct mpqc::OrbitalTupleGenerator< Rank, HostRange, Value >

Generates (ordered) tuples of rank Rank from host range of type HostRange

Template Parameters
Ranktuple rank (can be zero)
HostRangea range type
Valuea statically-sizes sequence type
Note
holds host range by value

Public Types

using base_type = utility::TupleGenerator< Rank, HostRange, Value, std::optional< HostRange > >
 
using base_type = utility::GeneratorRangeFacade< TupleGenerator< R, HostRange, Container, ConstHostRangePtr >, Container >
 
- Public Types inherited from mpqc::utility::TupleGenerator< Rank, PopulatedSparseOrbitalRange::partition_type, std::array< typename HostRange::value_type, Rank >, std::optional< PopulatedSparseOrbitalRange::partition_type > >
using base_type = utility::GeneratorRangeFacade< TupleGenerator< R, PopulatedSparseOrbitalRange::partition_type, std::array< typename HostRange::value_type, Rank >, std::optional< PopulatedSparseOrbitalRange::partition_type > >, std::array< typename HostRange::value_type, Rank > >
 
using value_type = std::array< typename HostRange::value_type, Rank >
 
using Index = std::array< std::int64_t, std::max(size_t{1}, R)>
 
- Public Types inherited from mpqc::utility::GeneratorRangeFacade< TupleGenerator< R, PopulatedSparseOrbitalRange::partition_type, std::array< typename HostRange::value_type, Rank >, std::optional< PopulatedSparseOrbitalRange::partition_type > >, std::array< typename HostRange::value_type, Rank > >
typedef GeneratorIterator< TupleGenerator< R, PopulatedSparseOrbitalRange::partition_type, std::array< typename HostRange::value_type, Rank >, std::optional< PopulatedSparseOrbitalRange::partition_type > >, TupleGenerator< R, PopulatedSparseOrbitalRange::partition_type, std::array< typename HostRange::value_type, Rank >, std::optional< PopulatedSparseOrbitalRange::partition_type > > *, std::array< typename HostRange::value_type, Rank > > iterator
 
typedef GeneratorIterator< TupleGenerator< R, PopulatedSparseOrbitalRange::partition_type, std::array< typename HostRange::value_type, Rank >, std::optional< PopulatedSparseOrbitalRange::partition_type > >, TupleGenerator< R, PopulatedSparseOrbitalRange::partition_type, std::array< typename HostRange::value_type, Rank >, std::optional< PopulatedSparseOrbitalRange::partition_type > > *, const std::array< typename HostRange::value_type, Rank > > const_iterator
 

Additional Inherited Members

- Public Member Functions inherited from mpqc::utility::TupleGenerator< Rank, PopulatedSparseOrbitalRange::partition_type, std::array< typename HostRange::value_type, Rank >, std::optional< PopulatedSparseOrbitalRange::partition_type > >
 TupleGenerator (std::optional< PopulatedSparseOrbitalRange::partition_type > hostptr, Index idx)
 
 TupleGenerator (std::optional< PopulatedSparseOrbitalRange::partition_type > hostptr)
 
 TupleGenerator (const TupleGenerator &)=default
 
 TupleGenerator (TupleGenerator &&)=default
 
TupleGeneratoroperator= (const TupleGenerator &)=default
 
TupleGeneratoroperator= (TupleGenerator &&)=default
 
const std::optional< PopulatedSparseOrbitalRange::partition_type > & host_range_ptr () const
 
 operator bool () const
 
TupleGeneratoroperator++ ()
 
const value_typeoperator* () const
 
bool operator== (const TupleGenerator &other) const
 
const_iterator begin ()
 
const_iterator end () const
 
- Public Member Functions inherited from mpqc::utility::GeneratorRangeFacade< TupleGenerator< R, PopulatedSparseOrbitalRange::partition_type, std::array< typename HostRange::value_type, Rank >, std::optional< PopulatedSparseOrbitalRange::partition_type > >, std::array< typename HostRange::value_type, Rank > >
const_iterator begin ()
 
const_iterator end () const
 
- Static Public Member Functions inherited from mpqc::utility::TupleGenerator< Rank, PopulatedSparseOrbitalRange::partition_type, std::array< typename HostRange::value_type, Rank >, std::optional< PopulatedSparseOrbitalRange::partition_type > >
static TupleGenerator make_end (std::optional< PopulatedSparseOrbitalRange::partition_type > hostptr)
 

Member Typedef Documentation

◆ base_type [1/2]

template<std::size_t Rank, typename HostRange = PopulatedSparseOrbitalRange::partition_type, typename Value = std::array<typename HostRange::value_type, Rank>>
using mpqc::OrbitalTupleGenerator< Rank, HostRange, Value >::base_type = utility::TupleGenerator<Rank, HostRange, Value, std::optional<HostRange> >

◆ base_type [2/2]

template<std::size_t Rank, typename HostRange = PopulatedSparseOrbitalRange::partition_type, typename Value = std::array<typename HostRange::value_type, Rank>>
using mpqc::utility::TupleGenerator< R, HostRange, Container, ConstHostRangePtr >::base_type = utility::GeneratorRangeFacade< TupleGenerator<R, HostRange, Container, ConstHostRangePtr>, Container>

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