(I'm assuming that all A,B,C are objects of different classes. Are they ?)
Since they represent processes (..can you clarify that more ?..there maybe something wrong with the way you're approaching this...);
You can declare the abject A as a functor which returns a vector of the values and automatically generate the next value.
Example: (Put something like this in the public portion of the class)
After that you can call the object like a function and get back the three values.
vector<int> operator()() //If you do not understand this, read up on operator overloading.
GenerateNext(); B.GenerateNext(); C.GenerateNext();
vector<int> x = A();
x, x, and x gives the three individual values.
And, you can tweak the fnction fuch that it takes an agrument, depending on which it returns only one value or all the three.