| 601 | }; |
| 602 | |
| 603 | class Unknown : public Node { |
| 604 | public: |
| 605 | using Node::Node; |
| 606 | |
| 607 | virtual ~Unknown() {} |
| 608 | |
| 609 | protected: |
| 610 | std::shared_ptr<Node> Clone(std::shared_ptr<Node> output) const override |
| 611 | SHARED_LOCKS_REQUIRED(mu_) { |
| 612 | return std::make_shared<Unknown>(Args{id_, name_, std::move(output)}); |
| 613 | } |
| 614 | |
| 615 | // The output time is the sum of output times of inputs. |
| 616 | double OutputTimeLocked(std::vector<double>* input_times, |
| 617 | std::map<string, double>* gradient) const override |
| 618 | SHARED_LOCKS_REQUIRED(mu_) { |
| 619 | return OutputTimeForInputs(input_times, gradient); |
| 620 | } |
| 621 | |
| 622 | // The processing time is the sum of processing times of inputs. |
| 623 | double TotalProcessingTimeLocked(std::map<string, double>* processing_times) |
| 624 | override SHARED_LOCKS_REQUIRED(mu_) { |
| 625 | return TotalProcessingTimeForInputs(processing_times); |
| 626 | } |
| 627 | }; |
| 628 | |
| 629 | } // namespace |
| 630 |
no outgoing calls