]> git.lyx.org Git - lyx.git/blobdiff - boost/boost/utility/base_from_member.hpp
Boost 1.31.0
[lyx.git] / boost / boost / utility / base_from_member.hpp
index 48d1d4aec540041f41d8ccad22b5929eaf3caf8f..cde7571fd0eedf08c889cb1ff8ee6965586f4561 100644 (file)
@@ -1,12 +1,10 @@
 //  boost utility/base_from_member.hpp header file  --------------------------//
 
-//  (C) Copyright Daryle Walker 2001.  Permission to copy, use, modify, sell
-//  and distribute this software is granted provided this copyright
-//  notice appears in all copies.  This software is provided "as is" without
-//  express or implied warranty, and with no claim as to its suitability for
-//  any purpose.
+//  Copyright 2001, 2003 Daryle Walker.  Use, modification, and distribution are
+//  subject to the Boost Software License, Version 1.0.  (See accompanying file
+//  LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.)
 
-//  See http://www.boost.org for most recent version including documentation.
+//  See <http://www.boost.org/libs/utility/> for the library's home page.
 
 #ifndef BOOST_UTILITY_BASE_FROM_MEMBER_HPP
 #define BOOST_UTILITY_BASE_FROM_MEMBER_HPP
@@ -32,7 +30,7 @@ class base_from_member
 protected:
     MemberType  member;
 
-    explicit  base_from_member()
+    base_from_member()
         : member()
         {}
 
@@ -51,6 +49,48 @@ protected:
         : member( x1, x2, x3 ) 
         {}
 
+    template< typename T1, typename T2, typename T3, typename T4 >
+    base_from_member( T1 x1, T2 x2, T3 x3, T4 x4 )
+        : member( x1, x2, x3, x4 ) 
+        {}
+
+    template< typename T1, typename T2, typename T3, typename T4, typename T5 >
+    base_from_member( T1 x1, T2 x2, T3 x3, T4 x4, T5 x5 )
+        : member( x1, x2, x3, x4, x5 ) 
+        {}
+
+    template< typename T1, typename T2, typename T3, typename T4, typename T5,
+     typename T6 >
+    base_from_member( T1 x1, T2 x2, T3 x3, T4 x4, T5 x5, T6 x6 )
+        : member( x1, x2, x3, x4, x5, x6 ) 
+        {}
+
+    template< typename T1, typename T2, typename T3, typename T4, typename T5,
+     typename T6, typename T7 >
+    base_from_member( T1 x1, T2 x2, T3 x3, T4 x4, T5 x5, T6 x6, T7 x7 )
+        : member( x1, x2, x3, x4, x5, x6, x7 ) 
+        {}
+
+    template< typename T1, typename T2, typename T3, typename T4, typename T5,
+     typename T6, typename T7, typename T8 >
+    base_from_member( T1 x1, T2 x2, T3 x3, T4 x4, T5 x5, T6 x6, T7 x7, T8 x8 )
+        : member( x1, x2, x3, x4, x5, x6, x7, x8 ) 
+        {}
+
+    template< typename T1, typename T2, typename T3, typename T4, typename T5,
+     typename T6, typename T7, typename T8, typename T9 >
+    base_from_member( T1 x1, T2 x2, T3 x3, T4 x4, T5 x5, T6 x6, T7 x7, T8 x8,
+     T9 x9 )
+        : member( x1, x2, x3, x4, x5, x6, x7, x8, x9 ) 
+        {}
+
+    template< typename T1, typename T2, typename T3, typename T4, typename T5,
+     typename T6, typename T7, typename T8, typename T9, typename T10 >
+    base_from_member( T1 x1, T2 x2, T3 x3, T4 x4, T5 x5, T6 x6, T7 x7, T8 x8,
+     T9 x9, T10 x10 )
+        : member( x1, x2, x3, x4, x5, x6, x7, x8, x9, x10 ) 
+        {}
+
 };  // boost::base_from_member
 
 }  // namespace boost