CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
List of all members | Public Member Functions | Public Attributes
DDValue::StringHolder Struct Reference

Only used internally. More...

Public Member Functions

StringHolderoperator= (const StringHolder &)=delete
 
 StringHolder ()
 
 StringHolder (std::string iString)
 
 StringHolder (StringHolder const &iOther)
 
 ~StringHolder ()
 

Public Attributes

std::atomic< std::string * > string_
 

Detailed Description

Only used internally.

Definition at line 88 of file DDValue.h.

Constructor & Destructor Documentation

◆ StringHolder() [1/3]

DDValue::StringHolder::StringHolder ( )
inline

Definition at line 89 of file DDValue.h.

89 {}

◆ StringHolder() [2/3]

DDValue::StringHolder::StringHolder ( std::string  iString)
inlineexplicit

Definition at line 90 of file DDValue.h.

References eostools::move().

90 : string_(new std::string{std::move(iString)}) {}
std::atomic< std::string * > string_
Definition: DDValue.h:95
def move(src, dest)
Definition: eostools.py:511

◆ StringHolder() [3/3]

DDValue::StringHolder::StringHolder ( StringHolder const &  iOther)
inlineexplicit

Definition at line 91 of file DDValue.h.

References string_.

91 : string_(new std::string{*(iOther.string_)}) {}
std::atomic< std::string * > string_
Definition: DDValue.h:95

◆ ~StringHolder()

DDValue::StringHolder::~StringHolder ( )
inline

Definition at line 93 of file DDValue.h.

References string_.

93 { delete string_.load(); }
std::atomic< std::string * > string_
Definition: DDValue.h:95

Member Function Documentation

◆ operator=()

StringHolder& DDValue::StringHolder::operator= ( const StringHolder )
delete

Member Data Documentation

◆ string_

std::atomic<std::string*> DDValue::StringHolder::string_

Definition at line 95 of file DDValue.h.

Referenced by StringHolder(), and ~StringHolder().