• 検索結果がありません。

初期化関連

ドキュメント内 九州大学学術情報リポジトリ (ページ 135-147)

第 6 章 結論

B.5 初期化関連

付録

124

付録

125

37 p r o t e c t e d:

38 // プ ラ イ ベ ー ト ク ラ ス

39 c l a s s F r a m e w o r k _ P r i v a t e * _ P r i v a t e ;

40 };

41

42 } // n a m e s p a c e R T C O P {}

43

44 # e n d i f // ! _ _ R T C O P _ F R A M E W O R K _ _

ソースコードB.25 Framework Private.h

1 # i f n d e f _ _ R T C O P _ F R A M E W O R K _ P R I V A T E _ _

2 # d e f i n e _ _ R T C O P _ F R A M E W O R K _ P R I V A T E _ _

3

4 n a m e s p a c e R T C O P {

5

6 // 機 能 提 供 を 行 う オ ブ ジ ェ ク ト の 宣 言

7 n a m e s p a c e C o r e {

8 c l a s s R T C O P M a n a g e r ;

9 c l a s s L a y e r d O b j e c t I n i t i a l i z e r ;

10 c l a s s L a y e r A c t i v a t e r ;

11 } // n a m e s p a c e C o r e {}

12

13 // R T C O Pの フ レ ー ム ワ ー ク

14 c l a s s F r a m e w o r k _ P r i v a t e {

15 p u b l i c:

16 // コ ン ス ト ラ ク タ

17 F r a m e w o r k _ P r i v a t e ();

18 // デ ス ト ラ ク タ

19 ~ F r a m e w o r k _ P r i v a t e ();

20 // R T C O Pマ ネ ー ジ ャ

21 C o r e :: R T C O P M a n a g e r * _ R T C O P M a n a g e r ;

22 // L a y e r d O b j e c t初 期 化

23 C o r e :: L a y e r d O b j e c t I n i t i a l i z e r * _ L a y e r d O b j e c t I n i t i a l i z e r ;

24 // レ イ ヤ ア ク テ ィ ベ ー タ

25 C o r e :: L a y e r A c t i v a t e r * _ L a y e r A c t i v a t e r ;

26 };

27

28 } // n a m e s p a c e R T C O P {}

29

30 # e n d i f // ! _ _ R T C O P _ F R A M E W O R K _ P R I V A T E _ _

付録

126

ソースコード B.26 Framework.cpp

1 # i n c l u d e " R T C O P / F r a m e w o r k . h "

2 # i n c l u d e " F r a m e w o r k _ P r i v a t e . h "

3 # i n c l u d e " R T C O P / C o r e / I n i t i a l i z e r . h "

4 # i n c l u d e " R T C O P / C o r e / R T C O P M a n a g e r . h "

5 # i n c l u d e " R T C O P / C o r e / L a y e r d O b j e c t I n i t i a l i z e r . h "

6 # i n c l u d e " R T C O P / C o r e / L a y e r A c t i v a t e r . h "

7

8 n a m e s p a c e R T C O P {

9

10 //

-11 // プ ラ イ ベ ー ト ク ラ ス の 実 装

12 //

-13 // コ ン ス ト ラ ク タ

14 F r a m e w o r k _ P r i v a t e :: F r a m e w o r k _ P r i v a t e ()

15 : _ R T C O P M a n a g e r (0) , _ L a y e r d O b j e c t I n i t i a l i z e r (0) , _ L a y e r A c t i v a t e r (0) {

16 }

17 // デ ス ト ラ ク タ

18 F r a m e w o r k _ P r i v a t e ::~ F r a m e w o r k _ P r i v a t e () {

19 }

20 21

22 //

-23 // シ ン グ ル ト ン ク ラ ス の イ ン ス タ ン ス 化

24 //

-25 F r a m e w o r k * c o n s t F r a m e w o r k :: I n s t a n c e = new F r a m e w o r k ();

26

27 // 自 動 生 成 コ ー ド

28 n a m e s p a c e G e n e r a t e d {

29 // デ フ ォ ル ト イ ニ シ ャ ラ イ ザ の 取 得

30 e x t e r n C o r e :: I n i t i a l i z e r * _ G e t D e f a u l t I n i t i a l i z e r _ ();

31

32 } // n a m e s p a c e G e n e r a t e d

33

34 // ユ ー ザ が 実 行 す べ き 、R T C O Pの 初 期 化

35 v o i d F r a m e w o r k :: I n i t i a l i z e () {

36 // デ フ ォ ル ト の イ ニ シ ャ ラ イ ザ の 取 得

37 C o r e :: I n i t i a l i z e r * i n i t i a l i z e r = G e n e r a t e d ::

_ G e t D e f a u l t I n i t i a l i z e r _ ();

38 // 初 期 化 実 行

39 I n i t i a l i z e ( i n i t i a l i z e r );

付録

127

40 // 後 始 末

41 d e l e t e i n i t i a l i z e r ;

42 }

43 // ユ ー ザ が 実 行 す べ き 、R T C O Pの 初 期 化

44 v o i d F r a m e w o r k :: I n i t i a l i z e ( C o r e :: I n i t i a l i z e r * i n i t i a l i z e r ) {

45 // 各 オ ブ ジ ェ ク ト の 生 成

46 _ P r i v a t e - > _ R T C O P M a n a g e r = i n i t i a l i z e r - > I n i t i a l i z e R T C O P M a n a g e r ();

47 _ P r i v a t e - > _ L a y e r d O b j e c t I n i t i a l i z e r = i n i t i a l i z e r - >

I n i t i a l i z e L a y e r d O b j e c t I n i t i a l i z e r ( _ P r i v a t e - > _ R T C O P M a n a g e r );

48 _ P r i v a t e - > _ L a y e r A c t i v a t e r = i n i t i a l i z e r - >

I n i t i a l i z e L a y e r A c t i v a t e r ( _ P r i v a t e - > _ R T C O P M a n a g e r );

49 // レ イ ヤ の 登 録

50 i n i t i a l i z e r - > R e g i s t e r L a y e r s ( _ P r i v a t e - > _ R T C O P M a n a g e r );

51 // 初 回 レ イ ヤ ア ク テ ィ ベ ー シ ョ ン

52 i n i t i a l i z e r - > F i r s t L a y e r A c t i v a t i o n ( _ P r i v a t e - > _ L a y e r A c t i v a t e r );

53

54 // イ ニ シ ャ ラ イ ザ の 後 始 末 は 、 呼 び 出 し 側 で 行 う こ と …

55 }

56

57 // ユ ー ザ が 実 行 す べ き 、 R T C O Pの 終 了 処 理 の メ ソ ッ ド

58 v o i d F r a m e w o r k :: F i n a l i z e () {

59 // 各 オ ブ ジ ェ ク ト をd e l e t eす る

60 d e l e t e _ P r i v a t e - > _ L a y e r A c t i v a t e r ;

61 d e l e t e _ P r i v a t e - > _ L a y e r d O b j e c t I n i t i a l i z e r ;

62 d e l e t e _ P r i v a t e - > _ R T C O P M a n a g e r ;

63 // 自 殺

64 d e l e t e t h i s;

65 }

66 // R T C O P M a n a g e rの 取 得

67 C o r e :: R T C O P M a n a g e r * c o n s t F r a m e w o r k :: G e t R T C O P M a n a g e r () {

68 r e t u r n _ P r i v a t e - > _ R T C O P M a n a g e r ;

69 }

70

71 // L a y e r d O b j e c t I n i t i a l i z e rの 取 得

72 C o r e :: L a y e r d O b j e c t I n i t i a l i z e r * c o n s t F r a m e w o r k ::

G e t L a y e r d O b j e c t I n i t i a l i z e r () {

73 r e t u r n _ P r i v a t e - > _ L a y e r d O b j e c t I n i t i a l i z e r ;

74 }

75

76 // L a y e r A c t i v a t e rの 取 得

77 C o r e :: L a y e r A c t i v a t e r * c o n s t F r a m e w o r k :: G e t L a y e r A c t i v a t e r () {

78 r e t u r n _ P r i v a t e - > _ L a y e r A c t i v a t e r ;

79 }

付録

128

80 // コ ン ス ト ラ ク タ

81 F r a m e w o r k :: F r a m e w o r k () {

82 _ P r i v a t e = new F r a m e w o r k _ P r i v a t e ();

83 }

84 // デ ス ト ラ ク タ

85 F r a m e w o r k ::~ F r a m e w o r k () {

86 d e l e t e _ P r i v a t e ;

87 _ P r i v a t e = 0;

88 }

89

90 } // n a m e s p a c e R T C O P {}

ソースコード B.27 RTCOPManager.h

1 # i f n d e f _ _ R T C O P _ C O R E _ R T C O P M A N A G E R _ _

2 # d e f i n e _ _ R T C O P _ C O R E _ R T C O P M A N A G E R _ _

3

4 n a m e s p a c e R T C O P {

5 n a m e s p a c e C o r e {

6

7 c l a s s L a y e r ;

8

9 // R T C O P管 理

10 c l a s s R T C O P M a n a g e r {

11 p u b l i c:

12 // コ ン ス ト ラ ク タ

13 R T C O P M a n a g e r (int n u m O f L a y e r s , int n u m O f B a s e C l a s s e s , int* n u m O f B a s e M e t h o d s );

14 // デ ス ト ラ ク タ

15 v i r t u a l ~ R T C O P M a n a g e r ();

16 p u b l i c:

17 // レ イ ヤ の 登 録

18 v o i d R e g i s t e r L a y e r ( L a y e r * l a y e r );

19 // レ イ ヤ の 取 得

20 L a y e r * c o n s t G e t L a y e r (int l a y e r i d );

21 // ク ラ ス I Dで 指 定 し た 仮 想 関 数 テ ー ブ ル を 取 得

22 v o l a t i l e v o i d** c o n s t G e t V i r t u a l F u n c t i o n T a b l e (int c l a s s i d );

23 // レ イ ヤ の 個 数 を 取 得

24 c o n s t int G e t N u m O f L a y e r s ();

25 // ベ ー ス ク ラ ス の 個 数 を 取 得

26 c o n s t int G e t N u m O f B a s e C l a s s e s ();

27 // ベ ー ス メ ソ ッ ド の 個 数 を 取 得

28 int* c o n s t G e t N u m O f B a s e M e t h o d s ();

付録

129

29 // ベ ー ス メ ソ ッ ド の 個 数 を 取 得

30 c o n s t int G e t N u m O f B a s e M e t h o d s (int c l a s s i d );

31 p r o t e c t e d:

32 // プ ラ イ ベ ー ト ク ラ ス

33 c l a s s R T C O P M a n a g e r _ P r i v a t e * _ P r i v a t e ;

34 };

35

36 } // n a m e s p a c e C o r e {}

37 } // n a m e s p a c e R T C O P {}

38

39 # e n d i f // ! _ _ R T C O P _ C O R E _ R T C O P M A N A G E R _ _

ソースコードB.28 RTCOPManager Private.h

1 # i f n d e f _ _ R T C O P _ C O R E _ R T C O P M A N A G E R _ P R I V A T E _ _

2 # d e f i n e _ _ R T C O P _ C O R E _ R T C O P M A N A G E R _ P R I V A T E _ _

3

4 n a m e s p a c e R T C O P {

5 n a m e s p a c e C o r e {

6

7 c l a s s L a y e r ;

8

9 // R T C O P管 理

10 c l a s s R T C O P M a n a g e r _ P r i v a t e {

11 p u b l i c:

12 // コ ン ス ト ラ ク タ

13 R T C O P M a n a g e r _ P r i v a t e (int n u m O f L a y e r s , int n u m O f B a s e C l a s s e s , int

* n u m O f B a s e M e t h o d s );

14 // デ ス ト ラ ク タ

15 v i r t u a l ~ R T C O P M a n a g e r _ P r i v a t e ();

16 p u b l i c:

17 // 登 録 さ れ た レ イ ヤ の 集 合

18 L a y e r ** _ R e g i s t e r d L a y e r s ;

19 // レ イ ヤ ー ド オ ブ ジ ェ ク ト の た め の 仮 想 関 数 テ ー ブ ル の 集 合

20 v o l a t i l e v o i d*** _ V i r t u a l F u n c t i o n T a b l e s ;

21 p u b l i c:

22 // レ イ ヤ の 個 数

23 int _ N u m O f L a y e r s ;

24 // ベ ー ス ク ラ ス の 個 数

25 int _ N u m O f B a s e C l a s s e s ;

26 // ベ ー ス メ ソ ッ ド の 個 数

27 int* _ N u m O f B a s e M e t h o d s ;

28 };

付録

130

29

30 } // n a m e s p a c e C o r e {}

31 } // n a m e s p a c e R T C O P {}

32

33 # e n d i f // ! _ _ R T C O P _ C O R E _ R T C O P M A N A G E R _ P R I V A T E _ _

ソースコードB.29 RTCOPManager.cpp

1 # i n c l u d e " R T C O P / C o r e / R T C O P M a n a g e r . h "

2 # i n c l u d e " C o r e / R T C O P M a n a g e r _ P r i v a t e . h "

3 # i n c l u d e " R T C O P / C o r e / L a y e r . h "

4

5 n a m e s p a c e R T C O P {

6 n a m e s p a c e C o r e {

7

8 //

-9 // プ ラ イ ベ ー ト ク ラ ス の 実 装

10 //

-11 R T C O P M a n a g e r _ P r i v a t e :: R T C O P M a n a g e r _ P r i v a t e (int n u m O f L a y e r s , int n u m O f B a s e C l a s s e s , int* n u m O f B a s e M e t h o d s ) {

12 // レ イ ヤ 、 ベ ー ス ク ラ ス 、 ベ ー ス メ ソ ッ ド の 個 数

13 _ N u m O f L a y e r s = n u m O f L a y e r s ;

14 _ N u m O f B a s e C l a s s e s = n u m O f B a s e C l a s s e s ;

15 _ N u m O f B a s e M e t h o d s = n u m O f B a s e M e t h o d s ;

16

17 // 登 録 レ イ ヤ 、 仮 想 関 数 テ ー ブ ル の た め の 配 列 を 作 成

18 _ R e g i s t e r d L a y e r s = new L a y e r *[ _ N u m O f L a y e r s ] { 0 };

19 _ V i r t u a l F u n c t i o n T a b l e s = new v o l a t i l e v o i d**[ _ N u m O f B a s e C l a s s e s ];

20 for (int i = 0; i < _ N u m O f B a s e C l a s s e s ; ++ i ) {

21 _ V i r t u a l F u n c t i o n T a b l e s [ i ] = new v o l a t i l e v o i d*[

_ N u m O f B a s e M e t h o d s [ i ]]{ 0 };

22 }

23 }

24 // デ ス ト ラ ク タ

25 R T C O P M a n a g e r _ P r i v a t e ::~ R T C O P M a n a g e r _ P r i v a t e () {

26 // 配 列 要 素 の 処 分

27 for (int i = 0; i < _ N u m O f L a y e r s ; ++ i ) {

28 // レ イ ヤ の 処 分

29 d e l e t e _ R e g i s t e r d L a y e r s [ i ];

30 _ R e g i s t e r d L a y e r s [ i ] = 0;

31 }

32 // 仮 想 関 数 テ ー ブ ル の 処 分

付録

131

33 for (int i = 0; i < _ N u m O f B a s e C l a s s e s ; ++ i ) {

34 d e l e t e[] _ V i r t u a l F u n c t i o n T a b l e s [ i ];

35 _ V i r t u a l F u n c t i o n T a b l e s [ i ] = 0;

36 }

37 // 配 列 の 処 分

38 d e l e t e[] _ R e g i s t e r d L a y e r s ;

39 _ R e g i s t e r d L a y e r s = 0;

40 d e l e t e[] _ V i r t u a l F u n c t i o n T a b l e s ;

41 _ V i r t u a l F u n c t i o n T a b l e s = 0;

42 d e l e t e[] _ N u m O f B a s e M e t h o d s ;

43 _ N u m O f B a s e M e t h o d s = 0;

44 }

45

46 //

-47 // R T C O P M a n a g e rの 実 装

48 //

-49 // コ ン ス ト ラ ク タ

50 R T C O P M a n a g e r :: R T C O P M a n a g e r (int n u m O f L a y e r s , int n u m O f B a s e C l a s s e s , int* n u m O f B a s e M e t h o d s ) {

51 _ P r i v a t e = new R T C O P M a n a g e r _ P r i v a t e ( n u m O f L a y e r s , n u m O f B a s e C l a s s e s , n u m O f B a s e M e t h o d s );

52 }

53 // デ ス ト ラ ク タ

54 R T C O P M a n a g e r ::~ R T C O P M a n a g e r () {

55 d e l e t e _ P r i v a t e ;

56 _ P r i v a t e = 0;

57 }

58 // レ イ ヤ の 登 録

59 v o i d R T C O P M a n a g e r :: R e g i s t e r L a y e r ( L a y e r * l a y e r ) {

60 // レ イ ヤ の 登 録

61 int l a y e r I D = layer - > G e t I D ();

62 if ( _ P r i v a t e - > _ R e g i s t e r d L a y e r s [ l a y e r I D ] == 0)

63 {

64 _ P r i v a t e - > _ R e g i s t e r d L a y e r s [ l a y e r I D ] = l a y e r ;

65 }

66 }

67 // レ イ ヤ の 取 得

68 L a y e r * c o n s t R T C O P M a n a g e r :: G e t L a y e r (int l a y e r i d ) {

69 r e t u r n _ P r i v a t e - > _ R e g i s t e r d L a y e r s [ l a y e r i d ];

70 }

71 // ク ラ ス I Dで 指 定 し た 仮 想 関 数 テ ー ブ ル を 取 得

72 v o l a t i l e v o i d** c o n s t R T C O P M a n a g e r :: G e t V i r t u a l F u n c t i o n T a b l e (int c l a s s i d ) {

73 r e t u r n _ P r i v a t e - > _ V i r t u a l F u n c t i o n T a b l e s [ c l a s s i d ];

付録

132

74 }

75 // レ イ ヤ 、 ベ ー ス ク ラ ス 、 ベ ー ス メ ソ ッ ド の 個 数 を 取 得

76 c o n s t int R T C O P M a n a g e r :: G e t N u m O f L a y e r s () {

77 r e t u r n _ P r i v a t e - > _ N u m O f L a y e r s ;

78 }

79 // レ イ ヤ 、 ベ ー ス ク ラ ス 、 ベ ー ス メ ソ ッ ド の 個 数 を 取 得

80 c o n s t int R T C O P M a n a g e r :: G e t N u m O f B a s e C l a s s e s () {

81 r e t u r n _ P r i v a t e - > _ N u m O f B a s e C l a s s e s ;

82 }

83 // レ イ ヤ 、 ベ ー ス ク ラ ス 、 ベ ー ス メ ソ ッ ド の 個 数 を 取 得

84 int* c o n s t R T C O P M a n a g e r :: G e t N u m O f B a s e M e t h o d s () {

85 r e t u r n _ P r i v a t e - > _ N u m O f B a s e M e t h o d s ;

86 }

87 // レ イ ヤ 、 ベ ー ス ク ラ ス 、 ベ ー ス メ ソ ッ ド の 個 数 を 取 得

88 c o n s t int R T C O P M a n a g e r :: G e t N u m O f B a s e M e t h o d s (int c l a s s i d ) {

89 r e t u r n _ P r i v a t e - > _ N u m O f B a s e M e t h o d s [ c l a s s i d ];

90 }

91

92 } // n a m e s p a c e C o r e {}

93 } // n a m e s p a c e R T C O P {}

ソースコード B.30 Initializer.h

1 # i f n d e f _ _ R T C O P _ C O R E _ I N I T I A L I Z E R _ _

2 # d e f i n e _ _ R T C O P _ C O R E _ I N I T I A L I Z E R _ _

3

4 n a m e s p a c e R T C O P {

5 n a m e s p a c e C o r e {

6

7 // 初 期 化 す る オ ブ ジ ェ ク ト の 宣 言

8 c l a s s R T C O P M a n a g e r ;

9 c l a s s L a y e r d O b j e c t I n i t i a l i z e r ;

10 c l a s s L a y e r A c t i v a t e r ;

11

12 // R T C O Pの 初 期 化 を 行 う ク ラ ス

13 c l a s s I n i t i a l i z e r {

14 p u b l i c:

15 // コ ン ス ト ラ ク タ

16 I n i t i a l i z e r ();

17 // デ ス ト ラ ク タ

18 v i r t u a l ~ I n i t i a l i z e r ();

19 p u b l i c:

20 // R T C O P M a n a g e rの 生 成

付録

133

21 v i r t u a l R T C O P M a n a g e r * I n i t i a l i z e R T C O P M a n a g e r () = 0;

22 // L a y e r d O b j e c t I n i t i a l i z e rの 生 成

23 v i r t u a l L a y e r d O b j e c t I n i t i a l i z e r *

I n i t i a l i z e L a y e r d O b j e c t I n i t i a l i z e r ( R T C O P M a n a g e r * m a n a g e r ) = 0;

24 // L a y e r A c t i v a t e rの 生 成

25 v i r t u a l L a y e r A c t i v a t e r * I n i t i a l i z e L a y e r A c t i v a t e r ( R T C O P M a n a g e r * m a n a g e r ) = 0;

26 // レ イ ヤ の 登 録

27 v i r t u a l v o i d R e g i s t e r L a y e r s ( R T C O P M a n a g e r * m a n a g e r ) = 0;

28 // 初 回 レ イ ヤ ア ク テ ィ ベ ー シ ョ ン

29 v i r t u a l v o i d F i r s t L a y e r A c t i v a t i o n ( L a y e r A c t i v a t e r * a c t i v a t e r ) = 0;

30 };

31

32 } // n a m e s p a c e C o r e {}

33 } // n a m e s p a c e R T C O P {}

34

35 # e n d i f // ! _ _ R T C O P _ C O R E _ I N I T I A L I Z E R _ _

ソースコード B.31 Initializer.cpp

1 # i n c l u d e " R T C O P / C o r e / I n i t i a l i z e r . h "

2

3 n a m e s p a c e R T C O P {

4 n a m e s p a c e C o r e {

5

6 // コ ン ス ト ラ ク タ

7 I n i t i a l i z e r :: I n i t i a l i z e r () {

8 }

9 // デ ス ト ラ ク タ

10 I n i t i a l i z e r ::~ I n i t i a l i z e r () {

11 }

12

13 } // n a m e s p a c e C o r e {}

14 } // n a m e s p a c e R T C O P {}

付録

134

C RTCOP の自動生成コード

C.1 API

ソースコード C.32 API.h

1 # i f n d e f _ _ R T C O P _ G E N E R A T E D _ A P I _ _

2 # d e f i n e _ _ R T C O P _ G E N E R A T E D _ A P I _ _

3

4 // ユ ー ザ に 必 要 な ヘ ッ ダ を イ ン ク ル ー ド

5 # i n c l u d e " R T C O P _ G e n e r a t e d / C O P N e w F o r A p p . h "

6 # i n c l u d e " R T C O P _ G e n e r a t e d / A c t i v a t i o n F o r A p p . h "

7

8 # e n d i f // ! _ _ R T C O P _ G E N E R A T E D _ A P I _ _

ソースコード C.33 COPNewForApp.h

1 # i f n d e f _ _ R T C O P _ G E N E R A T E D _ C O P N E W F O R A P P _ _

2 # d e f i n e _ _ R T C O P _ G E N E R A T E D _ C O P N E W F O R A P P _ _

3

4 // 元 々 のc o p n e wの 読 み 込 み

5 # i n c l u d e " R T C O P / C O P N e w . h "

6

7 // ベ ー ス ク ラ ス の 宣 言

8 c l a s s H e l l o ;

9

10 n a m e s p a c e R T C O P {

11

12 n a m e s p a c e G e n e r a t e d {

13 // 知 ら な い ク ラ ス のI D-1

14 t e m p l a t e<c l a s s Base >

15 i n l i n e c o n s t int G e t B a s e C l a s s I D () { r e t u r n -1; }

16 // H e l l oの ク ラ スI D

17 t e m p l a t e< >

18 i n l i n e c o n s t int G e t B a s e C l a s s I D < Hello >() { r e t u r n 0; }

19

20 } // n a m e s p a c e G e n e r a t e d {}

21

22 // レ イ ヤ ー ド な ク ラ ス の イ ン ス タ ン ス 化

付録

135

23 t e m p l a t e<c l a s s Base , c l a s s... A r g T y p e s >

24 i n l i n e C o r e :: L a y e r d O b j e c t < Base >* c o p n e w ( A r g T y p e s ... a r g s ) {

25 // ク ラ スI Dの 取 得

26 c o n s t int c l a s s I d = G e n e r a t e d :: G e t B a s e C l a s s I D < Base > ( ) ;

27 // 結 果 を 返 す

28 r e t u r n COPNew < Base >( classId , a r g s . . . ) ;

29 }

30

31 } // n a m e s p a c e R T C O P {}

32

33 # e n d i f // ! _ _ R T C O P _ G E N E R A T E D _ _ C O P N E W _ _

ソースコードC.34 ActivationForApp.h

1 # i f n d e f _ _ R T C O P _ G E N E R A T E D _ A C T I V A T I O N F O R A P P _ _

2 # d e f i n e _ _ R T C O P _ G E N E R A T E D _ A C T I V A T I O N F O R A P P _ _

3

4 // 元 々 のa c t i v a t i o nを 読 み 込 む

5 # i n c l u d e " R T C O P / A c t i v a t i o n . h "

6

7 n a m e s p a c e R T C O P {

8 n a m e s p a c e G e n e r a t e d {

9 // レ イ ヤID

10 e n u m c l a s s L a y e r I D : int {

11 B a s e L a y e r = 0 ,

12 J a p a n e s e L a y e r = 1 ,

13 E n g l i s h L a y e r = 2 ,

14 };

15 } // n a m e s p a c e G e n e r a t e d {}

16

17 // ア ク テ ィ ベ ー ト

18 i n l i n e v o i d a c t i v a t e ( G e n e r a t e d :: L a y e r I D l a y e r i d ) {

19 A c t i v a t e ((int) l a y e r i d );

20 }

21 // デ ィ ア ク テ ィ ベ ー ト

22 i n l i n e v o i d d e a c t i v a t e ( G e n e r a t e d :: L a y e r I D l a y e r i d ) {

23 D e a c t i v a t e ((int) l a y e r i d );

24 }

25

26 } // n a m e s p a c e R T C O P {}

27

28 # e n d i f // ! _ _ R T C O P _ G E N E R A T E D _ A C T I V A T I O N _ _

付録

136

ドキュメント内 九州大学学術情報リポジトリ (ページ 135-147)