105 static bool route(
ExchangeType type,
const std::string &routing_key,
const std::string &binding_key)
108 return routing_key == binding_key;
123 std::vector<std::string> bkeys, rkeys;
127 std::vector<std::vector<bool>> dp(n_bkey + 1, std::vector<bool>(n_rkey + 1,
false));
131 for (
int i = 1; i <= bkeys.size(); i++)
133 if (bkeys[i - 1] ==
"#")
141 for (
int i = 1; i <= n_bkey; i++)
143 for (
int j = 1; j <= n_rkey; j++)
145 if (bkeys[i - 1] == rkeys[j - 1] || bkeys[i - 1] ==
"*")
147 dp[i][j] = dp[i - 1][j - 1];
149 else if (bkeys[i - 1] ==
"#")
151 dp[i][j] = dp[i - 1][j - 1] | dp[i - 1][j] | dp[i][j - 1];
155 return dp[n_bkey][n_rkey];