CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
edm::ParameterDescription< T > Class Template Reference

#include <ParameterDescription.h>

Inheritance diagram for edm::ParameterDescription< T >:
edm::ParameterDescriptionBase edm::ParameterDescriptionNode

Public Member Functions

ParameterDescriptionNodeclone () const override
 
T getDefaultValue () const
 
 ParameterDescription (std::string const &iLabel, T const &value, bool isTracked, Comment const &iComment=Comment())
 
 ParameterDescription (char const *iLabel, T const &value, bool isTracked, Comment const &iComment=Comment())
 
 ParameterDescription (std::string const &iLabel, bool isTracked, Comment const &iComment=Comment())
 
 ParameterDescription (char const *iLabel, bool isTracked, Comment const &iComment=Comment())
 
 ~ParameterDescription () override
 
- Public Member Functions inherited from edm::ParameterDescriptionBase
bool hasDefault () const
 
bool isTracked () const
 
std::string const & label () const
 
virtual ParameterSetDescription const * parameterSetDescription () const
 
virtual ParameterSetDescriptionparameterSetDescription ()
 
ParameterTypes type () const
 
 ~ParameterDescriptionBase () override
 
- Public Member Functions inherited from edm::ParameterDescriptionNode
void checkAndGetLabelsAndTypes (std::set< std::string > &usedLabels, std::set< ParameterTypes > &parameterTypes, std::set< ParameterTypes > &wildcardTypes) const
 
std::string const & comment () const
 
bool exists (ParameterSet const &pset) const
 
bool hasNestedContent () const
 
int howManyXORSubNodesExist (ParameterSet const &pset) const
 
 ParameterDescriptionNode ()
 
 ParameterDescriptionNode (Comment const &iComment)
 
bool partiallyExists (ParameterSet const &pset) const
 
void print (std::ostream &os, bool optional, bool writeToCfi, DocFormatHelper &dfh) const
 
void printNestedContent (std::ostream &os, bool optional, DocFormatHelper &dfh) const
 
void setComment (std::string const &value)
 
void setComment (char const *value)
 
void validate (ParameterSet &pset, std::set< std::string > &validatedLabels, bool optional) const
 
void writeCfi (std::ostream &os, bool &startWithComma, int indentation, bool &wroteSomething) const
 
virtual ~ParameterDescriptionNode ()
 

Private Member Functions

bool exists_ (ParameterSet const &pset) const override
 
bool exists_ (ParameterSet const &pset, bool isTracked) const override
 
bool hasNestedContent_ () const override
 
void insertDefault_ (ParameterSet &pset) const override
 
void writeCfi_ (std::ostream &os, int indentation) const override
 
void writeDoc_ (std::ostream &os, int indentation) const override
 

Private Attributes

T value_
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::ParameterDescriptionNode
static void printSpaces (std::ostream &os, int n)
 
- Protected Member Functions inherited from edm::ParameterDescriptionBase
 ParameterDescriptionBase (std::string const &iLabel, ParameterTypes iType, bool isTracked, bool hasDefault, Comment const &iComment)
 
 ParameterDescriptionBase (char const *iLabel, ParameterTypes iType, bool isTracked, bool hasDefault, Comment const &iComment)
 
void throwMissingRequiredNoDefault () const
 
void throwParameterWrongTrackiness () const
 
void throwParameterWrongType () const
 
- Protected Attributes inherited from edm::ParameterDescriptionNode
std::string comment_
 

Detailed Description

template<typename T>
class edm::ParameterDescription< T >

Definition at line 99 of file ParameterDescription.h.

Constructor & Destructor Documentation

template<typename T>
edm::ParameterDescription< T >::ParameterDescription ( std::string const &  iLabel,
T const &  value,
bool  isTracked,
Comment const &  iComment = Comment() 
)
inline

Definition at line 102 of file ParameterDescription.h.

Referenced by edm::ParameterDescription< ParameterSetDescription >::insertDefault_(), edm::ParameterDescription< ParameterSetDescription >::ParameterDescription(), and edm::ParameterDescription< std::vector< ParameterSet > >::ParameterDescription().

105  :
106  // WARNING: the toEnum function is intentionally undefined if the template
107  // parameter is ParameterSet or vector<ParameterSet>. Both of these cases
108  // are handled by full template specializations below. In the first case.
109  // ParameterSetDescription should be used instead of ParameterSet.
110  // In the second case the function arguments are completely different.
111  // Note that this template parameter is most often passed through from
112  // an add*<T> function of class ParameterSetDescription. For vector<ParameterSet>
113  // use the addVPSet* versions of those functions.
114  ParameterDescriptionBase(iLabel, ParameterTypeToEnum::toEnum<T>(), isTracked, true, iComment),
115  value_(value) {
116  }
Definition: value.py:1
ParameterDescriptionBase(std::string const &iLabel, ParameterTypes iType, bool isTracked, bool hasDefault, Comment const &iComment)
template<typename T>
edm::ParameterDescription< T >::ParameterDescription ( char const *  iLabel,
T const &  value,
bool  isTracked,
Comment const &  iComment = Comment() 
)
inline

Definition at line 118 of file ParameterDescription.h.

121  :
122  // WARNING: the toEnum function is intentionally undefined if the template
123  // parameter is ParameterSet or vector<ParameterSet>. Both of these cases
124  // are handled by full template specializations below. In the first case.
125  // ParameterSetDescription should be used instead of ParameterSet.
126  // In the second case the function arguments are completely different.
127  // Note that this template parameter is most often passed through from
128  // an add*<T> function of class ParameterSetDescription. For vector<ParameterSet>
129  // use the addVPSet* versions of those functions.
130  ParameterDescriptionBase(iLabel, ParameterTypeToEnum::toEnum<T>(), isTracked, true, iComment),
131  value_(value) {
132  }
Definition: value.py:1
ParameterDescriptionBase(std::string const &iLabel, ParameterTypes iType, bool isTracked, bool hasDefault, Comment const &iComment)
template<typename T>
edm::ParameterDescription< T >::ParameterDescription ( std::string const &  iLabel,
bool  isTracked,
Comment const &  iComment = Comment() 
)
inline

Definition at line 134 of file ParameterDescription.h.

136  :
137  // WARNING: the toEnum function is intentionally undefined if the template
138  // parameter is ParameterSet or vector<ParameterSet>. Both of these cases
139  // are handled by full template specializations below. In the first case.
140  // ParameterSetDescription should be used instead of ParameterSet.
141  // In the second case the function arguments are completely different.
142  // Note that this template parameter is most often passed through from
143  // an add*<T> function of class ParameterSetDescription. For vector<ParameterSet>
144  // use the addVPSet* versions of those functions.
145  ParameterDescriptionBase(iLabel, ParameterTypeToEnum::toEnum<T>(), isTracked, false, iComment),
146  value_() {
147  }
ParameterDescriptionBase(std::string const &iLabel, ParameterTypes iType, bool isTracked, bool hasDefault, Comment const &iComment)
template<typename T>
edm::ParameterDescription< T >::ParameterDescription ( char const *  iLabel,
bool  isTracked,
Comment const &  iComment = Comment() 
)
inline

Definition at line 149 of file ParameterDescription.h.

151  :
152  // WARNING: the toEnum function is intentionally undefined if the template
153  // parameter is ParameterSet or vector<ParameterSet>. Both of these cases
154  // are handled by full template specializations below. In the first case.
155  // ParameterSetDescription should be used instead of ParameterSet.
156  // In the second case the function arguments are completely different.
157  // Note that this template parameter is most often passed through from
158  // an add*<T> function of class ParameterSetDescription. For vector<ParameterSet>
159  // use the addVPSet* versions of those functions.
160  ParameterDescriptionBase(iLabel, ParameterTypeToEnum::toEnum<T>(), isTracked, false, iComment),
161  value_() {
162  }
ParameterDescriptionBase(std::string const &iLabel, ParameterTypes iType, bool isTracked, bool hasDefault, Comment const &iComment)
template<typename T>
edm::ParameterDescription< T >::~ParameterDescription ( )
inlineoverride

Member Function Documentation

template<typename T>
ParameterDescriptionNode* edm::ParameterDescription< T >::clone ( void  ) const
inlineoverridevirtual

Implements edm::ParameterDescriptionNode.

Definition at line 166 of file ParameterDescription.h.

166  {
167  return new ParameterDescription(*this);
168  }
ParameterDescription(std::string const &iLabel, T const &value, bool isTracked, Comment const &iComment=Comment())
template<typename T>
bool edm::ParameterDescription< T >::exists_ ( ParameterSet const &  pset) const
inlineoverrideprivatevirtual
template<typename T>
bool edm::ParameterDescription< T >::exists_ ( ParameterSet const &  pset,
bool  isTracked 
) const
inlineoverrideprivatevirtual

Implements edm::ParameterDescriptionBase.

Definition at line 191 of file ParameterDescription.h.

191  {
192  return pset.existsAs<T>(label(), isTracked);
193  }
long double T
std::string const & label() const
template<typename T>
T edm::ParameterDescription< T >::getDefaultValue ( ) const
inline

Definition at line 170 of file ParameterDescription.h.

template<typename T>
bool edm::ParameterDescription< T >::hasNestedContent_ ( ) const
inlineoverrideprivatevirtual
template<typename T>
void edm::ParameterDescription< T >::insertDefault_ ( ParameterSet pset) const
inlineoverrideprivatevirtual

Implements edm::ParameterDescriptionBase.

Definition at line 195 of file ParameterDescription.h.

Referenced by edm::ParameterDescription< ParameterSetDescription >::exists_(), and edm::ParameterDescription< std::vector< ParameterSet > >::exists_().

195  {
196  if (isTracked()) {
197  pset.addParameter(label(), value_);
198  }
199  else {
200  pset.addUntrackedParameter(label(), value_);
201  }
202  }
std::string const & label() const
template<typename T>
void edm::ParameterDescription< T >::writeCfi_ ( std::ostream &  os,
int  indentation 
) const
inlineoverrideprivatevirtual
template<typename T>
void edm::ParameterDescription< T >::writeDoc_ ( std::ostream &  os,
int  indentation 
) const
inlineoverrideprivatevirtual

Member Data Documentation

template<typename T>
T edm::ParameterDescription< T >::value_
private

Definition at line 204 of file ParameterDescription.h.

Referenced by edm::writeParameterValue::writeValue().