In the tutorial for the boost serialization library it says that "The serialization library detects when the object being serialized is an array" and therefore code like bus_stop * stops[10]; ar & stops; is equivalent to using a for loop for(i = 0; i < 10; ++i) { ar & stops[i]; }.
How can the library determine at runtime to how many elements the pointer stops points to? Or even that it actually is an array and not a pointer to a single object? I wasn't able to find any hint in the source code yet.
Thanks!