4 #ifndef CPPQEDCORE_STRUCTURE_ELEMENTLIOUVILLEANAVERAGEDCOMMON_H_INCLUDED
5 #define CPPQEDCORE_STRUCTURE_ELEMENTLIOUVILLEANAVERAGEDCOMMON_H_INCLUDED
7 #include "ElementLiouvilleanAveragedCommonFwd.h"
19 template<
typename BASE>
26 const std::string&
getTitle ()
const {
return keyPrinter_.getTitle ();}
27 const KeyLabels &
getLabels()
const {
return keyPrinter_.getLabels();}
31 template<
typename... KeyLabelsPack>
38 virtual size_t nAvr_v() const final {
return keyPrinter_.
length();}
40 virtual std::ostream& displayKey_v(std::ostream& os,
size_t& i)
const final {
return keyPrinter_.
displayKey(os,i);}
49 #endif // CPPQEDCORE_STRUCTURE_ELEMENTLIOUVILLEANAVERAGEDCOMMON_H_INCLUDED
std::list< std::string > KeyLabels
the list of labels
std::initializer_list< std::string > KeyLabelsInitializer
convenience typedef for initialization with an initializer_list
ElementLiouvilleanAveragedCommon(const std::string &keyTitle, KeyLabelsPack &&...keyLabelsPack)
redirect to cpputils::KeyPrinter
std::ostream & displayKey(std::ostream &, size_t &) const
displays the stored key in a nicely tabulated format
ElementLiouvilleanAveragedCommon(const std::string &keyTitle, KeyLabelsInitializer il)
redirect to cpputils::KeyPrinter
size_t length() const
number of elements in the key
Comprises modules for describing quantum systems.
const std::string & getTitle() const
redirect to cpputils::KeyPrinter
Implements LiouvilleanAveragedCommon::displayKey and LiouvilleanAveragedCommon::nAvr with the help of...
const KeyLabels & getLabels() const
redirect to cpputils::KeyPrinter
Defines class of the same name.
Stores and prints a “key” (a.k.a. legend) to data, that is, an explanation to each element of a cer...