The Gaudi Framework  master (bb4415cc)
Loading...
Searching...
No Matches
GaudiConfig2.semantics.SetSemantics Class Reference
Inheritance diagram for GaudiConfig2.semantics.SetSemantics:
Collaboration diagram for GaudiConfig2.semantics.SetSemantics:

Public Member Functions

 __init__ (self, cpp_type, valueSem=None)
 name (self)
 name (self, value)
 store (self, value)
 default (self, value)
 opt_value (self, value)
 merge (self, bb, aa)
Public Member Functions inherited from GaudiConfig2.semantics.PropertySemantics
 __init__ (self, cpp_type)
 cpp_type (self)
 cpp_type (self, value)
 load (self, value)
 is_set (self, value)

Public Attributes

 value_semantics
Public Attributes inherited from GaudiConfig2.semantics.PropertySemantics
 cpp_type = cpp_type

Static Private Attributes

tuple __handled_types__ = (re.compile(r"(std::)?unordered_set<.*>$"),)

Additional Inherited Members

Protected Attributes inherited from GaudiConfig2.semantics.PropertySemantics
 _name = None
 _cpp_type = value

Detailed Description

Merge semantics for (unordered) sets.

Definition at line 662 of file semantics.py.

Constructor & Destructor Documentation

◆ __init__()

GaudiConfig2.semantics.SetSemantics.__init__ ( self,
cpp_type,
valueSem = None )

Definition at line 667 of file semantics.py.

667 def __init__(self, cpp_type, valueSem=None):
668 super(SetSemantics, self).__init__(cpp_type)
669 self.value_semantics = valueSem or getSemanticsFor(
670 list(extract_template_args(cpp_type))[0]
671 )
672

Member Function Documentation

◆ default()

GaudiConfig2.semantics.SetSemantics.default ( self,
value )

Definition at line 693 of file semantics.py.

693 def default(self, value):
694 new_value = _SetHelper(self.value_semantics)
695 new_value.default = value
696 return new_value
697

◆ merge()

GaudiConfig2.semantics.SetSemantics.merge ( self,
a,
b )
"Merge" two values.

Used when merging two Configurable instances, by default just ensure
the two values do not conflict, but it can be overridden in
derived semantics to, for example, append to the two lists.

Reimplemented from GaudiConfig2.semantics.PropertySemantics.

Definition at line 706 of file semantics.py.

706 def merge(self, bb, aa):
707 aa |= bb
708 return aa
709
710
int merge(const char *target, const char *source, bool fixup=false, bool dbg=true)
Definition merge.C:417

◆ name() [1/2]

GaudiConfig2.semantics.SetSemantics.name ( self)

Reimplemented from GaudiConfig2.semantics.PropertySemantics.

Definition at line 674 of file semantics.py.

674 def name(self):
675 return self._name
676

◆ name() [2/2]

GaudiConfig2.semantics.SetSemantics.name ( self,
value )

Reimplemented from GaudiConfig2.semantics.PropertySemantics.

Definition at line 678 of file semantics.py.

678 def name(self, value):
679 self._name = value
680 self.value_semantics.name = "{} element".format(self._name)
681
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
Definition MsgStream.cpp:93

◆ opt_value()

GaudiConfig2.semantics.SetSemantics.opt_value ( self,
value )
Option string version of value.

Reimplemented from GaudiConfig2.semantics.PropertySemantics.

Definition at line 698 of file semantics.py.

698 def opt_value(self, value):
699 """
700 Option string version of value.
701 """
702 if not isinstance(value, _SetHelper):
703 value = self.default(value)
704 return value.opt_value()
705

◆ store()

GaudiConfig2.semantics.SetSemantics.store ( self,
value )
Validation/transformation of the data to be stored.

Reimplemented from GaudiConfig2.semantics.PropertySemantics.

Definition at line 682 of file semantics.py.

682 def store(self, value):
683 # We support assignment from list for backwards compatibility
684 if not isinstance(value, (set, _SetHelper, list, _ListHelper)):
685 raise TypeError(
686 "set expected, got {!r} in assignment to {}".format(value, self.name)
687 )
688
689 new_value = _SetHelper(self.value_semantics)
690 new_value |= value
691 return new_value
692

Member Data Documentation

◆ __handled_types__

tuple GaudiConfig2.semantics.SetSemantics.__handled_types__ = (re.compile(r"(std::)?unordered_set<.*>$"),)
staticprivate

Definition at line 665 of file semantics.py.

◆ value_semantics

GaudiConfig2.semantics.SetSemantics.value_semantics
Initial value:
= valueSem or getSemanticsFor(
list(extract_template_args(cpp_type))[0]
)

Definition at line 669 of file semantics.py.


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