Another Lambda function I've just written - It initializes a static variable
vertexDeclaration with a vector of
VertexElements constructed from an array. (It would be even easier to use
std::initializer_list for this, but it's not supported in
Visual C++ 2010 at this moment.)
const VertexDeclaration VertexPositionColor::vertexDeclaration(
[]() -> VertexElementVector
{
const VertexElement elems[] = {
VertexElement(0, VEF_Vector3, VEU_Position, 0),
VertexElement(0, VEF_Color, VEU_Color, 0),
};
return VertexElementVector(
&elems[0],
&elems[sizeof(elems) / sizeof(elems[0])]
);
}());