BWAPI
|
00001 // Copyright (c) 2007,2009 INRIA Sophia-Antipolis (France). All rights reserved. 00002 // 00003 // This file is part of CGAL (www.cgal.org); you can redistribute it and/or 00004 // modify it under the terms of the GNU Lesser General Public License as 00005 // published by the Free Software Foundation; version 2.1 of the License. 00006 // See the file LICENSE.LGPL distributed with CGAL. 00007 // 00008 // Licensees holding a valid commercial license may use this file in 00009 // accordance with the commercial license agreement provided with the software. 00010 // 00011 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00012 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00013 // 00014 // $URL: svn+ssh://scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.5-branch/STL_Extension/include/CGAL/Default.h $ 00015 // $Id: Default.h 50707 2009-07-20 08:52:20Z spion $ 00016 // 00017 // Author(s) : Sylvain Pion 00018 00019 #ifndef CGAL_DEFAULT_H 00020 #define CGAL_DEFAULT_H 00021 00022 namespace CGAL { 00023 00024 // Default is a tag that can be used to shrink mangled names and 00025 // error messages in place of the default value of template arguments. 00026 // It could also be used by users to specify default values to arguments which 00027 // are not at the end of the argument list. 00028 // It can also be useful to easily break cyclic dependencies in templates. 00029 00030 struct Default 00031 { 00032 template <typename Argument, typename Value> 00033 struct Get { 00034 typedef Argument type; 00035 }; 00036 00037 template <typename Value> 00038 struct Get <Default, Value> { 00039 typedef Value type; 00040 }; 00041 }; 00042 00043 } 00044 00045 #endif // CGAL_DEFAULT_H