Version: SMASH-2.2
smash::Configuration::Value Class Reference

#include <configuration.h>

Return type of Configuration::take that automatically determines the target type.

This class is an implementation detail of Configuration and can be ignored by users of Configuration.

Definition at line 506 of file configuration.h.

Collaboration diagram for smash::Configuration::Value:
[legend]

Public Member Functions

 Value (const Value &)=delete
 If you want to copy this you're doing it wrong. More...
 
Valueoperator= (const Value &)=delete
 If you want to copy this you're doing it wrong. More...
 
template<typename T >
convert_for (const T &) const
 Convert the value to the type of the supplied argument. More...
 
template<typename T >
 operator T () const
 This function determines the type it is assigned to and calls YAML::Node::as<T>() with this type. More...
 
template<typename T >
 operator std::vector< T > () const
 Check conversion exceptions. More...
 
template<typename T , size_t N>
 operator std::array< T, N > () const
 Cast array of keys to a std::array of length N. More...
 
 operator ReactionsBitSet () const
 Set ReactionBitSet from configuration values. More...
 
 operator MultiParticleReactionsBitSet () const
 Set MultiParticleReactionsBitSet from configuration values. More...
 
 operator std::set< ThermodynamicQuantity > () const
 Set thermodynamic quantity from configuration values. More...
 
 operator CalculationFrame () const
 Set calculation frame from configuration values. More...
 
 operator FermiMotion () const
 (De-)Activate Fermi motion from configuration values. More...
 
 operator DensityType () const
 Set density type from configuration values. More...
 
 operator ExpansionMode () const
 Set expansion mode from configuration values. More...
 
 operator DerivativesMode () const
 Set DerivativesMode. More...
 
 operator RestFrameDensityDerivativesMode () const
 Set RestFrameDensityDerivatives mode. More...
 
 operator FieldDerivativesMode () const
 Set FieldDerivatives mode. More...
 
 operator SmearingMode () const
 Set SmearingMode. More...
 
 operator TimeStepMode () const
 Set time step mode from configuration values. More...
 
 operator BoxInitialCondition () const
 Set initial condition for box setup from configuration values. More...
 
 operator SphereInitialCondition () const
 Set initial condition for sphere setup from configuration values. More...
 
 operator NNbarTreatment () const
 Set treatment of N-Nbar reactions from configuration values. More...
 
 operator Sampling () const
 Set cross-section sampling method from configuration values. More...
 
 operator ThermalizationAlgorithm () const
 Set algorithm for forced thermalization from configuration values. More...
 
 operator CollisionCriterion () const
 Set collision criterion from configuration values. More...
 
 operator OutputOnlyFinal () const
 Set OutputOnlyFinal for particles output from configuration values. More...
 

Private Member Functions

 Value (const YAML::Node &n, const char *key)
 Constructs the Value wrapper from a YAML::Node. More...
 

Private Attributes

const YAML::Node node_
 a YAML leaf node More...
 
const char *const key_
 The key to be interpreted. More...
 

Friends

class Configuration
 

Constructor & Destructor Documentation

◆ Value() [1/2]

smash::Configuration::Value::Value ( const YAML::Node &  n,
const char *  key 
)
inlineprivate

Constructs the Value wrapper from a YAML::Node.

Note
This constructor must be implicit, otherwise it's impossible to return an rvalue Value object - because the copy constructor is deleted.

Definition at line 520 of file configuration.h.

520  : node_(n), key_(key) {
521  if (!(n.IsScalar() || n.IsSequence() || n.IsMap())) {
522  std::stringstream err;
523  err << "Configuration value for \"" << key
524  << "\" is missing or invalid";
525  throw std::runtime_error(err.str());
526  }
527  }
const char *const key_
The key to be interpreted.
const YAML::Node node_
a YAML leaf node
constexpr int n
Neutron.

◆ Value() [2/2]

smash::Configuration::Value::Value ( const Value )
delete

If you want to copy this you're doing it wrong.

Member Function Documentation

◆ operator=()

Value& smash::Configuration::Value::operator= ( const Value )
delete

If you want to copy this you're doing it wrong.

◆ convert_for()

template<typename T >
T smash::Configuration::Value::convert_for ( const T &  ) const
inline

Convert the value to the type of the supplied argument.

The argument itself is not used other than to determine its type. This function is necessary because in some situations the overload resolution rules lead to the correct conversion becoming hidden. Then you'll see a compiler error with a list of ambiguous constructor calls as candidates. Use this function as a workaround. Example:

// this doesn't compile:
const PdgCode code0(config.take({"key"}));
// this compiles (because PdgCode::operator= is not overloaded), but note
// that it cannot be used in constructor initializer lists:
const PdgCode code1 = config.take({"key"});
// Thus, for class member variables use the following pattern:
class X {
public:
X() : code_(config.take({"key"}).convert_for(code_)) {}
private:
const PdgCode code_;
};
T convert_for(const T &) const
Convert the value to the type of the supplied argument.
Value take(std::initializer_list< const char * > keys)
The default interface for SMASH to read configuration values.

Definition at line 562 of file configuration.h.

562  {
563  return *this;
564  }

◆ operator T()

template<typename T >
smash::Configuration::Value::operator T ( ) const
inline

This function determines the type it is assigned to and calls YAML::Node::as<T>() with this type.

This makes reading values more convenient than calling as<type>() explicitly.

Exceptions
IncorrectTypeInAssignment

Definition at line 575 of file configuration.h.

575  {
576  try {
577  return node_.as<T>();
578  } catch (YAML::TypedBadConversion<T> &e) {
579  throw IncorrectTypeInAssignment(
580  "The value for key \"" + std::string(key_) +
581  "\" cannot be converted to the requested type.");
582  }
583  }

◆ operator std::vector< T >()

template<typename T >
smash::Configuration::Value::operator std::vector< T > ( ) const
inline

Check conversion exceptions.

Exceptions
IncorrectTypeInAssignmentin case type conversion failed.

Definition at line 591 of file configuration.h.

591  {
592  try {
593  return node_.as<std::vector<T>>();
594  } catch (YAML::TypedBadConversion<T> &e) {
595  throw IncorrectTypeInAssignment(
596  "One of the values in the sequence for key \"" + std::string(key_) +
597  "\" failed to convert to the requested type. E.g. [1 2] is a "
598  "sequence of one string \"1 2\" and [1, 2] is a sequence of two "
599  "integers. Often there is just a comma missing in the config "
600  "file.");
601  } catch (YAML::TypedBadConversion<std::vector<T>> &e) {
602  throw IncorrectTypeInAssignment(
603  "The value for key \"" + std::string(key_) +
604  "\" cannot be converted to the requested type. A sequence was "
605  "expected but apparently not found.");
606  }
607  }

◆ operator std::array< T, N >()

template<typename T , size_t N>
smash::Configuration::Value::operator std::array< T, N > ( ) const
inline

Cast array of keys to a std::array of length N.

Returns
Array of std::array type.
Exceptions
IncorrectTypeInAssignmentin case the number of keys does not match the length of the newly generated array.

Definition at line 617 of file configuration.h.

617  {
618  const std::vector<T> vec = operator std::vector<T>();
619  const size_t n_read = vec.size();
620  // Alert if size does not match
621  if (n_read != N) {
622  throw IncorrectTypeInAssignment("Wrong number of values in array \"" +
623  std::string(key_) + "\". Expected " +
624  std::to_string(N) +
625  " values,"
626  " found " +
627  std::to_string(n_read) + ".");
628  }
629  std::array<T, N> arr;
630  std::copy_n(vec.begin(), N, arr.begin());
631  return arr;
632  }

◆ operator ReactionsBitSet()

smash::Configuration::Value::operator ReactionsBitSet ( ) const
inline

Set ReactionBitSet from configuration values.

Returns
ReactionBitSet with all included reaction types.
Exceptions
IncorrectTypeInAssignmentin case a reaction type that is not available is provided as a configuration value.

Definition at line 641 of file configuration.h.

641  {
642  const std::vector<std::string> v = operator std::vector<std::string>();
643  ReactionsBitSet s;
644  for (const auto &x : v) {
645  if (x == "All") {
646  s.set();
647  break;
648  } else if (x == "Elastic") {
650  } else if (x == "NN_to_NR") {
652  } else if (x == "NN_to_DR") {
654  } else if (x == "KN_to_KN") {
656  } else if (x == "KN_to_KDelta") {
658  } else if (x == "Strangeness_exchange") {
660  } else if (x == "NNbar") {
662  } else if (x == "PiDeuteron_to_NN") {
664  } else if (x == "PiDeuteron_to_pidprime") {
666  } else if (x == "NDeuteron_to_Ndprime") {
668  } else {
669  throw IncorrectTypeInAssignment(
670  "The value for key \"" + std::string(key_) +
671  "\" should be \"All\", \"Elastic\", \"NN_to_NR\", \"NN_to_DR\","
672  "\"KN_to_KN\", \"KN_to_KDelta\", \"PiDeuteron_to_NN\", "
673  "\"PiDeuteron_to_pidprime\", \"NDeuteron_to_Ndprime\", "
674  "\"Strangeness_exchange\" or "
675  "\"NNbar\", or any combination of these.");
676  }
677  }
678  return s;
679  }
std::bitset< 10 > ReactionsBitSet
Container for the 2 to 2 reactions in the code.
@ KN_to_KDelta
@ KN_to_KN
@ NN_to_NR
@ PiDeuteron_to_pidprime
@ NDeuteron_to_Ndprime
@ Strangeness_exchange
@ PiDeuteron_to_NN
@ NN_to_DR

◆ operator MultiParticleReactionsBitSet()

smash::Configuration::Value::operator MultiParticleReactionsBitSet ( ) const
inline

Set MultiParticleReactionsBitSet from configuration values.

Returns
MultiParticleReactionsBitSet with all included reaction types.
Exceptions
IncorrectTypeInAssignmentin case a reaction type that is not available is provided as a configuration value.

Definition at line 688 of file configuration.h.

688  {
689  const std::vector<std::string> v = operator std::vector<std::string>();
691  for (const auto &x : v) {
692  if (x == "All") {
693  s.set();
694  break;
695  } else if (x == "Meson_3to1") {
697  } else if (x == "Deuteron_3to2") {
699  } else if (x == "NNbar_5to2") {
701  } else if (x == "A3_Nuclei_4to2") {
703  } else {
704  throw IncorrectTypeInAssignment(
705  "The value for key \"" + std::string(key_) +
706  "\" should be \"All\", \"Meson_3to1\", "
707  "\"Deuteron_3to2\" or \"NNbar_5to2\", "
708  "\"A3_Nuclei_4to2\", or any combination of "
709  "these.");
710  }
711  }
712  return s;
713  }
std::bitset< 4 > MultiParticleReactionsBitSet
Container for the n to m reactions in the code.
@ NNbar_5to2
@ A3_Nuclei_4to2
@ Deuteron_3to2
@ Meson_3to1

◆ operator std::set< ThermodynamicQuantity >()

smash::Configuration::Value::operator std::set< ThermodynamicQuantity > ( ) const
inline

Set thermodynamic quantity from configuration values.

Returns
Set of thermodynamic quantity.
Exceptions
IncorrectTypeInAssignmentin case a thermodynamic quantity that is not available is provided as a configuration value.

Definition at line 722 of file configuration.h.

722  {
723  const std::vector<std::string> v = operator std::vector<std::string>();
724  std::set<ThermodynamicQuantity> s;
725  for (const auto &x : v) {
726  if (x == "rho_eckart") {
728  } else if (x == "tmn") {
729  s.insert(ThermodynamicQuantity::Tmn);
730  } else if (x == "tmn_landau") {
732  } else if (x == "landau_velocity") {
734  } else if (x == "j_QBS") {
736  } else {
737  throw IncorrectTypeInAssignment(
738  "The value for key \"" + std::string(key_) +
739  "\" should be \"rho_eckart\", \"tmn\""
740  ", \"tmn_landau\", \"landau_velocity\" or \"j_QBS\".");
741  }
742  }
743  return s;
744  }

◆ operator CalculationFrame()

smash::Configuration::Value::operator CalculationFrame ( ) const
inline

Set calculation frame from configuration values.

Returns
string of calculation frame.
Exceptions
IncorrectTypeInAssignmentin case a calculation frame that is not available is provided as a configuration value.

Definition at line 753 of file configuration.h.

753  {
754  const std::string s = operator std::string();
755  if (s == "center of velocity") {
757  }
758  if (s == "center of mass") {
760  }
761  if (s == "fixed target") {
763  }
764  throw IncorrectTypeInAssignment(
765  "The value for key \"" + std::string(key_) +
766  "\" should be \"center of velocity\" or \"center of mass\" "
767  "or \"fixed target\".");
768  }

◆ operator FermiMotion()

smash::Configuration::Value::operator FermiMotion ( ) const
inline

(De-)Activate Fermi motion from configuration values.

Returns
Fermi motion setup.
Exceptions
IncorrectTypeInAssignmentin case a Fermi motion value that is not available is provided as a configuration value.

Definition at line 777 of file configuration.h.

777  {
778  const std::string s = operator std::string();
779  if (s == "off") {
780  return FermiMotion::Off;
781  }
782  if (s == "on") {
783  return FermiMotion::On;
784  }
785  if (s == "frozen") {
786  return FermiMotion::Frozen;
787  }
788  throw IncorrectTypeInAssignment(
789  "The value for key \"" + std::string(key_) +
790  "\" should be \"off\" or \"on\" or \"frozen\".");
791  }
@ On
Use fermi motion in combination with potentials.
@ Frozen
Use fermi motion without potentials.
@ Off
Don't use fermi motion.

◆ operator DensityType()

smash::Configuration::Value::operator DensityType ( ) const
inline

Set density type from configuration values.

Returns
Density type.
Exceptions
IncorrectTypeInAssignmentin case a density type that is not available is provided as a configuration value.

Definition at line 800 of file configuration.h.

800  {
801  const std::string s = operator std::string();
802  if (s == "hadron") {
803  return DensityType::Hadron;
804  }
805  if (s == "baryon") {
806  return DensityType::Baryon;
807  }
808  if (s == "baryonic isospin") {
810  }
811  if (s == "pion") {
812  return DensityType::Pion;
813  }
814  if (s == "total isospin") {
816  }
817  if (s == "none") {
818  return DensityType::None;
819  }
820  throw IncorrectTypeInAssignment("The value for key \"" +
821  std::string(key_) +
822  "\" should be \"hadron\" or \"baryon\" "
823  "or \"baryonic isospin\" or \"pion\" "
824  "or \"none\".");
825  }

◆ operator ExpansionMode()

smash::Configuration::Value::operator ExpansionMode ( ) const
inline

Set expansion mode from configuration values.

Returns
Expansion mode.
Exceptions
IncorrectTypeInAssignmentin case an expansion mode that is not available is provided as a configuration value.

Definition at line 834 of file configuration.h.

834  {
835  const std::string s = operator std::string();
836  if (s == "NoExpansion") {
838  }
839  if (s == "MasslessFRW") {
841  }
842  if (s == "MassiveFRW") {
844  }
845  if (s == "Exponential") {
847  }
848  throw IncorrectTypeInAssignment(
849  "The value for key \"" + std::string(key_) +
850  "\" should be \"NoExpansion\", \"MasslessFRW\"," +
851  "\"MassiveFRW\" or \"Exponential\".");
852  }

◆ operator DerivativesMode()

smash::Configuration::Value::operator DerivativesMode ( ) const
inline

Set DerivativesMode.

Definition at line 857 of file configuration.h.

857  {
858  const std::string s = operator std::string();
859  if (s == "Covariant Gaussian") {
861  }
862  if (s == "Finite difference") {
864  }
865  if (s == "Off") {
866  return DerivativesMode::Off;
867  }
868  throw IncorrectTypeInAssignment(
869  "The value for key \"" + std::string(key_) +
870  "\" should be \"Covariant Gaussian\", \"Finite difference\"," +
871  " or \"Off\".");
872  }

◆ operator RestFrameDensityDerivativesMode()

smash::Configuration::Value::operator RestFrameDensityDerivativesMode ( ) const
inline

Set RestFrameDensityDerivatives mode.

Definition at line 877 of file configuration.h.

877  {
878  const std::string s = operator std::string();
879  if (s == "On") {
881  }
882  if (s == "Off") {
884  }
885  throw IncorrectTypeInAssignment("The value for key \"" +
886  std::string(key_) +
887  "\" should be \"On\" or \"Off\".");
888  }

◆ operator FieldDerivativesMode()

smash::Configuration::Value::operator FieldDerivativesMode ( ) const
inline

Set FieldDerivatives mode.

Definition at line 893 of file configuration.h.

893  {
894  const std::string s = operator std::string();
895  if (s == "Chain Rule") {
897  }
898  if (s == "Direct") {
900  }
901  throw IncorrectTypeInAssignment(
902  "The value for key \"" + std::string(key_) +
903  "\" should be \"Chain Rule\" or \"Direct\".");
904  }

◆ operator SmearingMode()

smash::Configuration::Value::operator SmearingMode ( ) const
inline

Set SmearingMode.

Definition at line 909 of file configuration.h.

909  {
910  const std::string s = operator std::string();
911  if (s == "Covariant Gaussian") {
913  }
914  if (s == "Discrete") {
915  return SmearingMode::Discrete;
916  }
917  if (s == "Triangular") {
919  }
920  throw IncorrectTypeInAssignment(
921  "The value for key \"" + std::string(key_) +
922  "\" should be \"Covariant Gaussian\", \"Discrete\"," +
923  " or \"Triangular\".");
924  }

◆ operator TimeStepMode()

smash::Configuration::Value::operator TimeStepMode ( ) const
inline

Set time step mode from configuration values.

Returns
time step mode.
Exceptions
IncorrectTypeInAssignmentin case a time step mode that is not available is provided as a configuration value.

Definition at line 933 of file configuration.h.

933  {
934  const std::string s = operator std::string();
935  if (s == "None") {
936  return TimeStepMode::None;
937  }
938  if (s == "Fixed") {
939  return TimeStepMode::Fixed;
940  }
941  throw IncorrectTypeInAssignment("The value for key \"" +
942  std::string(key_) +
943  "\" should be \"None\" or \"Fixed\".");
944  }
@ Fixed
Use fixed time step.
@ None
Don't use time steps; propagate from action to action.

◆ operator BoxInitialCondition()

smash::Configuration::Value::operator BoxInitialCondition ( ) const
inline

Set initial condition for box setup from configuration values.

Returns
Initial condition for box setup.
Exceptions
IncorrectTypeInAssignmentin case an initial conditions that is not available is provided as a configuration value.

Definition at line 953 of file configuration.h.

953  {
954  const std::string s = operator std::string();
955  if (s == "thermal momenta") {
957  }
958  if (s == "thermal momenta quantum") {
960  }
961  if (s == "peaked momenta") {
963  }
964  throw IncorrectTypeInAssignment(
965  "The value for key \"" + std::string(key_) +
966  "\" should be \"thermal momenta\", \"thermal momenta quantum\", " +
967  "or \"peaked momenta\".");
968  }

◆ operator SphereInitialCondition()

smash::Configuration::Value::operator SphereInitialCondition ( ) const
inline

Set initial condition for sphere setup from configuration values.

Returns
Initial condition for sphere setup.
Exceptions
IncorrectTypeInAssignmentin case an initial conditions that is not available is provided as a configuration value.

Definition at line 977 of file configuration.h.

977  {
978  const std::string s = operator std::string();
979  if (s == "thermal momenta") {
981  }
982  if (s == "thermal momenta quantum") {
984  }
985  if (s == "IC_ES") {
987  }
988  if (s == "IC_1M") {
990  }
991  if (s == "IC_2M") {
993  }
994  if (s == "IC_Massive") {
996  }
997  throw IncorrectTypeInAssignment(
998  "The value for key \"" + std::string(key_) +
999  "\" should be \"thermal momenta\", \"thermal momenta quantum\", " +
1000  "\"IC_ES\", \"IC_1M\", \"IC_2M\" or" + "\"IC_Massive\".");
1001  }

◆ operator NNbarTreatment()

smash::Configuration::Value::operator NNbarTreatment ( ) const
inline

Set treatment of N-Nbar reactions from configuration values.

Returns
N-Nbar treatment.
Exceptions
IncorrectTypeInAssignmentin case an N-Nbar treatment that is not available is provided as a configuration value.

Definition at line 1010 of file configuration.h.

1010  {
1011  const std::string s = operator std::string();
1012  if (s == "no annihilation") {
1014  }
1015  if (s == "resonances") {
1017  }
1018  if (s == "two to five") {
1020  }
1021  if (s == "strings") {
1022  return NNbarTreatment::Strings;
1023  }
1024  throw IncorrectTypeInAssignment(
1025  "The value for key \"" + std::string(key_) + "\" should be " +
1026  "\"no annihilation\", \"resonances\", \"two to five\" or " +
1027  " \"strings\".");
1028  }
@ NoAnnihilation
No Annihilation.
@ TwoToFive
Directly create 5 pions, use with multi-particle reactions.
@ Resonances
Use intermediate Resonances.
@ Strings
Use string fragmentation.

◆ operator Sampling()

smash::Configuration::Value::operator Sampling ( ) const
inline

Set cross-section sampling method from configuration values.

Returns
Sampling method of cross-section.
Exceptions
IncorrectTypeInAssignmentin case a sampling method that is not available is provided as a configuration value.

Definition at line 1037 of file configuration.h.

1037  {
1038  const std::string s = operator std::string();
1039  if (s == "quadratic") {
1040  return Sampling::Quadratic;
1041  }
1042  if (s == "custom") {
1043  return Sampling::Custom;
1044  }
1045  if (s == "uniform") {
1046  return Sampling::Uniform;
1047  }
1048  throw IncorrectTypeInAssignment(
1049  "The value for key \"" + std::string(key_) +
1050  "\" should be \"quadratic\", \"uniform\" or \"custom\".");
1051  }
@ Quadratic
Sample from areal / quadratic distribution.
@ Custom
Sample from custom, user-defined distribution.
@ Uniform
Sample from uniform distribution.

◆ operator ThermalizationAlgorithm()

smash::Configuration::Value::operator ThermalizationAlgorithm ( ) const
inline

Set algorithm for forced thermalization from configuration values.

Returns
Algorithm for forced thermalization.
Exceptions
IncorrectTypeInAssignmentin case a thermalization algorithm that is not available is provided as a configuration value.

Definition at line 1060 of file configuration.h.

1060  {
1061  const std::string s = operator std::string();
1062  if (s == "mode sampling") {
1064  }
1065  if (s == "biased BF") {
1067  }
1068  if (s == "unbiased BF") {
1070  }
1071  throw IncorrectTypeInAssignment(
1072  "The value for key \"" + std::string(key_) +
1073  "\" should be \"mode sampling\", \"biased BF\" or \"unbiased BF\".");
1074  }

◆ operator CollisionCriterion()

smash::Configuration::Value::operator CollisionCriterion ( ) const
inline

Set collision criterion from configuration values.

Returns
CollisionCriterion.
Exceptions
IncorrectTypeInAssignmentin case an collision criterion that is not available is provided as a configuration value.

Definition at line 1083 of file configuration.h.

1083  {
1084  const std::string s = operator std::string();
1085  if (s == "Geometric") {
1087  }
1088  if (s == "Stochastic") {
1090  }
1091  if (s == "Covariant") {
1093  }
1094  throw IncorrectTypeInAssignment(
1095  "The value for key \"" + std::string(key_) + "\" should be " +
1096  "\"Geometric\", \"Stochastic\" " + "or \"Covariant\".");
1097  }
@ Stochastic
Stochastic Criteiron.
@ Geometric
(Default) geometric criterion.
@ Covariant
Covariant Criterion.

◆ operator OutputOnlyFinal()

smash::Configuration::Value::operator OutputOnlyFinal ( ) const
inline

Set OutputOnlyFinal for particles output from configuration values.

Returns
OutputOnlyFinal.
Exceptions
IncorrectTypeInAssignmentin case only_final value that is not available is provided as a configuration value.

Definition at line 1106 of file configuration.h.

1106  {
1107  const std::string s = operator std::string();
1108  if (s == "Yes") {
1109  return OutputOnlyFinal::Yes;
1110  }
1111  if (s == "No") {
1112  return OutputOnlyFinal::No;
1113  }
1114  if (s == "IfNotEmpty") {
1116  }
1117  throw IncorrectTypeInAssignment("The value for key \"" +
1118  std::string(key_) + "\" should be " +
1119  "\"Yes\", \"No\" or \"IfNotEmpty\".");
1120  }
@ IfNotEmpty
Print only final-state particles, and those only if the event is not empty.
@ Yes
Print only final-state particles.
@ No
Print initial, intermediate and final-state particles.

Friends And Related Function Documentation

◆ Configuration

friend class Configuration
friend

Definition at line 507 of file configuration.h.

Member Data Documentation

◆ node_

const YAML::Node smash::Configuration::Value::node_
private

a YAML leaf node

Todo:
(steinberg) What is that?

Definition at line 510 of file configuration.h.

◆ key_

const char* const smash::Configuration::Value::key_
private

The key to be interpreted.

Definition at line 512 of file configuration.h.


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