+#if FASTTAGKEY
+typedef union {
+ uint16_t tab[2];
+ uint32_t tagkey;
+ } TagKey;
+/* ostream operator for TagKey */
+inline std::ostream& operator<<(std::ostream& _O, TagKey _val)
+{
+ return ( _O << std::right << std::setw(4) << std::setfill('0') << std::hex
+ << _val.tab[0] << "|" << std::right << std::setw(4) <<
+ std::setfill('0') << std::hex << _val.tab[1]);
+};
+inline bool operator==(TagKey _self, TagKey _val)
+{
+ return _self.tagkey == _val.tagkey;
+};
+inline bool operator<(TagKey _self, TagKey _val)
+{
+ return _self.tagkey < _val.tagkey;
+};
+#else