Index: src/InitTweak/InitTweak.cc
===================================================================
--- src/InitTweak/InitTweak.cc	(revision eb2e723e2366bc9652cf9888645a9249f5fd129a)
+++ src/InitTweak/InitTweak.cc	(revision 207c7e1ddfd88d45fb9f62e00f173daf5b443541)
@@ -547,4 +547,23 @@
 	}
 
+	FunctionDecl * isAssignment( Declaration * decl ) {
+		return isCopyFunction( decl, "?=?" );
+	}
+	FunctionDecl * isDestructor( Declaration * decl ) {
+		if ( isDestructor( decl->get_name() ) ) {
+			return dynamic_cast< FunctionDecl * >( decl );
+		}
+		return nullptr;
+	}
+	FunctionDecl * isDefaultConstructor( Declaration * decl ) {
+		if ( isConstructor( decl->get_name() ) ) {
+			if ( FunctionDecl * func = dynamic_cast< FunctionDecl * >( decl ) ) {
+				if ( func->get_functionType()->get_parameters().size() == 1 ) {
+					return func;
+				}
+			}
+		}
+		return nullptr;
+	}
 	FunctionDecl * isCopyConstructor( Declaration * decl ) {
 		return isCopyFunction( decl, "?{}" );
Index: src/InitTweak/InitTweak.h
===================================================================
--- src/InitTweak/InitTweak.h	(revision eb2e723e2366bc9652cf9888645a9249f5fd129a)
+++ src/InitTweak/InitTweak.h	(revision 207c7e1ddfd88d45fb9f62e00f173daf5b443541)
@@ -32,4 +32,7 @@
 	bool isCtorDtorAssign( const std::string & );
 
+	FunctionDecl * isAssignment( Declaration * decl );
+	FunctionDecl * isDestructor( Declaration * decl );
+	FunctionDecl * isDefaultConstructor( Declaration * decl );
 	FunctionDecl * isCopyConstructor( Declaration * decl );
 	FunctionDecl * isCopyFunction( Declaration * decl, const std::string & fname );
