32 lines
		
	
	
		
			821 B
		
	
	
	
		
			C++
		
	
	
		
		
			
		
	
	
			32 lines
		
	
	
		
			821 B
		
	
	
	
		
			C++
		
	
	
| 
								 | 
							
								namespace Namespace {
							 | 
						||
| 
								 | 
							
								    int namespaced(int x, int y) { return x + y; }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								double toplevel(double x, double y) { return x + y; }
							 | 
						||
| 
								 | 
							
								double toplevel(double x, double y, double z) { return x + y + z; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class Class
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    unsigned x;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    Class();
							 | 
						||
| 
								 | 
							
								    Class(unsigned _x);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    unsigned member(unsigned y);
							 | 
						||
| 
								 | 
							
								    unsigned member(unsigned y) const;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    unsigned static_member(unsigned x, unsigned y);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Class::Class() : x(42) { }
							 | 
						||
| 
								 | 
							
								Class::Class(unsigned _x) : x(_x) { }
							 | 
						||
| 
								 | 
							
								unsigned Class::member(unsigned y) { return x += y; }
							 | 
						||
| 
								 | 
							
								unsigned Class::member(unsigned y) const { return x + y; }
							 | 
						||
| 
								 | 
							
								unsigned Class::static_member(unsigned x, unsigned y) { return Class(x).member(y); }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<typename T>
							 | 
						||
| 
								 | 
							
								T templated(T x, T y) { return x + y; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template int templated<int>(int x, int y);
							 | 
						||
| 
								 | 
							
								template double templated<double>(double x, double y);
							 |