actiondb 0.7.0

A safe and efficient unstructured text (log) parsing library.
Documentation
use super::PatternFile;
use matcher::pattern::Pattern;
use matcher::pattern::source::BuildResult;

use std::iter;

impl iter::IntoIterator for PatternFile {
    type Item = BuildResult;
    type IntoIter = IntoIter;

    fn into_iter(self) -> Self::IntoIter {
        IntoIter { patterns: self.patterns }
    }
}

pub struct IntoIter {
    patterns: Vec<Pattern>,
}

impl Iterator for IntoIter {
    type Item = BuildResult;

    fn next(&mut self) -> Option<Self::Item> {
        match self.patterns.pop() {
            Some(pattern) => Some(Ok(pattern)),
            None => None,
        }
    }
}