SourceForge.jp

dKingyoMacro.h

#include "dkutilCompileOption.h"
#include "dkutilConfig.h"

dKingyoMacro.hのインクルード依存関係図

Include dependency graph

このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

Included by dependency graph

ソースコードを見る。

マクロ定義

#define VISUAL_LASTERROR()
 GetLastError 可視化.

#define DEBUGMB(s)   {}
#define DEBUGODS(s)   {}
#define DEBUGASSERT(s)   {}
#define SET_VA_LIST_INSERT_YEN_N(s, snum, origin)
 SET_VA_LISTの文字列の最後に'
'を付け足すバージョン 警告・・・これにバッファオーバーフロウの危険性があるかも!?誰か指摘してクレイ・・・.

#define BEGIN_GET_MANY_ARG(result, s, add, str)
 沢山引数をつける関数のサポート(高機能版)

#define END_GET_MANY_ARG(mem)
 沢山引数をつける関数のサポートを終了する

#define YANE_WARNING(var, s)   {}
#define DK_WARNING(s)
#define DINLINE
 状況に応じてインラインを作る(dkutilはC++オンリーだからすでにもう無用のものかも!?

#define DK_THROW(str)
#define DK_BAD_ALLOC()   ((void)0)
#define DK_TRUE_ASSERT_OR_THROW(ass, thr)
#define DKUTIL_TRUE_ASSERT_OR_THROW(a1, a2)   DK_TRUE_ASSERT_OR_THROW(a1,a2)
 DK_TRUE_ASSERT_OR_THROW のWrapper.

#define DKUTIL_RETURN_FALSE(func)   if(false==func){return false;}
 if(false==なんたらかんたら){return false;}を簡略化するためのマクロ

#define BOOST_PROTECTED   public
#define BOOST_PRIVATE   public
#define numof(s)   ( sizeof(s) / sizeof(s[0]) )

関数

 ERROR_BOX ("file:%s\nline:%d", __FILE__, __LINE__)
 exit (-1)


マクロ定義

#define BEGIN_GET_MANY_ARG result,
s,
add,
str   ) 
 

値:

{ \
        size_t strnum = strlen(str) + add;\
        s = (char *)::malloc(strnum);\
        result = false;\
        if(s){\
            SET_VA_LIST(s,strnum,str);\
            result = true;\
        }\
    }
沢山引数をつける関数のサポート(高機能版)

引数:
result[out] 成功したかどうかを返す true = 成功 false = 失敗 s[out] char * の変数を渡す。これに文字列を格納する内部でmallocするのでEND_GET_MANY_ARGを呼び出すこと
add[in] size_t (unsigned long)型の文字列拡張バッファのbyte単位の数を渡す。大体200前後が目安(凄い長い文字列の場合はやっぱりかなり必要になりそう
str[in] 元の文字列を渡す

#define BOOST_PRIVATE   public
 

#define BOOST_PROTECTED   public
 

#define DEBUGASSERT  )     {}
 

#define DEBUGMB  )     {}
 

#define DEBUGODS  )     {}
 

#define DINLINE
 

状況に応じてインラインを作る(dkutilはC++オンリーだからすでにもう無用のものかも!?

 
#define DK_BAD_ALLOC  )     ((void)0)
 

#define DK_THROW str   ) 
 

値:

{ \
    char buff[2056];\
    _snprintf(buff,"例外処理が発生しました. -> %s",str);\
    MessageBox(NULL,buff,"例外発生",MB_OK);\

#define DK_TRUE_ASSERT_OR_THROW ass,
thr   ) 
 

値:

{if(ass){\
        assert(!ass);\
    }}

#define DK_WARNING  ) 
 

#define DKUTIL_RETURN_FALSE func   )     if(false==func){return false;}
 

if(false==なんたらかんたら){return false;}を簡略化するためのマクロ

#define DKUTIL_TRUE_ASSERT_OR_THROW a1,
a2   )     DK_TRUE_ASSERT_OR_THROW(a1,a2)
 

DK_TRUE_ASSERT_OR_THROW のWrapper.

#define END_GET_MANY_ARG mem   ) 
 

値:

{\
        if(mem){::free(mem);mem=NULL;}\
    }
沢山引数をつける関数のサポートを終了する

引数:
mem[in] BEGIN_GET_MANY_ARGのsでもらったものを渡す

#define numof  )     ( sizeof(s) / sizeof(s[0]) )
 

#define SET_VA_LIST_INSERT_YEN_N s,
snum,
origin   ) 
 

値:

{\
        SET_VA_LIST(s,snum,origin);\
        size_t len = strlen(s);\
        bool isYen = s[len-1] != '\n';\
        if(len >= snum - 1){\
            if(isYen){\
                s[len-1]='\n';\
            }\
        }else{\
            if(isYen){\
                s[len] = '\n';\
                s[len + 1] = '\0';\
            }\
        }\
    }
SET_VA_LISTの文字列の最後に'
'を付け足すバージョン 警告・・・これにバッファオーバーフロウの危険性があるかも!?誰か指摘してクレイ・・・.

 
#define VISUAL_LASTERROR  ) 
 

値:

{\
  LPVOID lpMsgBuf;\
  FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,\
               NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL );\
  ::MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );\
  LocalFree( lpMsgBuf );\
}
GetLastError 可視化.

作者:
d金魚

#define YANE_WARNING var,
 )     {}
 


関数

ERROR_BOX "file:%s\nline:%d"  ,
__FILE__  ,
__LINE__ 
 

exit 1  ) 
 


dkutil 1.02リリース前 d金魚専用マニュアルバージョンに対してSun Dec 28 21:23:09 2003に生成されました。 doxygen 1.3.5