CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
edm::cfi::NodeGuard Struct Reference

#include <ParameterDescriptionNode.h>

Public Member Functions

 NodeGuard (CfiOptions &iOp)
 
 NodeGuard ()=delete
 
 NodeGuard (NodeGuard const &)=delete
 
 NodeGuard (NodeGuard &&iOther)
 
NodeGuardoperator= (NodeGuard const &)=delete
 
NodeGuardoperator= (NodeGuard &&iOther)
 
 ~NodeGuard ()
 

Public Attributes

CfiOptionsoptions_
 

Detailed Description

Definition at line 152 of file ParameterDescriptionNode.h.

Constructor & Destructor Documentation

◆ NodeGuard() [1/4]

edm::cfi::NodeGuard::NodeGuard ( CfiOptions iOp)
inline

Definition at line 153 of file ParameterDescriptionNode.h.

153 : options_(&iOp) {}

◆ NodeGuard() [2/4]

edm::cfi::NodeGuard::NodeGuard ( )
delete

◆ NodeGuard() [3/4]

edm::cfi::NodeGuard::NodeGuard ( NodeGuard const &  )
delete

◆ NodeGuard() [4/4]

edm::cfi::NodeGuard::NodeGuard ( NodeGuard &&  iOther)
inline

Definition at line 157 of file ParameterDescriptionNode.h.

157 : options_{iOther.options_} { iOther.options_ = nullptr; }

◆ ~NodeGuard()

edm::cfi::NodeGuard::~NodeGuard ( )
inline

Definition at line 164 of file ParameterDescriptionNode.h.

References options_.

164  {
165  if (nullptr == options_) {
166  return;
167  }
168  if (std::holds_alternative<ClassFile>(*options_)) {
169  std::get<ClassFile>(*options_).popNode();
170  } else if (std::holds_alternative<Untyped>(*options_)) {
171  std::get<Untyped>(*options_).popNode();
172  }
173  }

Member Function Documentation

◆ operator=() [1/2]

NodeGuard& edm::cfi::NodeGuard::operator= ( NodeGuard const &  )
delete

◆ operator=() [2/2]

NodeGuard& edm::cfi::NodeGuard::operator= ( NodeGuard &&  iOther)
inline

Definition at line 158 of file ParameterDescriptionNode.h.

References eostools::move(), options_, and groupFilesInBlocks::temp.

158  {
159  NodeGuard temp{std::move(iOther)};
160  options_ = temp.options_;
161  temp.options_ = nullptr;
162  return *this;
163  }
def move(src, dest)
Definition: eostools.py:511

Member Data Documentation

◆ options_

CfiOptions* edm::cfi::NodeGuard::options_