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

Last change on this file since 829 was 829, checked in by イグトランス (egtra), 12 years ago

svn:eol-styleとsvn:mime-type(文字コード指定含む)の設定

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/plain; charset=Shift_JIS
File size: 1.1 KB
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
51private:
52 ExpandedTemplateClass(ExpandedTemplateClass const&);
53 ExpandedTemplateClass& operator =(ExpandedTemplateClass const&);
54};
55
56typedef std::vector<ExpandedTemplateClass *> ExpandedTemplateClasses;
57
58
59}}}
Note: See TracBrowser for help on using the repository browser.