Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::EntryPoint Class Reference

Module entry point. More...

#include <arcane/core/EntryPoint.h>

Inheritance diagram for Arcane::EntryPoint:
Collaboration diagram for Arcane::EntryPoint:

Public Member Functions

 ~EntryPoint () override
 Frees resources.
String name () const override
 Returns the name of the entry point.
String fullName () const override
 Full name (with the module) of the entry point. This name is unique.
ISubDomainsubDomain () const override
 Returns the main manager.
IModulemodule () const override
 Returns the module associated with the entry point.
void executeEntryPoint () override
 Calls the entry point.
Real totalCPUTime () const override
 Total CPU consumption spent in this entry point (in milliseconds).
Real lastCPUTime () const override
 CPU consumption of the last iteration (in milliseconds).
Real totalElapsedTime () const override
 Elapsed execution time (clock time) in this entry point (in milliseconds).
Real lastElapsedTime () const override
 Elapsed execution time (clock time) of the last iteration (in milliseconds).
Real totalTime (Timer::eTimerType type) const override
 Returns totalElapsedTime().
Real lastTime (Timer::eTimerType type) const override
 Returns lastElapsedTime().
Integer nbCall () const override
 Returns the number of times the entry point has been executed.
String where () const override
 Returns where the entry point is called.
int property () const override
 Returns the properties of the entry point.
 EntryPoint (const EntryPoint &)=delete
void operator= (const EntryPoint &)=delete
virtual ~IEntryPoint ()=default
 Releases resources.

Static Public Member Functions

static EntryPoint * create (const EntryPointBuildInfo &bi)
 Constructs and returns an entry point.

Private Member Functions

 EntryPoint (const EntryPointBuildInfo &build_info)
void _getAddressForHyoda (void *=nullptr)

Private Attributes

ISubDomainm_sub_domain = nullptr
 Sub-domain manager.
IFunctorm_caller = nullptr
 Call point.
Timerm_elapsed_timer = nullptr
 Entry point clock timer.
String m_name
 Entry point name.
String m_full_name
 Entry point name.
IModulem_module = nullptr
 Associated module.
String m_where
 Call location.
int m_property = 0
 Entry point properties.
Integer m_nb_call = 0
 Number of times the entry point has been executed.
bool m_is_destroy_caller = false
 Indicates whether the calling functor should be destroyed.

Additional Inherited Members

Public Types inherited from Arcane::IEntryPoint
enum  { PNone = 0 , PAutoLoadBegin = 1 , PAutoLoadEnd = 2 }
 Properties of an entry point. More...
static const char *const WComputeLoop = "ComputeLoop"
 called during the calculation loop
static const char *const WBuild = "Build"
 called for module construction
static const char *const WInit = "Init"
 called during initialization
static const char *const WContinueInit = "ContinueInit"
 called during continuation initialization
static const char *const WStartInit = "StartInit"
 called during new case initialization
static const char *const WRestore = "Restore"
 called to restore variables during a rollback
static const char *const WOnMeshChanged = "OnMeshChanged"
 called after a mesh change
static const char *const WOnMeshRefinement = "OnMeshRefinement"
 called after mesh refinement
static const char *const WExit = "Exit"

Detailed Description

Module entry point.

Definition at line 95 of file EntryPoint.h.

Constructor & Destructor Documentation

◆ ~EntryPoint()

Arcane::EntryPoint::~EntryPoint ( )
override

Frees resources.

Definition at line 87 of file EntryPoint.cc.

References m_caller, m_elapsed_timer, and m_is_destroy_caller.

◆ EntryPoint()

Arcane::EntryPoint::EntryPoint ( const EntryPointBuildInfo & build_info)
explicitprivate

Definition at line 47 of file EntryPoint.cc.

Member Function Documentation

◆ _getAddressForHyoda()

void Arcane::EntryPoint::_getAddressForHyoda ( void * next_entry_point_address = nullptr)
private

Definition at line 102 of file EntryPoint.cc.

◆ create()

EntryPoint * Arcane::EntryPoint::create ( const EntryPointBuildInfo & bi)
static

Constructs and returns an entry point.

The entry point is constructed with the information provided by \bi. It is automatically added to the IEntryPointMng manager and should not be explicitly destroyed.

Definition at line 77 of file EntryPoint.cc.

Referenced by Arcane::addEntryPoint(), and Arcane::addEntryPoint().

Here is the caller graph for this function:

◆ executeEntryPoint()

void Arcane::EntryPoint::executeEntryPoint ( )
overridevirtual

Calls the entry point.

Implements Arcane::IEntryPoint.

Definition at line 121 of file EntryPoint.cc.

References Arcane::platform::hasDotNETRuntime(), m_caller, m_elapsed_timer, m_module, m_name, m_nb_call, m_sub_domain, m_where, and Arcane::IEntryPoint::WComputeLoop.

Here is the call graph for this function:

◆ fullName()

String Arcane::EntryPoint::fullName ( ) const
inlineoverridevirtual

Full name (with the module) of the entry point. This name is unique.

Implements Arcane::IEntryPoint.

Definition at line 117 of file EntryPoint.h.

References m_full_name.

◆ lastCPUTime()

Real Arcane::EntryPoint::lastCPUTime ( ) const
overridevirtual

CPU consumption of the last iteration (in milliseconds).

Note
since version 3.6 of Arcane, this method returns the same value as lastElapsedTime().

Implements Arcane::IEntryPoint.

Definition at line 155 of file EntryPoint.cc.

References m_elapsed_timer.

◆ lastElapsedTime()

Real Arcane::EntryPoint::lastElapsedTime ( ) const
overridevirtual

Elapsed execution time (clock time) of the last iteration (in milliseconds).

Implements Arcane::IEntryPoint.

Definition at line 173 of file EntryPoint.cc.

References m_elapsed_timer.

Referenced by lastTime().

Here is the caller graph for this function:

◆ lastTime()

Real Arcane::EntryPoint::lastTime ( Timer::eTimerType ) const
overridevirtual

Returns lastElapsedTime().

Deprecated
Use lastElapsedTime() instead

Implements Arcane::IEntryPoint.

Definition at line 200 of file EntryPoint.cc.

References lastElapsedTime().

Here is the call graph for this function:

◆ module()

IModule * Arcane::EntryPoint::module ( ) const
inlineoverridevirtual

Returns the module associated with the entry point.

Implements Arcane::IEntryPoint.

Definition at line 119 of file EntryPoint.h.

References m_module.

◆ name()

String Arcane::EntryPoint::name ( ) const
inlineoverridevirtual

Returns the name of the entry point.

Implements Arcane::IEntryPoint.

Definition at line 116 of file EntryPoint.h.

References m_name.

◆ nbCall()

Integer Arcane::EntryPoint::nbCall ( ) const
inlineoverridevirtual

Returns the number of times the entry point has been executed.

Implements Arcane::IEntryPoint.

Definition at line 127 of file EntryPoint.h.

References m_nb_call.

◆ property()

int Arcane::EntryPoint::property ( ) const
inlineoverridevirtual

Returns the properties of the entry point.

Implements Arcane::IEntryPoint.

Definition at line 129 of file EntryPoint.h.

References m_property.

◆ subDomain()

ISubDomain * Arcane::EntryPoint::subDomain ( ) const
inlineoverridevirtual

Returns the main manager.

Implements Arcane::IEntryPoint.

Definition at line 118 of file EntryPoint.h.

References m_sub_domain.

◆ totalCPUTime()

Real Arcane::EntryPoint::totalCPUTime ( ) const
overridevirtual

Total CPU consumption spent in this entry point (in milliseconds).

Note
since version 3.6 of Arcane, this method returns the same value as totalElapsedTime().

Implements Arcane::IEntryPoint.

Definition at line 164 of file EntryPoint.cc.

References m_elapsed_timer.

◆ totalElapsedTime()

Real Arcane::EntryPoint::totalElapsedTime ( ) const
overridevirtual

Elapsed execution time (clock time) in this entry point (in milliseconds).

Implements Arcane::IEntryPoint.

Definition at line 182 of file EntryPoint.cc.

References m_elapsed_timer.

Referenced by totalTime().

Here is the caller graph for this function:

◆ totalTime()

Real Arcane::EntryPoint::totalTime ( Timer::eTimerType ) const
overridevirtual

Returns totalElapsedTime().

Deprecated
Use totalElapsedTime() instead

Implements Arcane::IEntryPoint.

Definition at line 191 of file EntryPoint.cc.

References totalElapsedTime().

Here is the call graph for this function:

◆ where()

String Arcane::EntryPoint::where ( ) const
inlineoverridevirtual

Returns where the entry point is called.

Implements Arcane::IEntryPoint.

Definition at line 128 of file EntryPoint.h.

References m_where.

Member Data Documentation

◆ m_caller

IFunctor* Arcane::EntryPoint::m_caller = nullptr
private

Call point.

Definition at line 134 of file EntryPoint.h.

Referenced by executeEntryPoint(), and ~EntryPoint().

◆ m_elapsed_timer

Timer* Arcane::EntryPoint::m_elapsed_timer = nullptr
private

Entry point clock timer.

Definition at line 135 of file EntryPoint.h.

Referenced by executeEntryPoint(), lastCPUTime(), lastElapsedTime(), totalCPUTime(), totalElapsedTime(), and ~EntryPoint().

◆ m_full_name

String Arcane::EntryPoint::m_full_name
private

Entry point name.

Definition at line 137 of file EntryPoint.h.

Referenced by fullName().

◆ m_is_destroy_caller

bool Arcane::EntryPoint::m_is_destroy_caller = false
private

Indicates whether the calling functor should be destroyed.

Definition at line 142 of file EntryPoint.h.

Referenced by ~EntryPoint().

◆ m_module

IModule* Arcane::EntryPoint::m_module = nullptr
private

Associated module.

Definition at line 138 of file EntryPoint.h.

Referenced by executeEntryPoint(), and module().

◆ m_name

String Arcane::EntryPoint::m_name
private

Entry point name.

Definition at line 136 of file EntryPoint.h.

Referenced by executeEntryPoint(), and name().

◆ m_nb_call

Integer Arcane::EntryPoint::m_nb_call = 0
private

Number of times the entry point has been executed.

Definition at line 141 of file EntryPoint.h.

Referenced by executeEntryPoint(), and nbCall().

◆ m_property

int Arcane::EntryPoint::m_property = 0
private

Entry point properties.

Definition at line 140 of file EntryPoint.h.

Referenced by property().

◆ m_sub_domain

ISubDomain* Arcane::EntryPoint::m_sub_domain = nullptr
private

Sub-domain manager.

Definition at line 133 of file EntryPoint.h.

Referenced by executeEntryPoint(), and subDomain().

◆ m_where

String Arcane::EntryPoint::m_where
private

Call location.

Definition at line 139 of file EntryPoint.h.

Referenced by executeEntryPoint(), and where().


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