1 // Copyright (c) 1997 2 // Utrecht University (The Netherlands), 3 // ETH Zurich (Switzerland), 4 // INRIA Sophia-Antipolis (France), 5 // Max-Planck-Institute Saarbruecken (Germany), 6 // and Tel-Aviv University (Israel). All rights reserved. 7 // 8 // This file is part of CGAL (www.cgal.org) 9 // 10 // $URL: https://github.com/CGAL/cgal/blob/v5.3/Modifier/include/CGAL/Modifier_base.h $ 11 // $Id: Modifier_base.h 0779373 2020-03-26T13:31:46+01:00 Sébastien Loriot 12 // SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial 13 // 14 // 15 // Author(s) : Lutz Kettner <kettner@inf.ethz.ch> 16 17 #ifndef CGAL_MODIFIER_BASE_H 18 #define CGAL_MODIFIER_BASE_H 1 19 20 namespace CGAL { 21 22 template <class R> 23 class Modifier_base { 24 // Abstract Base Class for protected internal access. 25 // It defines the common interface for all modifiers. 26 public: 27 typedef R Representation; 28 virtual void operator()( R& rep) = 0; 29 // Postcondition: `rep' is a valid representation. ~Modifier_base()30 virtual ~Modifier_base() {} 31 }; 32 33 } //namespace CGAL 34 35 #endif // CGAL_MODIFIER_BASE_H // 36 // EOF // 37