select_support_mcl<t_b,t_pat_len>::select_support_mcl(const bit_vector* f_v):select_support(f_v) { if (t_pat_len>1 or(vv!=nullptr and vv->size() < 100000)) init_slow(vv); else init_fast(vv); return; }
/* * fast_opra_init * * Initialize the decoder callback functions, and also initialize * the fast decoder context. */ void fast_opra_init(Fast *fast) { /* * Initialize the decoder function pointers for all message * categories. */ memset(FastOpra_msg_ops, 0 , sizeof(FastOpra_msg_ops)); FastOpra_msg_ops['k' - 'A'] = decode_OpraFastQuoteSizeMsg_v2; FastOpra_msg_ops['d' - 'A'] = decode_OpraFastOpenIntMsg_v2; FastOpra_msg_ops['a' - 'A'] = decode_OpraFastLastSaleMsg_v2; FastOpra_msg_ops['f' - 'A'] = decode_OpraFastEodMsg_v2; FastOpra_msg_ops['O' - 'A'] = decode_OpraFastFcoLastSaleMsg_v2; FastOpra_msg_ops['U' - 'A'] = decode_OpraFastFcoQuoteMsg_v2; FastOpra_msg_ops['F' - 'A'] = decode_OpraFastFcoEodMsg_v2; FastOpra_msg_ops['Y' - 'A'] = decode_OpraFastUlValueMsg_v2; FastOpra_msg_ops['C' - 'A'] = decode_OpraFastAdminMsg_v2; FastOpra_msg_ops['H' - 'A'] = decode_OpraFastControlMsg_v2; /* * Initialize the Fast context */ init_fast(fast); }