Ejemplo n.º 1
0
        public IFilter <TOutput> Compile()
        {
            if (m_CompilationResult != null)
            {
                return(m_CompilationResult);
            }

            m_CompiledFilters = m_InputFilters
                                .Select(x => x.Compile())
                                .ToArray();

            m_CompilationResult = Optimize();
            ProcessData.AddInputs(new[] { m_CompilationResult.ProcessData });
            return(m_CompilationResult);
        }
Ejemplo n.º 2
0
        protected Filter(TOutput output, params IFilter <TInput>[] inputFilters)
        {
            if (inputFilters == null || inputFilters.Any(f => f == null))
            {
                throw new ArgumentNullException("inputFilters");
            }

            m_Initialized       = false;
            m_CompilationResult = null;
            m_InputFilters      = inputFilters;

            m_Output = output;

            m_ProcessData = new ProcessData();
            ProcessData.AddInputs(InputFilters.Select(f => f.ProcessData));
        }