6 #include <unordered_map> 9 typedef std::unordered_map<std::string, std::string> valid_subtype_t;
11 valid_subtype_t valid_subtypes;
12 std::once_flag valid_subtypes_initialized;
14 void initialize_valid_subtypes();
20 std::call_once(valid_subtypes_initialized, initialize_valid_subtypes);
22 return valid_subtypes.find(value) != valid_subtypes.end();
35 <<
",short_sale_threshold_indicator=" 44 void initialize_valid_subtypes() {
45 valid_subtypes.emplace(
"A",
"Preferred Trust Securities");
46 valid_subtypes.emplace(
"AI",
"Alpha Index ETNs");
47 valid_subtypes.emplace(
"B",
"Index Based Derivative");
48 valid_subtypes.emplace(
"C",
"Common Shares");
49 valid_subtypes.emplace(
"CB",
"Commodity Based Trust Shares");
50 valid_subtypes.emplace(
"CF",
"Commodity Futures Trust Shares");
51 valid_subtypes.emplace(
"CL",
"Commodity-Linked Securities");
52 valid_subtypes.emplace(
"CM",
"Commodity Index Trust Shares");
53 valid_subtypes.emplace(
"CO",
"Collateralized Mortgage Obligation");
54 valid_subtypes.emplace(
"CT",
"Currency Trust Shares");
55 valid_subtypes.emplace(
"CU",
"Commodity-Currency-Linked Securities");
56 valid_subtypes.emplace(
"CW",
"Currency Warrants");
57 valid_subtypes.emplace(
"D",
"Global Depositary Shares");
58 valid_subtypes.emplace(
"E",
"ETF-Portfolio Depositary Receipt");
59 valid_subtypes.emplace(
"EG",
"Equity Gold Shares");
60 valid_subtypes.emplace(
"EI",
"ETN-Equity Index-Linked Securities");
61 valid_subtypes.emplace(
"EM",
"Exchange Traded Managed Funds*");
62 valid_subtypes.emplace(
"EN",
"Exchange Traded Notes");
63 valid_subtypes.emplace(
"EU",
"Equity Units");
64 valid_subtypes.emplace(
"F",
"HOLDRS");
65 valid_subtypes.emplace(
"FI",
"ETN-Fixed Income-Linked Securities");
66 valid_subtypes.emplace(
"FL",
"ETN-Futures-Linked Securities");
67 valid_subtypes.emplace(
"G",
"Global Shares");
68 valid_subtypes.emplace(
"I",
"ETF-Index Fund Shares");
69 valid_subtypes.emplace(
"IR",
"Interest Rate");
70 valid_subtypes.emplace(
"IW",
"Index Warrant");
71 valid_subtypes.emplace(
"IX",
"Index-Linked Exchangeable Notes");
72 valid_subtypes.emplace(
"J",
"Corporate Backed Trust Security");
73 valid_subtypes.emplace(
"L",
"Contingent Litigation Right");
74 valid_subtypes.emplace(
75 "LL",
"Identifies securities of companies that are set up " 76 "as a Limited Liability Company (LLC)");
77 valid_subtypes.emplace(
"M",
"Equity-Based Derivative");
78 valid_subtypes.emplace(
"MF",
"Managed Fund Shares");
79 valid_subtypes.emplace(
"ML",
"ETN-Multi-Factor Index-Linked Securities");
80 valid_subtypes.emplace(
"MT",
"Managed Trust Securities");
81 valid_subtypes.emplace(
"N",
"NY Registry Shares");
82 valid_subtypes.emplace(
"O",
"Open Ended Mutual Fund");
83 valid_subtypes.emplace(
"P",
"Privately Held Security");
84 valid_subtypes.emplace(
"PP",
"Poison Pill");
85 valid_subtypes.emplace(
"PU",
"Partnership Units");
86 valid_subtypes.emplace(
"Q",
"Closed-End Funds");
87 valid_subtypes.emplace(
"R",
"Reg-S");
88 valid_subtypes.emplace(
89 "RC",
"Commodity-Redeemable Commodity-Linked Securities");
90 valid_subtypes.emplace(
"RF",
"ETN-Redeemable Futures-Linked Securities");
91 valid_subtypes.emplace(
"RT",
"REIT");
92 valid_subtypes.emplace(
93 "RU",
"Commodity-Redeemable Currency-Linked Securities");
94 valid_subtypes.emplace(
"S",
"SEED");
95 valid_subtypes.emplace(
"SC",
"Spot Rate Closing");
96 valid_subtypes.emplace(
"SI",
"Spot Rate Intraday");
97 valid_subtypes.emplace(
"T",
"Tracking Stock");
98 valid_subtypes.emplace(
"TC",
"Trust Certificates");
99 valid_subtypes.emplace(
"TU",
"Trust Units");
100 valid_subtypes.emplace(
"U",
"Portal");
101 valid_subtypes.emplace(
"V",
"Contingent Value Right");
102 valid_subtypes.emplace(
"W",
"Trust Issued Receipts");
103 valid_subtypes.emplace(
"WC",
"World Currency Option");
104 valid_subtypes.emplace(
"X",
"Trust");
105 valid_subtypes.emplace(
"Y",
"Other");
106 valid_subtypes.emplace(
"Z",
"Not Applicable");
issue_classification_t issue_classification
financial_status_indicator_t financial_status_indicator
short_sale_threshold_indicator_t short_sale_threshold_indicator
static constexpr int message_type
roundlots_only_t roundlots_only
luld_reference_price_tier_t luld_reference_price_tier
inverse_indicator_t inverse_indicator
market_category_t market_category
issue_subtype_t issue_subtype
authenticity_t authenticity
bool operator()(char const *value) const
functor operator
std::ostream & operator<<(std::ostream &os, add_order_message const &x)
Streaming operator for jb::itch5::add_order_message.
Represent a 'Stock Directory' message in the ITCH-5.0 protocol.