1 // Copyright (c) 2008 GeometryFactory (France) 2 // All rights reserved. 3 // 4 // This file is part of CGAL (www.cgal.org) 5 // 6 // $URL: https://github.com/CGAL/cgal/blob/v5.3/Surface_mesher/include/CGAL/Surface_mesher/Profile_counter.h $ 7 // $Id: Profile_counter.h 0779373 2020-03-26T13:31:46+01:00 Sébastien Loriot 8 // SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial 9 // 10 // 11 // Author(s) : Laurent Rineau 12 13 // This file is an adaptation of <CGAL/Profile_timer.h>, so that the 14 // macros are prefixed with CGAL_SURFACE_MESHER_ instead of CGAL_. 15 16 #ifndef CGAL_SURFACE_MESHER_PROFILE_COUNTER_H 17 #define CGAL_SURFACE_MESHER_PROFILE_COUNTER_H 18 19 #include <CGAL/Profile_counter.h> 20 21 #ifdef CGAL_SURFACE_MESHER_PROFILE 22 # define CGAL_SURFACE_MESHER_PROFILER(Y) \ 23 { static CGAL::Profile_counter tmp(Y); ++tmp; } 24 # define CGAL_SURFACE_MESHER_HISTOGRAM_PROFILER(Y, Z) \ 25 { static CGAL::Profile_histogram_counter tmp(Y); tmp(Z); } 26 # define CGAL_SURFACE_MESHER_BRANCH_PROFILER(Y, NAME) \ 27 static CGAL::Profile_branch_counter NAME(Y); ++NAME; 28 # define CGAL_SURFACE_MESHER_BRANCH_PROFILER_BRANCH(NAME) \ 29 NAME.increment_branch(); 30 # define CGAL_SURFACE_MESHER_BRANCH_PROFILER_3(Y, NAME) \ 31 static CGAL::Profile_branch_counter_3 NAME(Y); ++NAME; 32 # define CGAL_SURFACE_MESHER_BRANCH_PROFILER_BRANCH_1(NAME) \ 33 NAME.increment_branch_1(); 34 # define CGAL_SURFACE_MESHER_BRANCH_PROFILER_BRANCH_2(NAME) \ 35 NAME.increment_branch_2(); 36 #else 37 # define CGAL_SURFACE_MESHER_PROFILER(Y) 38 # define CGAL_SURFACE_MESHER_HISTOGRAM_PROFILER(Y, Z) 39 # define CGAL_SURFACE_MESHER_BRANCH_PROFILER(Y, NAME) 40 # define CGAL_SURFACE_MESHER_BRANCH_PROFILER_BRANCH(NAME) 41 # define CGAL_SURFACE_MESHER_BRANCH_PROFILER_3(Y, NAME) 42 # define CGAL_SURFACE_MESHER_BRANCH_PROFILER_BRANCH_1(NAME) 43 # define CGAL_SURFACE_MESHER_BRANCH_PROFILER_BRANCH_2(NAME) 44 #endif 45 46 #endif // CGAL_SURFACE_MESHER_PROFILE_COUNTER_H 47