According to the spec 4.5 Table 2.2 (bat you can find the same information on the wiki), GLsizeiptr is described as:
Non-negative binary integer size, for pointer offsets and ranges
It isn't more correct to define GLsizeiptr as an alias of std::uintptr_t instead of ptrdiff_t?