- StartLinkEvent(double timestamp, Container* container, Type* type, Container* sourceContainer, const char* value,
- const char* key);
- StartLinkEvent(double timestamp, Container* container, Type* type, Container* sourceContainer, const char* value,
- const char* key, int size);
- void print() override;
+ VarCollTIData(const std::string& name, int root, long int send_size, std::shared_ptr<std::vector<int>> sendcounts,
+ long int recv_size, std::shared_ptr<std::vector<int>> recvcounts, const std::string& send_type,
+ const std::string& recv_type)
+ : TIData(name)
+ , root_(root)
+ , send_size_(send_size)
+ , sendcounts_(sendcounts)
+ , recv_size_(recv_size)
+ , recvcounts_(recvcounts)
+ , send_type_(send_type)
+ , recv_type_(recv_type){};
+
+ std::string print() override
+ {
+ std::stringstream stream;
+ stream << get_name() << " ";
+ if (send_size_ > -1)
+ stream << send_size_ << " ";
+ if (sendcounts_ != nullptr)
+ for (auto count : *sendcounts_)
+ stream << count << " ";
+ if (recv_size_ > -1)
+ stream << recv_size_ << " ";
+ if (recvcounts_ != nullptr)
+ for (auto count : *recvcounts_)
+ stream << count << " ";
+ if (root_ > 0 || (root_ == 0 && not send_type_.empty()))
+ stream << root_ << " ";
+ stream << send_type_ << " " << recv_type_;
+
+ return stream.str();
+ }
+ std::string display_size() override { return std::to_string(send_size_ > 0 ? send_size_ : recv_size_); }