+
+ kernel::activity::ActivityImpl* get_impl() const { return pimpl_.get(); }
+
+private:
+ kernel::activity::ActivityImplPtr pimpl_ = nullptr;
+ Activity::State state_ = Activity::State::INITED;
+ double remains_ = 0;
+};
+
+template <class AnyActivity> class Activity_T : public Activity {
+private:
+ std::string name_ = "";
+ std::string tracing_category_ = "";
+ void* user_data_ = nullptr;
+
+public:
+ AnyActivity* set_name(const std::string& name)