mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-30 20:40:28 -04:00 
			
		
		
		
	
		
			
	
	
		
			45 lines
		
	
	
		
			882 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
		
			882 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | //  Copyright (C) 2008 N. Musatti | ||
|  | //  Use, modification and distribution are subject to the | ||
|  | //  Boost Software License, Version 1.0. (See accompanying file | ||
|  | //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | ||
|  | 
 | ||
|  | //  See http://www.boost.org/libs/config for most recent version. | ||
|  | 
 | ||
|  | //  MACRO:         BOOST_NO_NESTED_FRIENDSHIP | ||
|  | //  TITLE:         Access to private members from nested classes | ||
|  | //  DESCRIPTION:   If the compiler fails to support access to private members | ||
|  | //                 from nested classes | ||
|  | 
 | ||
|  | namespace boost_no_nested_friendship { | ||
|  | 
 | ||
|  | class A { | ||
|  | public: | ||
|  |    A() {} | ||
|  |    struct B { | ||
|  |       int f(A& a)  | ||
|  |       { | ||
|  |          a.f1(); | ||
|  |          a.f2(a);  | ||
|  |          return a.b;  | ||
|  |       } | ||
|  |    }; | ||
|  | 
 | ||
|  | private: | ||
|  |    static int b; | ||
|  |    static void f1(){} | ||
|  |    template <class T> | ||
|  |    static void f2(const T&){} | ||
|  | }; | ||
|  | 
 | ||
|  | int A::b = 0; | ||
|  | 
 | ||
|  | int test() | ||
|  | { | ||
|  |     A a; | ||
|  |     A::B b; | ||
|  |     return b.f(a); | ||
|  | } | ||
|  | 
 | ||
|  | } | ||
|  | 
 |