1. FixValues.h 类定义了Field;
源码如下:
namespace FIX
{
const int DeliveryForm_BOOKENTRY = 1;
const int DeliveryForm_BEARER = 2;
const int DeliveryForm_BOOK_ENTRY = 1;
const int ExecRestatementReason_GTRENEW = 1;
const int ExecRestatementReason_WAREHOUSE_RECAP = 10;
const int ExecRestatementReason_CANCELEDNOTBEST = 9;
2.Values.h 类主要定义了BeginString_FIXTXX和SessionRejectReason_XXX;
3.FixField的代码如下:
DEFINE_STRING(RelatedPartyID);
DEFINE_INT(MaxPriceLevels);
DEFINE_DATA(DerivativeEncodedIssuer);
DEFINE_NUMINGROUP(NoCompIDs);
DEFINE_STRING(SettlInstRefID);
这里的
DEFINE_XXX是神马玩意呢?
戳进去->
#define DEFINE_STRING( NAME ) \
DEFINE_FIELD_CLASS(NAME, String, FIX::STRING)
然后->
#define DEFINE_FIELD_CLASS( NAME, TOK, TYPE ) \
DEFINE_FIELD_CLASS_NUM(NAME, TOK, TYPE, FIELD::NAME)