Graph class
class to create a graph object
A graph is the ultimate storage for a task dependency graph and is the main gateway to interact with an executor. This class is mainly used for creating an opaque graph object in a custom class to interact with the executor through taskflow composition.
A graph object is move-only.