c++ method chaining