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