acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
_defer.h
1#pragma once
2
3#ifdef aaa_memory_new
4
5#endif
6
7
8
9//
10//namespace factory
11//{
12//
13//
14// CLASS_DECL_ACME critical_section * ::factory_critical_section();
15//
16//
17// template < typename TYPE, typename BASE_TYPE>
18// inline pointer< ::factory::factory_item_base < BASE_TYPE > > add_factory_item(const ::atom & atom)
19// {
20//
21// critical_section_lock lock(::factory_critical_section());
22//
23// auto pfactory = allocateø ::factory::factory_item< TYPE, BASE_TYPE > ();
24//
25// factory()->set_at(atom, pfactory);
26//
27// return pfactory;
28//
29// }
30//
31//
32// CLASS_DECL_ACME ::factory::factory * loading_library_factory();
33//
34//
35// template < typename TYPE, typename BASE_TYPE>
36// inline pointer< ::factory::factory_item_base < BASE_TYPE > > _add_factory_item_from(const ::atom & atomSource)
37// {
38//
39// critical_section_lock lock(::factory_critical_section());
40//
41// auto pfactory = ::factory::loading_library_factory();
42//
43// if (::is_set(pfactory))
44// {
45//
46// return pfactory->add_factory_item < TYPE, BASE_TYPE >();
47//
48// }
49//
50// auto pfactoryitem = allocateø ::factory::factory_item< TYPE, BASE_TYPE > ();
51//
52// factory_item < BASE_TYPE >(atomSource) = pfactoryitem;
53//
54// return pfactoryitem;
55//
56// }
57//
58//
59// template < typename TYPE, typename BASE_TYPE>
60// inline pointer< ::factory::factory_item_base < BASE_TYPE > > add_factory_item()
61// {
62//
63// critical_section_lock lock(::factory_critical_section());
64//
65// auto pfactory = allocateø ::factory::factory_item< TYPE, BASE_TYPE > ();
66//
67// factory_item < BASE_TYPE >() = pfactory;
68//
69// return pfactory;
70//
71// }
72//
73//
74// template < typename TYPE, typename BASE_TYPE>
75// inline pointer< ::factory::factory_item_base < BASE_TYPE > > create_reusable_factory()
76// {
77//
78// critical_section_lock lock(::factory_critical_section());
79//
80// auto pfactory = allocateø ::factory::reusable_factory_item< TYPE, BASE_TYPE > ();
81//
82// factory_item < BASE_TYPE >() = pfactory;
83//
84// return pfactory;
85//
86// }
87//
88//
89//} // namespace factory
90//
91
92
93template < typename TYPE1, typename TYPE2 >
94inline void __dynamic_cast(TYPE1*& ptype1, const ::pointer<TYPE2> ptype2)
95{
96
97 ptype1 = ptype2.template cast < TYPE1 >().m_p;
98
99}
100
101
102//namespace acme
103//{
104//
105//
106// namespace ::property_set
107// {
108//
109//
110// inline string get_string(const ::property_object & object, const ::scoped_string & scopedstrKey);
111//
112// } // namespace ::property_set
113//
114//
115//} // namespace acme
116
117
118
119
120