source: dev/trunk/ab5.0/abdev/ab_common/include/Lexical/Template.h@ 797

Last change on this file since 797 was 640, checked in by dai_9181, 16 years ago

静的リンクリンカの依存関係解決モジュールを製作中

File size: 1010 bytes
Line 
1#pragma once
2
3class CClass;
4
5namespace ActiveBasic{ namespace Common{ namespace Lexical{
6
7
8class ExpandedTemplateClass
9{
10 CClass *pClass;
11 Types actualTypes;
12
13 // XMLシリアライズ用
14private:
15 friend class boost::serialization::access;
16 template<class Archive> void serialize(Archive& ar, const unsigned int version)
17 {
18 ar & BOOST_SERIALIZATION_NVP( pClass );
19 ar & BOOST_SERIALIZATION_NVP( actualTypes );
20 }
21
22
23public:
24 ExpandedTemplateClass( CClass *pClass, const Types &actualTypes )
25 : pClass( pClass )
26 , actualTypes( actualTypes )
27 {
28 }
29 ExpandedTemplateClass()
30 : pClass( NULL )
31 {
32 }
33 ~ExpandedTemplateClass();
34
35 const CClass &GetClass() const
36 {
37 return *pClass;
38 }
39 CClass &GetClass()
40 {
41 return *pClass;
42 }
43
44 const Types &GetActualTypes() const
45 {
46 return actualTypes;
47 }
48
49 virtual bool Resolve( const ObjectModule &resolver, ResolveErrors &resolveErrors );
50};
51
52typedef std::vector<ExpandedTemplateClass *> ExpandedTemplateClasses;
53
54
55}}}
Note: See TracBrowser for help on using the repository browser.