From 80c3d951445b0d5cb414fde61b7019f7a85e8087 Mon Sep 17 00:00:00 2001 From: wolf Date: Fri, 29 Sep 2000 15:17:41 +0000 Subject: [PATCH] Don't use a stack any more, but rather a vector, as sometimes we need random access. git-svn-id: https://svn.dealii.org/trunk@3361 0785d39b-7218-0410-832d-ea1e28bc413d --- .../deal.II/include/grid/grid_reordering.h | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/deal.II/deal.II/include/grid/grid_reordering.h b/deal.II/deal.II/include/grid/grid_reordering.h index 847af33e97..02dad5b89c 100644 --- a/deal.II/deal.II/include/grid/grid_reordering.h +++ b/deal.II/deal.II/include/grid/grid_reordering.h @@ -16,7 +16,6 @@ #include #include -#include #include @@ -110,6 +109,20 @@ class GridReordering : private GridReorderingInfo class Cell; class Face; class FaceData; + + /** + * Typedef for a stack type that + * describes the rotational + * states of all cells that have + * already been fitted into the + * grid. It is mostly used like a + * stack, but sometimes we need + * random access into values + * below the top, so we can't use + * the @p{stack} adaptor from + * STL. + */ + typedef vector RotationStack; /** * Class that describes the @@ -402,10 +415,13 @@ class GridReordering : private GridReorderingInfo * as recursive calls but rather * as eliminated tail-recursion. */ - static void track_back (vector &cells, - stack > &rotation_states, - unsigned int track_back_to_cell); + static void track_back (vector &cells, + RotationStack &rotation_states, + unsigned int track_back_to_cell); + static bool try_rotate_single_neighbors (vector &cells, + RotationStack &rotation_states); + /** * This is the main function that * does the main work. It is -- 2.39.5