[#BloombergLP-bdlmt-EventScheduler-2constructor-05e]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlmt.adoc[bdlmt]::xref:BloombergLP/bdlmt/EventScheduler.adoc[EventScheduler]::EventScheduler
:relfileprefix: ../../../
:mrdocs:

Constructors

== Synopses

Declared in `&lt;bdlmt&lowbar;eventscheduler&period;h&gt;`

Create an event scheduler using the realtime clock&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlmt/EventScheduler/2constructor-02.adoc[EventScheduler]();
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-02.adoc[_» more&period;&period;&period;_]#

Same as the preceding overload, using the specified `basicAllocator`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlmt/EventScheduler/2constructor-0f.adoc[EventScheduler](xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator);
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-0f.adoc[_» more&period;&period;&period;_]#

Create an event scheduler using the specified `clockType`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlmt/EventScheduler/2constructor-09.adoc[EventScheduler](
    xref:BloombergLP/bsls/SystemClockType/Enum.adoc[bsls::SystemClockType::Enum] clockType,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-09.adoc[_» more&period;&period;&period;_]#

Create an event scheduler using `dispatcherFunctor`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlmt/EventScheduler/2constructor-080.adoc[EventScheduler](
    xref:BloombergLP/bdlmt/EventScheduler/Dispatcher.adoc[Dispatcher] const& dispatcherFunctor,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-080.adoc[_» more&period;&period;&period;_]#

Create an event scheduler using the monotonic clock&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlmt/EventScheduler/2constructor-08c.adoc[EventScheduler](
    std::chrono::steady&lowbar;clock const& steadyClock,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-08c.adoc[_» more&period;&period;&period;_]#

Create an event scheduler using the realtime clock&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlmt/EventScheduler/2constructor-01e.adoc[EventScheduler](
    std::chrono::system&lowbar;clock const& systemClock,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-01e.adoc[_» more&period;&period;&period;_]#

Create an event scheduler using `dispatcherFunctor` and `clockType`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlmt/EventScheduler/2constructor-0b.adoc[EventScheduler](
    xref:BloombergLP/bdlmt/EventScheduler/Dispatcher.adoc[Dispatcher] const& dispatcherFunctor,
    xref:BloombergLP/bsls/SystemClockType/Enum.adoc[bsls::SystemClockType::Enum] clockType,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-0b.adoc[_» more&period;&period;&period;_]#

Create an event scheduler using `dispatcherFunctor` and the monotonic clock&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlmt/EventScheduler/2constructor-00.adoc[EventScheduler](
    xref:BloombergLP/bdlmt/EventScheduler/Dispatcher.adoc[Dispatcher] const& dispatcherFunctor,
    std::chrono::steady&lowbar;clock const& steadyClock,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-00.adoc[_» more&period;&period;&period;_]#

Create an event scheduler using `dispatcherFunctor`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlmt/EventScheduler/2constructor-019.adoc[EventScheduler](
    xref:BloombergLP/bdlmt/EventScheduler/Dispatcher.adoc[Dispatcher] const& dispatcherFunctor,
    std::chrono::system&lowbar;clock const& systemClock,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-019.adoc[_» more&period;&period;&period;_]#

Create a named event scheduler using the realtime clock&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlmt/EventScheduler/2constructor-0e9.adoc[EventScheduler](
    std::string&lowbar;view const& eventSchedulerName,
    xref:BloombergLP/bdlm/MetricsRegistry.adoc[bdlm::MetricsRegistry]* metricsRegistry,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-0e9.adoc[_» more&period;&period;&period;_]#

Create a named event scheduler using the specified `clockType`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlmt/EventScheduler/2constructor-046.adoc[EventScheduler](
    xref:BloombergLP/bsls/SystemClockType/Enum.adoc[bsls::SystemClockType::Enum] clockType,
    std::string&lowbar;view const& eventSchedulerName,
    xref:BloombergLP/bdlm/MetricsRegistry.adoc[bdlm::MetricsRegistry]* metricsRegistry,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-046.adoc[_» more&period;&period;&period;_]#

Create a named event scheduler using `dispatcherFunctor`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlmt/EventScheduler/2constructor-0eb.adoc[EventScheduler](
    xref:BloombergLP/bdlmt/EventScheduler/Dispatcher.adoc[Dispatcher] const& dispatcherFunctor,
    std::string&lowbar;view const& eventSchedulerName,
    xref:BloombergLP/bdlm/MetricsRegistry.adoc[bdlm::MetricsRegistry]* metricsRegistry,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-0eb.adoc[_» more&period;&period;&period;_]#

Create a named event scheduler using the monotonic clock&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlmt/EventScheduler/2constructor-04a.adoc[EventScheduler](
    std::chrono::steady&lowbar;clock const& steadyClock,
    std::string&lowbar;view const& eventSchedulerName,
    xref:BloombergLP/bdlm/MetricsRegistry.adoc[bdlm::MetricsRegistry]* metricsRegistry,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-04a.adoc[_» more&period;&period;&period;_]#

Create a named event scheduler using the realtime clock&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:BloombergLP/bdlmt/EventScheduler/2constructor-056.adoc[EventScheduler](
    std::chrono::system&lowbar;clock const& systemClock,
    std::string&lowbar;view const& eventSchedulerName,
    xref:BloombergLP/bdlm/MetricsRegistry.adoc[bdlm::MetricsRegistry]* metricsRegistry,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-056.adoc[_» more&period;&period;&period;_]#

Create a named event scheduler using `dispatcherFunctor` and `clockType`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlmt/EventScheduler/2constructor-050.adoc[EventScheduler](
    xref:BloombergLP/bdlmt/EventScheduler/Dispatcher.adoc[Dispatcher] const& dispatcherFunctor,
    xref:BloombergLP/bsls/SystemClockType/Enum.adoc[bsls::SystemClockType::Enum] clockType,
    std::string&lowbar;view const& eventSchedulerName,
    xref:BloombergLP/bdlm/MetricsRegistry.adoc[bdlm::MetricsRegistry]* metricsRegistry,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-050.adoc[_» more&period;&period;&period;_]#

Create a named event scheduler using `dispatcherFunctor` and the monotonic clock&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlmt/EventScheduler/2constructor-03.adoc[EventScheduler](
    xref:BloombergLP/bdlmt/EventScheduler/Dispatcher.adoc[Dispatcher] const& dispatcherFunctor,
    std::chrono::steady&lowbar;clock const& steadyClock,
    std::string&lowbar;view const& eventSchedulerName,
    xref:BloombergLP/bdlm/MetricsRegistry.adoc[bdlm::MetricsRegistry]* metricsRegistry,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-03.adoc[_» more&period;&period;&period;_]#

Create an event scheduler with the system realtime clock&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlmt/EventScheduler/2constructor-05c.adoc[EventScheduler](
    xref:BloombergLP/bdlmt/EventScheduler/Dispatcher.adoc[Dispatcher] const& dispatcherFunctor,
    std::chrono::system&lowbar;clock const& systemClock,
    std::string&lowbar;view const& eventSchedulerName,
    xref:BloombergLP/bdlm/MetricsRegistry.adoc[bdlm::MetricsRegistry]* metricsRegistry,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

[.small]#xref:BloombergLP/bdlmt/EventScheduler/2constructor-05c.adoc[_» more&period;&period;&period;_]#

== Parameters

[cols="1,4"]
|===
| Name| Description
| *basicAllocator*
| allocator used to supply memory
| *clockType*
| clock used to interpret time intervals
| *dispatcherFunctor*
| dispatcher callback
| *steadyClock*
| tag selecting the system monotonic clock
| *systemClock*
| tag selecting the system realtime clock
| *eventSchedulerName*
| name identifying this scheduler
| *metricsRegistry*
| metrics registry, or singleton if 0
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
