CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
edm::signalslot::Signal< T > Class Template Reference

#include <Signal.h>

Public Types

typedef std::vector< slot_typeslot_list_type
 
typedef std::function< Tslot_type
 

Public Member Functions

template<typename U >
void connect (U iFunc)
 
template<typename U >
void connect_front (U iFunc)
 
template<typename... Args>
void emit (Args &&...args) const
 
template<typename... Args>
void operator() (Args &&...args) const
 
 Signal ()=default
 
slot_list_type const & slots () const
 
 ~Signal ()=default
 

Private Member Functions

const Signaloperator= (const Signal &)=delete
 
 Signal (const Signal &)=delete
 

Private Attributes

slot_list_type m_slots
 

Detailed Description

template<typename T>
class edm::signalslot::Signal< T >

Definition at line 35 of file Signal.h.

Member Typedef Documentation

template<typename T>
typedef std::vector<slot_type> edm::signalslot::Signal< T >::slot_list_type

Definition at line 40 of file Signal.h.

template<typename T>
typedef std::function<T> edm::signalslot::Signal< T >::slot_type

Definition at line 39 of file Signal.h.

Constructor & Destructor Documentation

template<typename T>
edm::signalslot::Signal< T >::Signal ( )
default
template<typename T>
edm::signalslot::Signal< T >::~Signal ( )
default
template<typename T>
edm::signalslot::Signal< T >::Signal ( const Signal< T > &  )
privatedelete

Member Function Documentation

template<typename T>
template<typename U >
void edm::signalslot::Signal< T >::connect ( iFunc)
inline

Definition at line 63 of file Signal.h.

Referenced by Vispa.Gui.ZoomableScrollArea.ZoomableScrollArea::__init__(), Vispa.Views.PropertyView.BooleanProperty::__init__(), Vispa.Gui.FindDialog.FindDialog::_addScript(), Vispa.Gui.FindDialog.FindDialog::_addStringProperty(), Vispa.Main.Application.Application::_connectSignals(), Vispa.Plugins.ConfigEditor.CodeTableView.CodeTableView::_createItem(), Vispa.Gui.BoxContentDialog.BoxContentDialog::addButton(), Vispa.Gui.ToolBoxContainer.ToolBoxContainer::addWidget(), Vispa.Views.PropertyView.PropertyView::append(), Vispa.Views.PropertyView.PropertyView::appendAddRow(), edm::ActivityRegistry::connectGlobals(), edm::ActivityRegistry::connectLocals(), Vispa.Main.Application.Application::createAction(), Vispa.Views.PropertyView.TextEditWithButtonProperty::createButton(), Vispa.Views.LineDecayView.LineDecayView::createLineDecayContainer(), Vispa.Views.PropertyView.TextEditWithButtonProperty::createLineEdit(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.PropertyView.TextEditWithButtonProperty::createTextEdit(), DQMStore::DQMStore(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::filterDialog(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Gui.PortWidget.PortWidget::mouseMoveEvent(), PrintLoadingPlugins::PrintLoadingPlugins(), Vispa.Views.PropertyView.BooleanProperty::setChecked(), Vispa.Main.SplitterTab.SplitterTab::setController(), Vispa.Plugins.Browser.BrowserTab.BrowserTab::setController(), Vispa.Views.PropertyView.BooleanProperty::setReadOnly(), Vispa.Views.PropertyView.DropDownProperty::setReadOnly(), Vispa.Views.PropertyView.TextEditWithButtonProperty::setReadOnly(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::setTab(), Vispa.Views.PropertyView.IntegerProperty::setValue(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::switchCenterView(), edm::service::Timing::Timing(), edm::service::Tracer::Tracer(), Vispa.Plugins.EdmBrowser.EdmBrowserTabController.EdmBrowserTabController::updateViewMenu(), Vispa.Plugins.ConfigEditor.ConfigEditorTabController.ConfigEditorTabController::updateViewMenu(), edm::ActivityRegistry::watchPostBeginJob(), edm::ActivityRegistry::watchPreallocate(), edm::ActivityRegistry::watchPreBeginJob(), edm::ActivityRegistry::watchPreCloseFile(), edm::ActivityRegistry::watchPreEvent(), edm::ActivityRegistry::watchPreGlobalBeginLumi(), edm::ActivityRegistry::watchPreGlobalBeginRun(), edm::ActivityRegistry::watchPreGlobalEarlyTermination(), edm::ActivityRegistry::watchPreGlobalEndLumi(), edm::ActivityRegistry::watchPreGlobalEndRun(), edm::ActivityRegistry::watchPreModuleBeginJob(), edm::ActivityRegistry::watchPreModuleBeginStream(), edm::ActivityRegistry::watchPreModuleConstruction(), edm::ActivityRegistry::watchPreModuleEndJob(), edm::ActivityRegistry::watchPreModuleEndStream(), edm::ActivityRegistry::watchPreModuleEvent(), edm::ActivityRegistry::watchPreModuleEventDelayedGet(), edm::ActivityRegistry::watchPreModuleGlobalBeginLumi(), edm::ActivityRegistry::watchPreModuleGlobalBeginRun(), edm::ActivityRegistry::watchPreModuleGlobalEndLumi(), edm::ActivityRegistry::watchPreModuleGlobalEndRun(), edm::ActivityRegistry::watchPreModuleStreamBeginLumi(), edm::ActivityRegistry::watchPreModuleStreamBeginRun(), edm::ActivityRegistry::watchPreModuleStreamEndLumi(), edm::ActivityRegistry::watchPreModuleStreamEndRun(), edm::ActivityRegistry::watchPreOpenFile(), edm::ActivityRegistry::watchPrePathEvent(), edm::ActivityRegistry::watchPreSourceConstruction(), edm::ActivityRegistry::watchPreSourceEarlyTermination(), edm::ActivityRegistry::watchPreSourceEvent(), edm::ActivityRegistry::watchPreSourceLumi(), edm::ActivityRegistry::watchPreSourceRun(), edm::ActivityRegistry::watchPreStreamBeginLumi(), edm::ActivityRegistry::watchPreStreamBeginRun(), edm::ActivityRegistry::watchPreStreamEarlyTermination(), edm::ActivityRegistry::watchPreStreamEndLumi(), and edm::ActivityRegistry::watchPreStreamEndRun().

63  {
64  m_slots.push_back(std::function<T>(iFunc));
65  }
slot_list_type m_slots
Definition: Signal.h:78
template<typename T>
template<typename U >
void edm::signalslot::Signal< T >::connect_front ( iFunc)
inline

Definition at line 68 of file Signal.h.

Referenced by edm::ActivityRegistry::watchJobFailure(), edm::ActivityRegistry::watchPostCloseFile(), edm::ActivityRegistry::watchPostEndJob(), edm::ActivityRegistry::watchPostEvent(), edm::ActivityRegistry::watchPostForkReacquireResources(), edm::ActivityRegistry::watchPostGlobalBeginLumi(), edm::ActivityRegistry::watchPostGlobalBeginRun(), edm::ActivityRegistry::watchPostGlobalEndLumi(), edm::ActivityRegistry::watchPostGlobalEndRun(), edm::ActivityRegistry::watchPostModuleBeginJob(), edm::ActivityRegistry::watchPostModuleBeginStream(), edm::ActivityRegistry::watchPostModuleConstruction(), edm::ActivityRegistry::watchPostModuleEndJob(), edm::ActivityRegistry::watchPostModuleEndStream(), edm::ActivityRegistry::watchPostModuleEvent(), edm::ActivityRegistry::watchPostModuleEventDelayedGet(), edm::ActivityRegistry::watchPostModuleGlobalBeginLumi(), edm::ActivityRegistry::watchPostModuleGlobalBeginRun(), edm::ActivityRegistry::watchPostModuleGlobalEndLumi(), edm::ActivityRegistry::watchPostModuleGlobalEndRun(), edm::ActivityRegistry::watchPostModuleStreamBeginLumi(), edm::ActivityRegistry::watchPostModuleStreamBeginRun(), edm::ActivityRegistry::watchPostModuleStreamEndLumi(), edm::ActivityRegistry::watchPostModuleStreamEndRun(), edm::ActivityRegistry::watchPostOpenFile(), edm::ActivityRegistry::watchPostPathEvent(), edm::ActivityRegistry::watchPostSourceConstruction(), edm::ActivityRegistry::watchPostSourceEvent(), edm::ActivityRegistry::watchPostSourceLumi(), edm::ActivityRegistry::watchPostSourceRun(), edm::ActivityRegistry::watchPostStreamBeginLumi(), edm::ActivityRegistry::watchPostStreamBeginRun(), edm::ActivityRegistry::watchPostStreamEndLumi(), edm::ActivityRegistry::watchPostStreamEndRun(), edm::ActivityRegistry::watchPreEndJob(), and edm::ActivityRegistry::watchPreForkReleaseResources().

68  {
69  m_slots.insert(m_slots.begin(),std::function<T>(iFunc));
70  }
slot_list_type m_slots
Definition: Signal.h:78
template<typename T>
template<typename... Args>
void edm::signalslot::Signal< T >::emit ( Args &&...  args) const
inline

Definition at line 47 of file Signal.h.

Referenced by Vispa.Share.ThreadChain.ThreadChain::addCommand(), Vispa.Views.PropertyView.PropertyView::addProperty(), Vispa.Gui.BoxContentDialog.BoxContentDialog::apply(), Vispa.Plugins.ConfigEditor.CodeTableView.CodeTableView::applyButtonClicked(), Vispa.Views.LineDecayView.LineDecayContainer::autolayoutPostprocess(), Vispa.Gui.WidgetContainer.WidgetContainer::autosize(), Vispa.Gui.PortConnection.PointToPointConnection::delete(), Vispa.Gui.VispaWidget.VispaWidget::delete(), Vispa.Views.WidgetView.WidgetView::deselectAllWidgets(), Vispa.Main.MainWindow.MainWindow::event(), Vispa.Gui.FindDialog.FindDialog::filter(), Vispa.Gui.FindDialog.FindDialog::findNext(), Vispa.Gui.FindDialog.FindDialog::findPrevious(), Vispa.Views.PropertyView.TextEdit::focusOutEvent(), Vispa.Plugins.ConfigEditor.CodeTableView.CodeTableView::importButtonClicked(), Vispa.Views.TreeView.TreeView::itemSelectionChanged(), Vispa.Views.TableView.TableView::itemSelectionChanged(), Vispa.Views.PropertyView.ComboBoxReturn::keyPressEvent(), Vispa.Plugins.ConfigEditor.CodeTableView.CodeTableView::keyPressEvent(), Vispa.Gui.PortConnection.PointToPointConnection::keyPressEvent(), Vispa.Gui.VispaWidget.VispaWidget::keyPressEvent(), Vispa.Views.LineDecayView.ParticleWidget::mouseDoubleClickEvent(), Vispa.Gui.Header.Header::mousePressEvent(), Vispa.Views.AbstractView.NoneView::mousePressEvent(), Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget::mousePressEvent(), Vispa.Views.WidgetView.WidgetView::mousePressEvent(), Vispa.Views.TreeView.TreeView::mousePressEvent(), Vispa.Views.RootCanvasView.RootCanvasView::mousePressEvent(), Vispa.Views.TableView.TableView::mousePressEvent(), Vispa.Views.LineDecayView.ParticleWidget::mousePressEvent(), Vispa.Gui.VispaWidget.VispaWidget::mouseReleaseEvent(), Vispa.Plugins.EventBrowser.EventBrowserTabController.EventBrowserTabController::navigate(), Vispa.Views.LineDecayView.LineDecayView::onSelected(), edm::signalslot::Signal< void(StreamID)>::operator()(), edm::EventPrincipal::readFromSource_(), Vispa.Plugins.ConfigEditor.CodeTableView.CodeTableView::removeButtonClicked(), Vispa.Views.PropertyView.PropertyView::removeProperty(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Share.ThreadChain.ThreadChain::run(), Vispa.Gui.ZoomableScrollArea.ZoomableScrollArea::setZoom(), Vispa.Views.BoxDecayView.BoxDecayView::toggleCollapsed(), edm::EventPrincipal::unscheduledFill(), Vispa.Views.PropertyView.PropertyView::valueChanged(), Vispa.Views.PropertyView.TextEditWithButtonProperty::valueChanged(), Vispa.Gui.ZoomableScrollArea.ZoomableScrollArea::wheelEvent(), Vispa.Views.WidgetView.WidgetView::widgetDoubleClicked(), and Vispa.Views.WidgetView.WidgetView::widgetSelected().

47  {
48  for(auto& slot:m_slots) {
49  slot(std::forward<Args>(args)...);
50  }
51  }
slot_list_type m_slots
Definition: Signal.h:78
template<typename T>
template<typename... Args>
void edm::signalslot::Signal< T >::operator() ( Args &&...  args) const
inline

Definition at line 54 of file Signal.h.

54  {
55  emit(std::forward<Args>(args)...);
56  }
void emit(Args &&...args) const
Definition: Signal.h:47
template<typename T>
const Signal& edm::signalslot::Signal< T >::operator= ( const Signal< T > &  )
privatedelete
template<typename T>
slot_list_type const& edm::signalslot::Signal< T >::slots ( ) const
inline

Definition at line 58 of file Signal.h.

58 {return m_slots;}
slot_list_type m_slots
Definition: Signal.h:78

Member Data Documentation

template<typename T>
slot_list_type edm::signalslot::Signal< T >::m_slots
private