# Range of integers returned by glGenBuffers?

I'm developing a general Mesh class with the help of LearnOpenGL. In the example he creates a class which assumes that you want to generate a VAO, VBO, and an EBO but I don't usually use EBOs so I only want to generate an EBO under certain circumstances. So if I decide not to generate an EBO then I want to set my EBO to a number which cannot be generated by glGenBuffers.

// Draw Mesh
glBindVertexArray(this->VAO);

if(EBO not in range generated by glGenBuffers)
glDrawArrays(GL_TRIANGLES, 0, numVertices);
} else {
glDrawElements(GL_TRIANGLES, numIndices, GL_UNSIGNED_INT, 0);
}

glBindVertexArray(0);


My question is what is the range that a buffer object's name can be in?

Each object type has a corresponding name space. Names of objects are represented by unsigned integers of type uint. The name zero is reserved by the GL; for some object types, zero names a default object of that type, and in others zero will never correspond to an actual instance of that object type.