Do not use _t for feature_mask type
Replace emplace_back() with reserve+emplace_back
Added grammar deduction