fn topic_product(&self) -> impl Iterator<Item = Vec<Option<H256>>> + '_ {
        self.topics
            .iter()
            .cloned()
            .map(|i| i.into_iter())
            .multi_cartesian_product()
    }
/// Convert topics filter to its cartesian_product
///
/// This product can be later combined into array of Bloom filters.
///
/// Example:
/// [[A, B], [C, B]] become [[A, C], [A, B], [B, C], [B, B]],
/// [None, [C, B]] become [[None, C], [None, B]],
///
Convert topics filter to its cartesian_product
This product can be later combined into array of Bloom filters.


Convert topics filter to its cartesian_product This product can be later combined into array of Bloom filters .
fn topic_product(&self) -> impl Iterator<Item = Vec<Option<H256>>> + '_ {
        self.topics
            .iter()
            .cloned()
            .map(|i| i.into_iter())
            .multi_cartesian_product()
    }
fn topic_product ( & self ) -> impl Iterator < Item = Vec < Option < H256 > > > + ' _ { self . topics . iter ( ) . cloned ( ) . map ( | i | i . into_iter ( ) ) . multi_cartesian_product ( ) }
Convert topics filter to its cartesian_product
This product can be later combined into array of Bloom filters.
Convert topics filter to its cartesian_product This product can be later combined into array of Bloom filters .
&self
&self