acme
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages Concepts
aaa_data.h
1#pragma once
2
3
4//class CLASS_DECL_ACME __thread_data
5//{
6//public:
7//
8//
9//#if defined(_POSIX_THREADS) || defined(LINUX)
10//
11// pthread_key_t m_key;
12//
13//#else
14//
15// unsigned int m_dwIndex;
16//
17//#endif
18//
19//
20// __thread_data();
21// ~__thread_data();
22//
23//
24// void * get();
25// void set(void * p);
26//
27//
28//};
29//
30//
31//template < class T >
32//class __thread_pointer :
33// public __thread_data
34//{
35//public:
36//
37//
38// static __thread_pointer < pointer_array < ::matter > > t_preferencea;
39//
40// inline operator T *() { return (T *)get(); }
41// inline T * operator ->() { return operator T *(); }
42// inline __thread_pointer & operator = (const __pointer < T > & p)
43// {
44//
45// auto pPrevious = operator T * ();
46//
47// if (p != pPrevious)
48// {
49//
50// if (t_preferencea.operator pointer_array<matter> * () == nullptr)
51// {
52//
53// t_preferencea = __allocate pointer_array < ::matter > ();
54//
55// }
56//
57// if (::is_set(p))
58// {
59//
60// t_preferencea->erase_first(pPrevious);
61//
62// }
63//
64// t_preferencea->erase_first(pPrevious);
65//
66// set(p);
67//
68// }
69//
70// return *this;
71//
72// }
73//
74//};
75//
76//
77//template < class T >
78//class __thread_iptr :
79// public __thread_data
80//{
81//public:
82//
83// operator T () { return (T)(iptr)get(); }
84// thread_int_ptr & operator = (T t) { set((void *)(iptr)t); return *this; }
85//
86// bool operator == (iptr i)
87// {
88// return ((iptr)get()) == i;
89// }
90//
91//};
92//
103//
104//
105//
106
107inline ::payload & thread_property(const ::atom & atom) { return ::get_task()->payload(atom); }
108
109
110//
111//inline bool task_flag().is_set(const ::atom & atom)
112//{
113// if (!::get_task())
114// {
115//
116// return false;
117//
118// }
119//
120// if (is_null(::get_task()->m_ppropertyset))
121// {
122//
123// return false;
124//
125// }
126//
127// if (!::get_task()->has_property(atom))
128// {
129//
130// return false;
131//
132// }
133//
134// return ::get_task()->payload(atom);
135//
136//}
137
138
139
Definition atom.h:233