struct CuttingTool { [...] }; typedef std::pair Vertex; typedef std::pair Cut; typedef std::list Pattern; struct Polygon { CuttingTool tool; Pattern pattern; };