Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
duckdb::Event Class Referenceabstract
Inheritance diagram for duckdb::Event:
Collaboration diagram for duckdb::Event:

Public Member Functions

 Event (Executor &executor)
 
virtual void Schedule ()=0
 
virtual void FinishEvent ()
 Called right after the event is finished.
 
virtual void FinalizeFinish ()
 Called after the event is entirely finished.
 
void FinishTask ()
 
void Finish ()
 
void AddDependency (Event &event)
 
bool HasDependencies () const
 
const vector< reference< Event > > & GetParentsVerification () const
 
void CompleteDependency ()
 
void SetTasks (vector< shared_ptr< Task > > tasks)
 
void InsertEvent (shared_ptr< Event > replacement_event)
 
bool IsFinished () const
 
virtual void PrintPipeline ()
 
ClientContextGetClientContext ()
 
template<class TARGET >
TARGETCast ()
 
template<class TARGET >
const TARGETCast () const
 
- Public Member Functions inherited from duckdb::enable_shared_from_this< Event >
shared_ptr< Eventshared_from_this ()
 
shared_ptr< Event constshared_from_this () const
 

Protected Attributes

Executorexecutor
 
atomic< idx_tfinished_tasks
 The current threads working on the event.
 
atomic< idx_ttotal_tasks
 The maximum amount of threads that can work on the event.
 
atomic< idx_tfinished_dependencies
 
idx_t total_dependencies
 The total amount of dependencies.
 
vector< weak_ptr< Event > > parents
 The events that depend on this event to run.
 
vector< reference< Event > > parents_raw
 Raw pointers to the parents (used for verification only)
 
atomic< bool > finished
 Whether or not the event is finished executing.
 

Additional Inherited Members

- Protected Member Functions inherited from duckdb::enable_shared_from_this< Event >
 enable_shared_from_this (enable_shared_from_this const &) noexcept
 
enable_shared_from_thisoperator= (enable_shared_from_this const &) noexcept
 

Member Function Documentation

◆ FinishEvent()

virtual void duckdb::Event::FinishEvent ( )
inlinevirtual

Called right after the event is finished.

35057 {
35058 }

◆ FinalizeFinish()

virtual void duckdb::Event::FinalizeFinish ( )
inlinevirtual

Called after the event is entirely finished.

35060 {
35061 }

◆ HasDependencies()

bool duckdb::Event::HasDependencies ( ) const
inline
35067 {
35068 return total_dependencies != 0;
35069 }
idx_t total_dependencies
The total amount of dependencies.
Definition duckdb.cpp:35109

◆ IsFinished()

bool duckdb::Event::IsFinished ( ) const
inline
35078 {
35079 return finished;
35080 }
atomic< bool > finished
Whether or not the event is finished executing.
Definition duckdb.cpp:35117

◆ PrintPipeline()

virtual void duckdb::Event::PrintPipeline ( )
inlinevirtual
35082 {
35083 }

◆ Cast() [1/2]

template<class TARGET >
TARGET & duckdb::Event::Cast ( )
inline
35088 {
35089 DynamicCastCheck<TARGET>(this);
35090 return reinterpret_cast<TARGET &>(*this);
35091 }

◆ Cast() [2/2]

template<class TARGET >
const TARGET & duckdb::Event::Cast ( ) const
inline
35093 {
35094 DynamicCastCheck<TARGET>(this);
35095 return reinterpret_cast<const TARGET &>(*this);
35096 }

Member Data Documentation

◆ finished_dependencies

atomic<idx_t> duckdb::Event::finished_dependencies
protected

The amount of completed dependencies The event can only be started after the dependencies have finished executing


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