diff options
Diffstat (limited to 'snippets')
-rw-r--r-- | snippets/vc++snippets.snippet | 124 |
1 files changed, 122 insertions, 2 deletions
diff --git a/snippets/vc++snippets.snippet b/snippets/vc++snippets.snippet index 1a5f7666..ebd72463 100644 --- a/snippets/vc++snippets.snippet +++ b/snippets/vc++snippets.snippet @@ -5,7 +5,7 @@ <Title>Deleted Copy Constructor/Assignment</Title> <Author>crupest</Author> <Description>Declare a deleted copy constructor and a deleted copy assignment operator for a class.</Description> - <Shortcut>dcopy</Shortcut> + <Shortcut>deletecopy</Shortcut> <SnippetTypes> <SnippetType>Expansion</SnippetType> </SnippetTypes> @@ -28,10 +28,36 @@ </CodeSnippet> <CodeSnippet Format="1.0.0"> <Header> + <Title>Default Copy Constructor/Assignment</Title> + <Author>crupest</Author> + <Description>Declare a default copy constructor and a default copy assignment operator for a class.</Description> + <Shortcut>defaultcopy</Shortcut> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + </Header> + <Snippet> + <Declarations> + <Literal> + <ID>classname</ID> + <Default>class_name</Default> + <ToolTip>The name of the class.</ToolTip> + </Literal> + </Declarations> + <Code Language="CPP" Kind="method decl"> + <![CDATA[ + $classname$(const $classname$& other) = default; + $classname$& operator=(const $classname$& other) = default; + ]]> + </Code> + </Snippet> + </CodeSnippet> + <CodeSnippet Format="1.0.0"> + <Header> <Title>Deleted Move Constructor/Assignment</Title> <Author>crupest</Author> <Description>Declare a deleted move constructor and a deleted move assignment operator for a class.</Description> - <Shortcut>dmove</Shortcut> + <Shortcut>deletemove</Shortcut> <SnippetTypes> <SnippetType>Expansion</SnippetType> </SnippetTypes> @@ -52,4 +78,98 @@ </Code> </Snippet> </CodeSnippet> + <CodeSnippet Format="1.0.0"> + <Header> + <Title>Default Move Constructor/Assignment</Title> + <Author>crupest</Author> + <Description>Declare a default move constructor and a default move assignment operator for a class.</Description> + <Shortcut>defaultmove</Shortcut> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + </Header> + <Snippet> + <Declarations> + <Literal> + <ID>classname</ID> + <Default>class_name</Default> + <ToolTip>The name of the class.</ToolTip> + </Literal> + </Declarations> + <Code Language="CPP" Kind="method decl"> + <![CDATA[ + $classname$($classname$&& other) = default; + $classname$& operator=($classname$&& other) = default; + ]]> + </Code> + </Snippet> + </CodeSnippet> + <CodeSnippet Format="1.0.0"> + <Header> + <Title>Default Copyable/Movable Class</Title> + <Author>crupest</Author> + <Description>Define a class with default constructor, destructor, move/copy constructor/assignment-operator.</Description> + <Shortcut>defaultclass</Shortcut> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + </Header> + <Snippet> + <Declarations> + <Literal> + <ID>classname</ID> + <Default>class_name</Default> + <ToolTip>The name of the class.</ToolTip> + </Literal> + </Declarations> + <Code Language="CPP" Kind="type decl"> + <![CDATA[ + class $classname$ + { + public: + $classname$() = default; + $classname$(const $classname$& other) = default; + $classname$& operator=(const $classname$& other) = default; + $classname$($classname$&& other) = default; + $classname$& operator=($classname$&& other) = default; + ~$classname$() = default; + }; + ]]> + </Code> + </Snippet> + </CodeSnippet> + <CodeSnippet Format="1.0.0"> + <Header> + <Title>Default Noncopyable/Nonmovable Class</Title> + <Author>crupest</Author> + <Description>Define a class with default constructor, destructor and deleted move/copy constructor/assignment-operator.</Description> + <Shortcut>objectclass</Shortcut> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + </Header> + <Snippet> + <Declarations> + <Literal> + <ID>classname</ID> + <Default>class_name</Default> + <ToolTip>The name of the class.</ToolTip> + </Literal> + </Declarations> + <Code Language="CPP" Kind="type decl"> + <![CDATA[ + class $classname$ + { + public: + $classname$() = default; + $classname$(const $classname$& other) = delete; + $classname$& operator=(const $classname$& other) = delete; + $classname$($classname$&& other) = delete; + $classname$& operator=($classname$&& other) = delete; + ~$classname$() = default; + }; + ]]> + </Code> + </Snippet> + </CodeSnippet> </CodeSnippets>
\ No newline at end of file |