is there such a thing as a "static" function template that isn't inside of a class?

Christopher the Magnificent ultimatemacfanatic at gmail.com
Sat Jul 16 14:34:46 PDT 2011


I see this code AT THE TOP (MODULE) LEVEL of one of Michel Fortin's 
D/Objective-C bridge source files and I'm trying to wrap my head around it.

	/** Wrap an object instance within an object of this class. */
	static Object
	objcCreateWrapper(T)(id instance)
	{
		// Retain the Objective-C instance prior wrapping it.
		// It needs to be done prior wrapping so that
		// invariants holds
		// after the constructor is called.
		objc.msg.send!(id)(instance, selector!("retain"));
		
		// Create new Wrapper.
		return new T(instance);
	}

At issues is the keyword "static" in front of the template function. 
This is not inside of a class, so static does not seem to make sense 
with what I know about D.  Can anyone explain this to me?

--Christopher



More information about the Digitalmars-d-learn mailing list