LIBINT 2.9.0
Public Types | Public Member Functions | List of all members
libint2::QuantumNumbersA< T, N > Class Template Reference

QuantumNumbersA<T,N> is a set of N quantum numbers of type T implemented in terms of a C-style array. More...

#include <quanta.h>

Inheritance diagram for libint2::QuantumNumbersA< T, N >:
Inheritance graph
[legend]
Collaboration diagram for libint2::QuantumNumbersA< T, N >:
Collaboration graph
[legend]

Public Types

typedef QuantumSet parent_type
 
typedef QuantumNumbersA iter_type
 QuantumSet is a set of one QuantumSet.
 
- Public Types inherited from libint2::QuantumSet
typedef DummyIterator iter_type
 
- Public Types inherited from libint2::Hashable< LIBINT2_UINT_LEAST64, ComputeKey >
typedef KeyTraits< LIBINT2_UINT_LEAST64 >::ReturnType KeyReturnType
 

Public Member Functions

 QuantumNumbersA (const T &val)
 
 QuantumNumbersA (const T *qn)
 
 QuantumNumbersA (const std::vector< T > &qn)
 
 QuantumNumbersA (const std::shared_ptr< QuantumNumbersA > &)
 
 QuantumNumbersA (const std::shared_ptr< QuantumSet > &)
 
 QuantumNumbersA (const std::shared_ptr< ConstructablePolymorphically > &)
 
bool operator== (const QuantumNumbersA &) const
 
std::string label () const override
 
void inc (unsigned int i) override
 Increment quantum number i.
 
void dec (unsigned int i) override
 Decrement quantum number i.
 
const T elem (unsigned int i) const
 Return i-th quantum number.
 
void set_elem (unsigned int i, const T &value)
 Return i-th quantum number.
 
unsigned int num_quanta () const override
 Implementation of QuantumSet::num_quanta()
 
LIBINT2_UINT_LEAST64 key () const override
 Implements Hashable::key()
 
LIBINT2_UINT_LEAST64 max_key () const
 key is in range [0,max_key())
 

Additional Inherited Members

- Static Public Attributes inherited from libint2::QuantumSet
static const LIBINT2_UINT_LEAST64 max_quantum_number = 100
 Quantum numbers lie in range [0,max_quantum_number)
 
- Protected Attributes inherited from libint2::Hashable< LIBINT2_UINT_LEAST64, ComputeKey >
KeyStore< LIBINT2_UINT_LEAST64, OwnKey< KeyMP >::result > key_
 

Detailed Description

template<typename T, unsigned int N>
class libint2::QuantumNumbersA< T, N >

QuantumNumbersA<T,N> is a set of N quantum numbers of type T implemented in terms of a C-style array.

QuantumNumbersA is faster than QuantumNumbers but is not as safe!

Member Function Documentation

◆ dec()

template<typename T , unsigned int N>
void libint2::QuantumNumbersA< T, N >::dec ( unsigned int i)
inlineoverridevirtual

Decrement quantum number i.

Implements libint2::QuantumSet.

◆ inc()

template<typename T , unsigned int N>
void libint2::QuantumNumbersA< T, N >::inc ( unsigned int i)
inlineoverridevirtual

Increment quantum number i.

Implements libint2::QuantumSet.

◆ key()

template<typename T , unsigned int N>
LIBINT2_UINT_LEAST64 libint2::QuantumNumbersA< T, N >::key ( ) const
inlineoverridevirtual

◆ label()

template<typename T , unsigned int N>
std::string libint2::QuantumNumbersA< T, N >::label ( ) const
overridevirtual

Implements libint2::QuantumSet.

◆ num_quanta()

template<typename T , unsigned int N>
unsigned int libint2::QuantumNumbersA< T, N >::num_quanta ( ) const
inlineoverridevirtual

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