The Gaudi Framework  master (9f3f8895)
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 648 of file semantics.py.

Constructor & Destructor Documentation

◆ __init__()

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

Definition at line 653 of file semantics.py.

653 def __init__(self, cpp_type, valueSem=None):
654 super().__init__(cpp_type)
655 self.value_semantics = valueSem or getSemanticsFor(
656 list(extract_template_args(cpp_type))[0]
657 )
658

Member Function Documentation

◆ default()

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

Definition at line 677 of file semantics.py.

677 def default(self, value):
678 new_value = _SetHelper(self.value_semantics)
679 new_value.default = value
680 return new_value
681

◆ 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 690 of file semantics.py.

690 def merge(self, bb, aa):
691 aa |= bb
692 return aa
693
694
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 660 of file semantics.py.

660 def name(self):
661 return self._name
662

◆ name() [2/2]

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

Reimplemented from GaudiConfig2.semantics.PropertySemantics.

Definition at line 664 of file semantics.py.

664 def name(self, value):
665 self._name = value
666 self.value_semantics.name = f"{self._name} element"
667

◆ opt_value()

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

Reimplemented from GaudiConfig2.semantics.PropertySemantics.

Definition at line 682 of file semantics.py.

682 def opt_value(self, value):
683 """
684 Option string version of value.
685 """
686 if not isinstance(value, _SetHelper):
687 value = self.default(value)
688 return value.opt_value()
689

◆ store()

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

Reimplemented from GaudiConfig2.semantics.PropertySemantics.

Definition at line 668 of file semantics.py.

668 def store(self, value):
669 # We support assignment from list for backwards compatibility
670 if not isinstance(value, (set, _SetHelper, list, _ListHelper)):
671 raise TypeError(f"set expected, got {value!r} in assignment to {self.name}")
672
673 new_value = _SetHelper(self.value_semantics)
674 new_value |= value
675 return new_value
676

Member Data Documentation

◆ __handled_types__

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

Definition at line 651 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 655 of file semantics.py.


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