How to upload different types of vertices to one object?

So I have a class called Data and it has multiple containers in which are stored different types of class vertices objects(int, float, double etc.). Now when I need to upload data to GPU I’m just unsure how. But btw I came up with this solution and I’m not sure if it would work, and have in mind that maybe not all arguments are correct:

GLuint vbo;
glGenBuffers(1, &vbo);
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices_float) + sizeof(vertices_int), NULL, GL_STATIC_DRAW); //CREATE EMPTY VBO WITH ENOUGH DATA TO STORE
glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(vertices_float), vertices_float); //AND STORE FIRST DATA TYPE SEPERATELY. THIS COULD BE POSITION DATA OF FLOAT TYPE.
glBufferSubData(GL_ARRAY_BUFFER, sizeof(vertices_float), sizeof(vertices_float) + sizeof(vertices_int), vertices_int); //AND SECOND TYPE OF DATA SEPERATELY. THIS COULD BE SOMETHING LIKE COLOR OF INT TYPE.
glEnableVertexAttribArray(0);
glEnableVertexAttribArray(1)
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0);
glVertexAttribPointer(1, 3, GL_INT, GL_FALSE, 0, 0);

Now the thing that bothers my about this method is that data is not mixed up. It’s not like posx, posy, posz, colorr, colorg, colorb, posx, posy…
And I’m not sure if glbuffersubdata mixes it up… If so, is there any way I can mix it up?
And here is some shortened part of my class

class LSOGData {
        class LSOGVerticesULID {
            //ID CLASS.....
        };
        enum LSOGVerticesType {
            kVerticesIntType, kVerticesUIntType, kVerticesFloatType, kVerticesDoubleType
        };
        std::unordered_map<LSOGVerticesULID, LSOGVerticesType> _types;
        std::unordered_map<LSOGVerticesULID, LSOGVertices<T>> _vertices_int, _vertices_uint, _vertices_float, _vertices_double;

So basicly, should I use buffersubdata to generate my object from each vertices seperately or is there an better way of doing this something like doing directly with bufferdata? Thanks :sick: :tired: .