Is there a function that can create hexagonal grid?

We have square grid graph, where we can specify `m*n`

dimensions:

```
GridGraph({m, n})
```

We have triangular grid graph (which works only for argument `n`

up to 10 – for unknown reason):

```
GraphData({"TriangularGrid", n}, "Graph")
```

I can not find a function that would generate a hexagonal grid graph. I would like it like it is with `GridGraph`

something like `HexagonalGridGraph({m,n,o})`

where `m,n,o`

are dimensions `m*n*o`

of planar graph – or other way said – “lengths” of the sides of the graph.

I can make my own code, I am asking just in case there already exist implemented function.