switch to new MPL based Fraunhofer FOKUS Public License
[senf.git] / senf / Utils / type_traits.mpp
index 2b0eb3c..a219187 100644 (file)
@@ -1,24 +1,29 @@
 // $Id$
 //
-// Copyright (C) 2008 
+// Copyright (C) 2008
 // Fraunhofer Institute for Open Communication Systems (FOKUS)
-// Competence Center NETwork research (NET), St. Augustin, GERMANY
-//     Stefan Bund <g0dil@berlios.de>
 //
-// This program is free software; 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 2 of the License, or
-// (at your option) any later version.
+// The contents of this file are subject to the Fraunhofer FOKUS Public License
+// Version 1.0 (the "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at 
+// http://senf.berlios.de/license.html
 //
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
+// The Fraunhofer FOKUS Public License Version 1.0 is based on, 
+// but modifies the Mozilla Public License Version 1.1.
+// See the full license text for the amendments.
 //
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the
-// Free Software Foundation, Inc.,
-// 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+// Software distributed under the License is distributed on an "AS IS" basis, 
+// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 
+// for the specific language governing rights and limitations under the License.
+//
+// The Original Code is Fraunhofer FOKUS code.
+//
+// The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V. 
+// (registered association), Hansastraße 27 c, 80686 Munich, Germany.
+//
+// Contributor(s):
+//   Stefan Bund <g0dil@berlios.de>
+
 
 /** \file
     \brief type_traits Boost.Preprocesser external iteration include */
@@ -37,9 +42,9 @@
 #include <boost/preprocessor/repetition/enum_trailing_params.hpp>
 #include <boost/preprocessor/repetition/enum_params.hpp>
 
-// ///////////////////////////mpp.p////////////////////////////////////////
-#elif BOOST_PP_IS_ITERATING // ////////////////////////////////////////////
-// ////////////////////////////////////////////////////////////////////////
+//-///////////////////////////mpp.p////////////////////////////////////////
+#elif BOOST_PP_IS_ITERATING //-////////////////////////////////////////////
+//-////////////////////////////////////////////////////////////////////////
 // Local Macros
 
 #define mpp_Arg(n) BOOST_PP_CAT(BOOST_PP_CAT(arg, BOOST_PP_INC(n)), _type)
@@ -53,9 +58,9 @@
 #define mpp_TrailTplArgs() BOOST_PP_ENUM_TRAILING_PARAMS( BOOST_PP_ITERATION(), class A )
 #define mpp_Args() BOOST_PP_ENUM_PARAMS( BOOST_PP_ITERATION(), A )
 
-// ////////////////////////////////////////////////////////////////////////
-#if BOOST_PP_ITERATION_FLAGS()==1 // //////////////////////////////////////
-// ////////////////////////////////////////////////////////////////////////
+//-////////////////////////////////////////////////////////////////////////
+#if BOOST_PP_ITERATION_FLAGS()==1 //-//////////////////////////////////////
+//-////////////////////////////////////////////////////////////////////////
 
 template <class Traits>
 struct function_traits_remove_arg<Traits, mpp_ArgN()>
@@ -82,21 +87,21 @@ struct function_traits_arg_type<Traits, mpp_ArgN(), true>
     typedef typename Traits::mpp_CurArg() type;
 };
 
-template <class C, class T mpp_TrailTplArgs() > 
+template <class C, class T mpp_TrailTplArgs() >
 struct remove_member_pointer <T (C::*)( mpp_Args() ) const>
 {
     typedef T type (mpp_Args());
 };
 
-template <class C, class T mpp_TrailTplArgs() > 
+template <class C, class T mpp_TrailTplArgs() >
 struct remove_member_pointer <T (C::* const)( mpp_Args() ) const>
 {
     typedef T type (mpp_Args());
 };
 
-// ////////////////////////////////////////////////////////////////////////
-#endif // /////////////////////////////////////////////////////////////////
-// ////////////////////////////////////////////////////////////////////////
+//-////////////////////////////////////////////////////////////////////////
+#endif //-/////////////////////////////////////////////////////////////////
+//-////////////////////////////////////////////////////////////////////////
 // Undefine local Macros
 
 #undef mpp_Args
@@ -107,14 +112,14 @@ struct remove_member_pointer <T (C::* const)( mpp_Args() ) const>
 #undef mpp_OtherArgs_
 #undef mpp_Arg
 
-// ////////////////////////////////////////////////////////////////////////
+//-////////////////////////////////////////////////////////////////////////
 /*
  (save-excursion (re-search-backward "^// Undefine local Macros")
  (forward-line 1) (delete-region (point) (progn (search-forward
- "// ////") (forward-line -1) (point))) (insert "\n") (let ((b (point))
- (e (progn (insert (save-excursion (re-search-backward 
+ "//-////") (forward-line -1) (point))) (insert "\n") (let ((b (point))
+ (e (progn (insert (save-excursion (re-search-backward
  "^// Local Macros") (search-forward "#define") (beginning-of-line)
- (buffer-substring (point) (progn (search-forward "// ////")
+ (buffer-substring (point) (progn (search-forward "//-////")
  (search-backward "#define") (forward-line 1) (point))))) (point))))
  (reverse-region b e) (shell-command-on-region b e "grep -F '#define'" nil
  t) (goto-char b) (while (looking-at "#define") (delete-char 7) (insert
@@ -122,8 +127,8 @@ struct remove_member_pointer <T (C::* const)( mpp_Args() ) const>
  (delete-region (1- (point)) (progn (end-of-line) (point))) (forward-line
  1))))
 */
-#endif // /////////////////////////////////////////////////////////////////
-// ///////////////////////////mpp.e////////////////////////////////////////
+#endif //-/////////////////////////////////////////////////////////////////
+//-///////////////////////////mpp.e////////////////////////////////////////
 
 \f
 // Local Variables: