/usr/include/CGAL/Prevent_deref.h is in libcgal-dev 4.7-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
// Copyright (c) 20012 GeometryFactory
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org).
// You can redistribute it and/or modify it under the terms of the GNU
// General Public License as published by the Free Software Foundation,
// either version 3 of the License, or (at your option) any later version.
//
// Licensees holding a valid commercial license may use this file in
// accordance with the commercial license agreement provided with the software.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
//
// $URL: https://jtournois@geometryfactory.codebasehq.com/total/velocity.svn/Mesh_3-dec2011/CGAL/Prevent_deref.h $
// $Id: Prevent_deref.h 100 2012-05-29 14:42:38Z afabri $
//
//
// Author(s) : Philipp Moeller
//
//******************************************************************************
// File Description :
//******************************************************************************
#ifndef CGAL_PREVENT_DEREF_H
#define CGAL_PREVENT_DEREF_H
#include <boost/iterator_adaptors.hpp>
namespace CGAL {
template<typename I>
class Prevent_deref
: public boost::iterator_adaptor<
Prevent_deref<I>
, I // base
, I // value
>
{
public:
typedef typename Prevent_deref::iterator_adaptor_ IA;
typedef typename IA::reference reference;
Prevent_deref() : Prevent_deref::iterator_adaptor_() {};
Prevent_deref(const I& i) : Prevent_deref::iterator_adaptor_(i) {};
private:
friend class boost::iterator_core_access;
reference dereference() const { return const_cast<reference>(this->base_reference()); }
};
} // namespace CGAL
#endif // CGAL_PREVENT_DEREF_H
|