aboutsummaryrefslogtreecommitdiff
path: root/snippets/vc++snippets.snippet
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-03-19 16:21:54 +0800
committercrupest <crupest@outlook.com>2019-03-19 16:21:54 +0800
commit5dc738a57930271194bd86673eb86f149096a7b2 (patch)
tree71174aba0d1c0918cc7d7a1be0b86ec0d5c20401 /snippets/vc++snippets.snippet
parent06edefebe8dfb138404397fb2c46732da6cd733a (diff)
downloadcru-5dc738a57930271194bd86673eb86f149096a7b2.tar.gz
cru-5dc738a57930271194bd86673eb86f149096a7b2.tar.bz2
cru-5dc738a57930271194bd86673eb86f149096a7b2.zip
...
Diffstat (limited to 'snippets/vc++snippets.snippet')
-rw-r--r--snippets/vc++snippets.snippet124
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