The Gaudi Framework  master (76fc3702)
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 621 of file semantics.py.

Constructor & Destructor Documentation

◆ __init__()

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

Definition at line 626 of file semantics.py.

626 def __init__(self, cpp_type, valueSem=None):
627 super(SetSemantics, self).__init__(cpp_type)
628 self.value_semantics = valueSem or getSemanticsFor(
629 list(extract_template_args(cpp_type))[0]
630 )
631

Member Function Documentation

◆ default()

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

Definition at line 652 of file semantics.py.

652 def default(self, value):
653 new_value = _SetHelper(self.value_semantics)
654 new_value.default = value
655 return new_value
656

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

665 def merge(self, bb, aa):
666 aa |= bb
667 return aa
668
669
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 633 of file semantics.py.

633 def name(self):
634 return self._name
635

◆ name() [2/2]

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

Reimplemented from GaudiConfig2.semantics.PropertySemantics.

Definition at line 637 of file semantics.py.

637 def name(self, value):
638 self._name = value
639 self.value_semantics.name = "{} element".format(self._name)
640
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 657 of file semantics.py.

657 def opt_value(self, value):
658 """
659 Option string version of value.
660 """
661 if not isinstance(value, _SetHelper):
662 value = self.default(value)
663 return value.opt_value()
664

◆ store()

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

Reimplemented from GaudiConfig2.semantics.PropertySemantics.

Definition at line 641 of file semantics.py.

641 def store(self, value):
642 # We support assignment from list for backwards compatibility
643 if not isinstance(value, (set, _SetHelper, list, _ListHelper)):
644 raise TypeError(
645 "set expected, got {!r} in assignment to {}".format(value, self.name)
646 )
647
648 new_value = _SetHelper(self.value_semantics)
649 new_value |= value
650 return new_value
651

Member Data Documentation

◆ __handled_types__

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

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


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