Robotics Library  0.7.0
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
rl::util::xenomai::thread Class Reference

#include <thread.h>

Classes

class  id
 
struct  Impl
 
struct  Impl_base
 

Public Types

typedef RT_TASK native_type
 
typedef native_typenative_handle_type
 

Public Member Functions

 thread ()=default
 
 thread (thread &)=delete
 
 thread (const thread &)=delete
 
 thread (thread &&other)
 
template<typename Callable , typename... Args>
 thread (Callable &&f, Args &&... args)
 
 ~thread ()
 
void detach ()
 
thread::id get_id () const
 
void join ()
 
bool joinable () const
 
native_handle_type native_handle ()
 
threadoperator= (const thread &)=delete
 
threadoperator= (thread &&t)
 
void resume ()
 
template<typename Rep , typename Period >
void set_periodic (const ::std::chrono::duration< Rep, Period > &period)
 
template<typename Duration , typename Rep , typename Period >
void set_periodic (const ::std::chrono::time_point< chrono::system_clock, Duration > &idate, const ::std::chrono::duration< Rep, Period > &period)
 
template<typename Clock , typename Duration , typename Rep , typename Period >
void set_periodic (const ::std::chrono::time_point< Clock, Duration > &idate, const ::std::chrono::duration< Rep, Period > &period)
 
void set_priority (const int &prio)
 
void suspend ()
 
void swap (thread &other)
 
void unblock ()
 

Static Public Member Functions

static unsigned int hardware_concurrency ()
 

Private Types

typedef ::std::shared_ptr< Impl_baseshared_base_type
 

Private Member Functions

template<typename Callable >
::std::shared_ptr< Impl< Callable > > make_routine (Callable &&f)
 
void start_thread (shared_base_type b)
 

Static Private Member Functions

static void execute_native_thread_routine (void *p)
 

Private Attributes

id M_id
 

Friends

void swap (thread &lhs, thread &rhs)
 

Member Typedef Documentation

◆ native_handle_type

◆ native_type

◆ shared_base_type

typedef ::std::shared_ptr<Impl_base> rl::util::xenomai::thread::shared_base_type
private

Constructor & Destructor Documentation

◆ thread() [1/5]

rl::util::xenomai::thread::thread ( )
default

◆ thread() [2/5]

rl::util::xenomai::thread::thread ( thread )
delete

◆ thread() [3/5]

rl::util::xenomai::thread::thread ( const thread )
delete

◆ thread() [4/5]

rl::util::xenomai::thread::thread ( thread &&  other)
inline

◆ thread() [5/5]

template<typename Callable , typename... Args>
rl::util::xenomai::thread::thread ( Callable &&  f,
Args &&...  args 
)
inlineexplicit

◆ ~thread()

rl::util::xenomai::thread::~thread ( )
inline

Member Function Documentation

◆ detach()

void rl::util::xenomai::thread::detach ( )
inline

◆ execute_native_thread_routine()

static void rl::util::xenomai::thread::execute_native_thread_routine ( void *  p)
inlinestaticprivate

◆ get_id()

thread::id rl::util::xenomai::thread::get_id ( ) const
inline

◆ hardware_concurrency()

static unsigned int rl::util::xenomai::thread::hardware_concurrency ( )
inlinestatic

◆ join()

void rl::util::xenomai::thread::join ( )
inline

◆ joinable()

bool rl::util::xenomai::thread::joinable ( ) const
inline

◆ make_routine()

template<typename Callable >
::std::shared_ptr<Impl<Callable> > rl::util::xenomai::thread::make_routine ( Callable &&  f)
inlineprivate

◆ native_handle()

native_handle_type rl::util::xenomai::thread::native_handle ( )
inline

◆ operator=() [1/2]

thread& rl::util::xenomai::thread::operator= ( const thread )
delete

◆ operator=() [2/2]

thread& rl::util::xenomai::thread::operator= ( thread &&  t)
inline

◆ resume()

void rl::util::xenomai::thread::resume ( )
inline

◆ set_periodic() [1/3]

template<typename Rep , typename Period >
void rl::util::xenomai::thread::set_periodic ( const ::std::chrono::duration< Rep, Period > &  period)
inline

◆ set_periodic() [2/3]

template<typename Duration , typename Rep , typename Period >
void rl::util::xenomai::thread::set_periodic ( const ::std::chrono::time_point< chrono::system_clock, Duration > &  idate,
const ::std::chrono::duration< Rep, Period > &  period 
)
inline

◆ set_periodic() [3/3]

template<typename Clock , typename Duration , typename Rep , typename Period >
void rl::util::xenomai::thread::set_periodic ( const ::std::chrono::time_point< Clock, Duration > &  idate,
const ::std::chrono::duration< Rep, Period > &  period 
)
inline

◆ set_priority()

void rl::util::xenomai::thread::set_priority ( const int &  prio)
inline

◆ start_thread()

void rl::util::xenomai::thread::start_thread ( shared_base_type  b)
inlineprivate

◆ suspend()

void rl::util::xenomai::thread::suspend ( )
inline

◆ swap()

void rl::util::xenomai::thread::swap ( thread other)
inline

◆ unblock()

void rl::util::xenomai::thread::unblock ( )
inline

Friends And Related Function Documentation

◆ swap

void swap ( thread lhs,
thread rhs 
)
friend

Member Data Documentation

◆ M_id

id rl::util::xenomai::thread::M_id
private

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