- Timestamp:
- 01/25/17 16:25:17 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_yushan/src/parse_expr/filter_expr_node.cpp
r1001 r1037 40 40 boost::shared_ptr<COutputPin> CFilterTemporalFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 41 41 { 42 boost::shared_ptr<COutputPin> outputPin; 43 44 if (fieldId == "this") 45 outputPin = thisField.getSelfTemporalDataFilter(gc, thisField.freq_op.isEmpty() ? TimeStep : thisField.freq_op); 46 else if (CField::has(fieldId)) 47 { 48 CField* field = CField::get(fieldId); 49 if (field == &thisField) 50 ERROR("boost::shared_ptr<COutputPin> CFilterTemporalFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField) const", 51 << "The field " << fieldId << " has an invalid reference to itself. " 52 << "Use the keyword \"this\" if you want to reference the input data sent to this field."); 53 54 field->buildFilterGraph(gc, false); 55 outputPin = field->getTemporalDataFilter(gc, thisField.freq_op.isEmpty() ? TimeStep : thisField.freq_op); 56 } 57 else 42 if (!CField::has(fieldId)) 58 43 ERROR("boost::shared_ptr<COutputPin> CFilterTemporalFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField) const", 59 44 << "The field " << fieldId << " does not exist."); 60 45 61 return outputPin; 46 CField* field = CField::get(fieldId); 47 if (field == &thisField) 48 ERROR("boost::shared_ptr<COutputPin> CFilterFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField) const", 49 << "The field " << fieldId << " has an invalid reference to itself."); 50 51 field->buildFilterGraph(gc, false); 52 return field->getTemporalDataFilter(gc, thisField.freq_op.isEmpty() ? TimeStep : thisField.freq_op); 62 53 } 63 54
Note: See TracChangeset
for help on using the changeset viewer.