libjmmcg  build_2783
A C++ library containing an eclectic mix of useful, advanced components.
jmmcg::ppd::thread_params< generic_traits::MS_Win32 > Class Template Reference

#include <thread_params_traits.hpp>

Inheritance diagram for jmmcg::ppd::thread_params< generic_traits::MS_Win32 >:
[legend]
Collaboration diagram for jmmcg::ppd::thread_params< generic_traits::MS_Win32 >:
[legend]

Public Types

enum  creation_flags { create_running =0, create_suspended =CREATE_SUSPENDED }
 
enum  priority_type {
  lowest =THREAD_PRIORITY_LOWEST, idle =THREAD_PRIORITY_IDLE, below_normal =THREAD_PRIORITY_BELOW_NORMAL, normal =THREAD_PRIORITY_NORMAL,
  above_normal =THREAD_PRIORITY_ABOVE_NORMAL, highest =THREAD_PRIORITY_HIGHEST, time_critical =THREAD_PRIORITY_TIME_CRITICAL, unknown_priority
}
 
enum  states {
  active =STILL_ACTIVE, suspended, no_kernel_thread, get_exit_code_failure,
  null_this_pointer, jmmcg_exception, stl_exception, unknown_exception,
  terminated, unknown
}
 
enum  thread_cancel_state
 
typedef HANDLE handle_type
 
typedef unsigned int pid_type
 
typedef unsigned int tid_type
 
typedef DWORD processor_mask_type
 
typedef DWORD suspend_count
 
typedef DWORD suspend_period_ms
 
typedef void * security_type
 
typedef unsigned stack_size_type
 
typedef unsigned core_work_fn_ret_t
 
typedef void * core_work_fn_arg_t
 
typedef core_work_fn_arg_t arglist_type
 
typedef unsigned initflag_type
 

Public Member Functions

typedef core_work_fn_ret_t (__stdcall core_work_fn_type)(core_work_fn_arg_t)
 
__stdcall thread_params (core_work_fn_type *const sa, const security_type se, const stack_size_type ss=0) noexcept(true)
 
__stdcall thread_params (const thread_params &tp) noexcept(true)
 
jmmcg::tstring to_string (void) const
 

Public Attributes

const security_type security
 
const stack_size_type stack_size
 
core_work_fn_type *const work_fn
 
arglist_type arglist
 
handle_type handle
 
tid_type id
 

Static Public Attributes

static constexpr generic_traits::api_type api_type =generic_traits::MS_Win32
 

Detailed Description

template<>
class jmmcg::ppd::thread_params< generic_traits::MS_Win32 >

Definition at line 62 of file thread_params_traits.hpp.

Member Typedef Documentation

◆ arglist_type

typedef core_work_fn_arg_t jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::arglist_type

Definition at line 80 of file thread_params_traits.hpp.

◆ core_work_fn_arg_t

typedef void* jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::core_work_fn_arg_t

Definition at line 78 of file thread_params_traits.hpp.

◆ core_work_fn_ret_t

typedef unsigned jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::core_work_fn_ret_t

Definition at line 77 of file thread_params_traits.hpp.

◆ handle_type

typedef HANDLE jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::handle_type

Definition at line 66 of file thread_params_traits.hpp.

◆ initflag_type

typedef unsigned jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::initflag_type

Definition at line 81 of file thread_params_traits.hpp.

◆ pid_type

typedef unsigned int jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::pid_type

Definition at line 67 of file thread_params_traits.hpp.

◆ processor_mask_type

typedef DWORD jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::processor_mask_type

Definition at line 70 of file thread_params_traits.hpp.

◆ security_type

typedef void* jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::security_type

Definition at line 75 of file thread_params_traits.hpp.

◆ stack_size_type

typedef unsigned jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::stack_size_type

Definition at line 76 of file thread_params_traits.hpp.

◆ suspend_count

typedef DWORD jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::suspend_count

Definition at line 72 of file thread_params_traits.hpp.

◆ suspend_period_ms

typedef DWORD jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::suspend_period_ms

Definition at line 73 of file thread_params_traits.hpp.

◆ tid_type

typedef unsigned int jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::tid_type

Definition at line 68 of file thread_params_traits.hpp.

Member Enumeration Documentation

◆ creation_flags

enum jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::creation_flags
Enumerator
create_running 
create_suspended 

Definition at line 83 of file thread_params_traits.hpp.

◆ priority_type

enum jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::priority_type
Enumerator
lowest 
idle 
below_normal 
normal 
above_normal 
highest 
time_critical 
unknown_priority 

Definition at line 88 of file thread_params_traits.hpp.

◆ states

enum jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::states

Note that these states are in a specific order - the higher the number, the more severe any error.

Enumerator
active 
suspended 
no_kernel_thread 

This is not a failure - the thread may not be started yet, or may have exited.

get_exit_code_failure 
null_this_pointer 
jmmcg_exception 
stl_exception 
unknown_exception 
terminated 
unknown 

Definition at line 102 of file thread_params_traits.hpp.

◆ thread_cancel_state

enum jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::thread_cancel_state

Definition at line 115 of file thread_params_traits.hpp.

Constructor & Destructor Documentation

◆ thread_params() [1/2]

__stdcall jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::thread_params ( core_work_fn_type *const  sa,
const security_type  se,
const stack_size_type  ss = 0 
)
inlinenoexcept

Definition at line 126 of file thread_params_traits.hpp.

◆ thread_params() [2/2]

__stdcall jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::thread_params ( const thread_params< generic_traits::MS_Win32 > &  tp)
inlinenoexcept

Definition at line 131 of file thread_params_traits.hpp.

Member Function Documentation

◆ core_work_fn_ret_t()

typedef jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::core_work_fn_ret_t ( __stdcall  core_work_fn_type)

◆ to_string()

jmmcg::tstring jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::to_string ( void  ) const
inline

Definition at line 135 of file thread_params_traits.hpp.

Member Data Documentation

◆ api_type

constexpr generic_traits::api_type jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::api_type =generic_traits::MS_Win32
staticconstexpr

Definition at line 64 of file thread_params_traits.hpp.

◆ arglist

arglist_type jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::arglist

Definition at line 121 of file thread_params_traits.hpp.

◆ handle

handle_type jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::handle

Definition at line 123 of file thread_params_traits.hpp.

◆ id

tid_type jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::id

Definition at line 124 of file thread_params_traits.hpp.

◆ security

const security_type jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::security

Definition at line 118 of file thread_params_traits.hpp.

◆ stack_size

const stack_size_type jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::stack_size

Definition at line 119 of file thread_params_traits.hpp.

◆ work_fn

core_work_fn_type* const jmmcg::ppd::thread_params< generic_traits::MS_Win32 >::work_fn

Definition at line 120 of file thread_params_traits.hpp.


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