wiki:IMPref_macros

Version 1 (modified by okuma-top, 8 years ago) ( diff )

--

マクロ

以下に、TECS ジェネレータが生成し、セルタイプコードで使用可能なマクロの一覧を記します。 セルタイプコードを記述する場合、短縮形を用います。

マクロ 短縮形 通常形
IDXの正当性チェック VALID_IDX tCelltype_VALID_IDX
セルCBを得るマクロ GET_CELLCB tCelltype_GET_CELLCB
属性アクセスマクロ ATTR_attribute tCelltype_ATTR_attribute
内部変数アクセスマクロ VAR_variable tCelltype_VAR_variable
呼び口関数マクロ cCall_func
受け口関数マクロ eEntry_func tCelltype_eEntry_func
呼び口関数マクロ cCall_func
呼び口配列サイズマクロ N_CP_cCall
FOREACH_CELLマクロ FOREACH_CELL

この表では、一例を示しています。 以下のような置き換えが必要です。

  • attirbute は属性名に置き換える
  • variable は内部変数名に置き換える
  • func は関数名に置き換える
  • cCall は呼び口名に置き換える
  • eEntry は受け口名に置き換える
  • tCelltype はセルタイプ名に置き換える

短縮形マクロ

短縮形マクロは、通常形に優先して使用されることが意図されています。 また、テンプレートコードは、短縮形の使用を意図して生成されています。 属性・変数参照マクロでは CELLCB へのポインタが p_cellcb という名前で定義されることが仮定されています。

セルCBを得るマクロ(短縮形)

セル CB を得るマクロは、GET_CELLCB です。

【マクロ定義例】

 #define GET_CELLCB(idx)  tAttribute_GET_CELLCB(idx)

IDXの正当性チェックマクロ(短縮形)

IDXの正当性チェックマクロは VALID_IDX です。

【マクロ定義例】

 #define VALID_IDX(IDX)  tAttribute_VALID_IDX(IDX)

属性アクセスマクロ(短縮形)

属性アクセスマクロは、接頭辞 'ATTR_' に属性名を結合した名前です。

【マクロ定義例】

 #define ATTR_size           	((p_cellcb)->_inib->size)
 #define ATTR_size_array     	((p_cellcb)->_inib->size_array)
 #define ATTR_ptr            	((p_cellcb)->_inib->ptr)

内部変数アクセスマクロ(短縮形)

内部変数アクセスマクロは、接頭辞 'VAR_' に属性名を結合した名前です。

【マクロ定義例】

 #define VAR_sz_array        	((p_cellcb)->sz_array)

呼び口配列の大きさを得るマクロ(短縮形のみ)

呼び口配列の大きさを得るマクロは、接頭辞 'N_CP_' に呼び口名を結合した名前です。 呼び口が配列の場合のみ、このマクロが生成されます。

【マクロ定義例】

  #define N_CP_carray    (2)

オプショナル呼び口テストマクロ(短縮形)

呼び口配列の場合、このマクロで結合をチェックする前に、呼び口配列の大きさが1以上であることを確認してください。

【マクロ定義例】

  #define is_cCall_joined      ((p_cellcb)->_inib->cCall!=0)

通常形マクロ

通常形のマクロは、他のセルの属性、変数を参照するために使用することが意図されています。

IDXの正当性チェックマクロ

【マクロ定義例】

#define tAttribute_VALID_IDX(IDX) (1)

セルCBを得るマクロ

【マクロ定義例】

 #define tAttribute_GET_CELLCB(idx) (idx)

属性アクセスマクロ

【マクロ定義例】

 #define tAttribute_ATTR_size( p_that )	((p_that)->_inib->size)
 #define tAttribute_ATTR_size_array( p_that )	((p_that)->_inib->size_array)
 #define tAttribute_ATTR_ptr( p_that )	((p_that)->_inib->ptr)

 #define tAttribute_GET_size(p_that)	((p_that)->_inib->size)
 #define tAttribute_GET_size_array(p_that)	((p_that)->_inib->size_array)
 #define tAttribute_GET_ptr(p_that)	((p_that)->_inib->ptr)

変数アクセスマクロ

【マクロ定義例】

 #define tAttribute_VAR_sz_array	((p_cellcb)->sz_array)

 #define tAttribute_GET_sz_array(p_that)	((p_that)->sz_array)
 #define tAttribute_SET_sz_array(p_that,val)	((p_that)->sz_array=(val))

オプショナル呼び口テストマクロ

呼び口配列の場合、このマクロで結合をチェックする前に、呼び口配列の大きさが1以上であることを確認すること。

【マクロ定義例】

  #define tCelltype_is_cCall_joined(p_that)      ((p_that)->_inib->cCall!=0)

[TECS リファレンスマニュアル トップ] [TECS コンポーネント実装リファレンスマニュアル トップ目次]]

Note: See TracWiki for help on using the wiki.