DestructorType

Destructor type of destructors of types Types ( void function(Evoid*)@destructor_attributes ).

Members

Aliases

DestructorType
alias DestructorType = typeof(&impl!())
Undocumented in source.

Imports

AliasSeq (from std.meta)
public import std.meta : AliasSeq;
Undocumented in source.
BaseClassesTuple (from std.traits)
public import std.traits : Unqual, isDynamicArray, BaseClassesTuple;
Undocumented in source.
ElementEncodingType (from std.range)
public import std.range : ElementEncodingType;
Undocumented in source.
Unqual (from std.traits)
public import std.traits : Unqual, isDynamicArray, BaseClassesTuple;
Undocumented in source.
isDynamicArray (from std.traits)
public import std.traits : Unqual, isDynamicArray, BaseClassesTuple;
Undocumented in source.

Static functions

fn_body
void fn_body(Evoid* )
Undocumented in source. Be warned that the author may not have intended to support it.
impl
void impl(Evoid* )
Undocumented in source. Be warned that the author may not have intended to support it.

Examples

static assert(is(DestructorType!long == void function(Evoid*)pure nothrow @safe @nogc));


static struct Struct{
	~this()nothrow @system{
	}
}
static assert(is(DestructorType!Struct == void function(Evoid*)nothrow @system));


version(D_BetterC)
	static extern(C)class Class{
		~this()pure @trusted{

		}
	}
else
	static class Class{
		~this()pure @trusted{

		}
	}

static assert(is(DestructorType!Class == void function(Evoid*)pure @safe));

//multiple types:
static assert(is(DestructorType!(Class, Struct, long) == void function(Evoid*)@system));

static assert(is(
	DestructorType!(Class, DestructorType!long, DestructorType!Struct) == DestructorType!(Class, Struct, long)
));

Meta