Generate the Fibonacci sequence:
SimpleGenerator<int> fibs(int max) {
int a{1}, b{1}, n{0};
for (int i = 0; i < max; i++) {
co_yield a;
n = a + b;
a = b;
b = n;
}
}
int main() {
auto generator = fibs(10);
for (int value : generator) {
std::cout << value << " ";
}
std::cout << std::endl;
return 0;
}
Generate a sequence of vertices in a clockwise order around a vertex:
#include "meshbrane/simple_generator.hpp"
#include <meshbrane/half_edge_mesh.hpp>
using Vert = meshbrane::HalfEdgeVertexBase;
SimpleGenerator<Vert> *CCW_vertex_cycle(Vert &v) {
auto h = v.h_out_;
auto h_start = h;
do {...} while (h != h_start);