Apollo  6.0
Open source self driving car software
Public Member Functions | Static Public Member Functions | List of all members
apollo::cyber::croutine::CRoutine Class Reference

#include <croutine.h>

Collaboration diagram for apollo::cyber::croutine::CRoutine:
Collaboration graph

Public Member Functions

 CRoutine (const RoutineFunc &func)
 
virtual ~CRoutine ()
 
bool Acquire ()
 
void Release ()
 
void SetUpdateFlag ()
 
RoutineState Resume ()
 
RoutineState UpdateState ()
 
RoutineContextGetContext ()
 
char ** GetStack ()
 
void Run ()
 
void Stop ()
 
void Wake ()
 
void HangUp ()
 
void Sleep (const Duration &sleep_duration)
 
RoutineState state () const
 
void set_state (const RoutineState &state)
 
uint64_t id () const
 
void set_id (uint64_t id)
 
const std::string & name () const
 
void set_name (const std::string &name)
 
int processor_id () const
 
void set_processor_id (int processor_id)
 
uint32_t priority () const
 
void set_priority (uint32_t priority)
 
std::chrono::steady_clock::time_point wake_time () const
 
void set_group_name (const std::string &group_name)
 
const std::string & group_name ()
 

Static Public Member Functions

static void Yield ()
 
static void Yield (const RoutineState &state)
 
static void SetMainContext (const std::shared_ptr< RoutineContext > &context)
 
static CRoutineGetCurrentRoutine ()
 
static char ** GetMainStack ()
 

Constructor & Destructor Documentation

◆ CRoutine()

apollo::cyber::croutine::CRoutine::CRoutine ( const RoutineFunc func)
explicit

◆ ~CRoutine()

virtual apollo::cyber::croutine::CRoutine::~CRoutine ( )
virtual

Member Function Documentation

◆ Acquire()

bool apollo::cyber::croutine::CRoutine::Acquire ( )
inline

◆ GetContext()

RoutineContext * apollo::cyber::croutine::CRoutine::GetContext ( )
inline

◆ GetCurrentRoutine()

CRoutine * apollo::cyber::croutine::CRoutine::GetCurrentRoutine ( )
inlinestatic

◆ GetMainStack()

char ** apollo::cyber::croutine::CRoutine::GetMainStack ( )
inlinestatic

◆ GetStack()

char ** apollo::cyber::croutine::CRoutine::GetStack ( )
inline

◆ group_name()

const std::string& apollo::cyber::croutine::CRoutine::group_name ( )
inline

◆ HangUp()

void apollo::cyber::croutine::CRoutine::HangUp ( )
inline

◆ id()

uint64_t apollo::cyber::croutine::CRoutine::id ( ) const
inline

◆ name()

const std::string & apollo::cyber::croutine::CRoutine::name ( ) const
inline

◆ priority()

uint32_t apollo::cyber::croutine::CRoutine::priority ( ) const
inline

◆ processor_id()

int apollo::cyber::croutine::CRoutine::processor_id ( ) const
inline

◆ Release()

void apollo::cyber::croutine::CRoutine::Release ( )
inline

◆ Resume()

RoutineState apollo::cyber::croutine::CRoutine::Resume ( )

◆ Run()

void apollo::cyber::croutine::CRoutine::Run ( )
inline

◆ set_group_name()

void apollo::cyber::croutine::CRoutine::set_group_name ( const std::string &  group_name)
inline

◆ set_id()

void apollo::cyber::croutine::CRoutine::set_id ( uint64_t  id)
inline

◆ set_name()

void apollo::cyber::croutine::CRoutine::set_name ( const std::string &  name)
inline

◆ set_priority()

void apollo::cyber::croutine::CRoutine::set_priority ( uint32_t  priority)
inline

◆ set_processor_id()

void apollo::cyber::croutine::CRoutine::set_processor_id ( int  processor_id)
inline

◆ set_state()

void apollo::cyber::croutine::CRoutine::set_state ( const RoutineState state)
inline

◆ SetMainContext()

static void apollo::cyber::croutine::CRoutine::SetMainContext ( const std::shared_ptr< RoutineContext > &  context)
static

◆ SetUpdateFlag()

void apollo::cyber::croutine::CRoutine::SetUpdateFlag ( )
inline

◆ Sleep()

void apollo::cyber::croutine::CRoutine::Sleep ( const Duration sleep_duration)
inline

◆ state()

RoutineState apollo::cyber::croutine::CRoutine::state ( ) const
inline

◆ Stop()

void apollo::cyber::croutine::CRoutine::Stop ( )

◆ UpdateState()

RoutineState apollo::cyber::croutine::CRoutine::UpdateState ( )
inline

◆ Wake()

void apollo::cyber::croutine::CRoutine::Wake ( )
inline

◆ wake_time()

std::chrono::steady_clock::time_point apollo::cyber::croutine::CRoutine::wake_time ( ) const
inline

◆ Yield() [1/2]

void apollo::cyber::croutine::CRoutine::Yield ( )
inlinestatic

◆ Yield() [2/2]

void apollo::cyber::croutine::CRoutine::Yield ( const RoutineState state)
inlinestatic

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