Skip to content

Commit c3ee316

Browse files
authored
Merge pull request #1 from MicrosoftDocs/master
Get recent changes
2 parents dfa87fa + 67835bc commit c3ee316

File tree

5,585 files changed

+11655
-8858
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

5,585 files changed

+11655
-8858
lines changed

.openpublishing.redirection.json

Lines changed: 285 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,285 @@
1+
{
2+
"redirections":
3+
[
4+
{
5+
"source_path": "docs/modeling/edit-uml-models-and-diagrams.md",
6+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
7+
"redirect_document_id": false
8+
},
9+
{
10+
"source_path": "docs/modeling/uml-activity-diagrams-reference.md",
11+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
12+
"redirect_document_id": false
13+
},
14+
{
15+
"source_path": "docs/modeling/properties-of-elements-on-uml-activity-diagrams.md",
16+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
17+
"redirect_document_id": false
18+
},
19+
{
20+
"source_path": "docs/modeling/uml-activity-diagrams-guidelines.md",
21+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
22+
"redirect_document_id": false
23+
},
24+
{
25+
"source_path": "docs/modeling/uml-component-diagrams-reference.md",
26+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
27+
"redirect_document_id": false
28+
},
29+
{
30+
"source_path": "docs/modeling/properties-of-elements-on-uml-component-diagrams.md",
31+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
32+
"redirect_document_id": false
33+
},
34+
{
35+
"source_path": "docs/modeling/uml-component-diagrams-guidelines.md",
36+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
37+
"redirect_document_id": false
38+
},
39+
{
40+
"source_path": "docs/modeling/uml-class-diagrams-reference.md",
41+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
42+
"redirect_document_id": false
43+
},
44+
{
45+
"source_path": "docs/modeling/properties-of-types-on-uml-class-diagrams.md",
46+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
47+
"redirect_document_id": false
48+
},
49+
{
50+
"source_path": "docs/modeling/properties-of-attributes-on-uml-class-diagrams.md",
51+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
52+
"redirect_document_id": false
53+
},
54+
{
55+
"source_path": "docs/modeling/properties-of-operations-on-uml-class-diagrams.md",
56+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
57+
"redirect_document_id": false
58+
},
59+
{
60+
"source_path": "docs/modeling/properties-of-associations-on-uml-class-diagrams.md",
61+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
62+
"redirect_document_id": false
63+
},
64+
{
65+
"source_path": "docs/modeling/uml-class-diagrams-guidelines.md",
66+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
67+
"redirect_document_id": false
68+
},
69+
{
70+
"source_path": "docs/modeling/generate-code-from-uml-class-diagrams.md",
71+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
72+
"redirect_document_id": false
73+
},
74+
{
75+
"source_path": "docs/modeling/uml-sequence-diagrams-reference.md",
76+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
77+
"redirect_document_id": false
78+
},
79+
{
80+
"source_path": "docs/modeling/properties-of-elements-on-uml-sequence-diagrams.md",
81+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
82+
"redirect_document_id": false
83+
},
84+
{
85+
"source_path": "docs/modeling/describe-control-flow-with-fragments-on-uml-sequence-diagrams.md",
86+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
87+
"redirect_document_id": false
88+
},
89+
{
90+
"source_path": "docs/modeling/uml-sequence-diagrams-guidelines.md",
91+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
92+
"redirect_document_id": false
93+
},
94+
{
95+
"source_path": "docs/modeling/uml-use-case-diagrams-reference.md",
96+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
97+
"redirect_document_id": false
98+
},
99+
{
100+
"source_path": "docs/modeling/properties-of-elements-on-uml-use-case-diagrams.md",
101+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
102+
"redirect_document_id": false
103+
},
104+
{
105+
"source_path": "docs/modeling/link-a-use-case-to-documents-and-diagrams.md",
106+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
107+
"redirect_document_id": false
108+
},
109+
{
110+
"source_path": "docs/modeling/uml-use-case-diagrams-guidelines.md",
111+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
112+
"redirect_document_id": false
113+
},
114+
{
115+
"source_path": "docs/modeling/define-packages-and-namespaces.md",
116+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
117+
"redirect_document_id": false
118+
},
119+
{
120+
"source_path": "docs/modeling/customize-your-model-with-profiles-and-stereotypes.md",
121+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
122+
"redirect_document_id": false
123+
},
124+
{
125+
"source_path": "docs/modeling/add-stereotypes-to-uml-model-elements.md",
126+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
127+
"redirect_document_id": false
128+
},
129+
{
130+
"source_path": "docs/modeling/standard-stereotypes-for-uml-models.md",
131+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
132+
"redirect_document_id": false
133+
},
134+
{
135+
"source_path": "docs/modeling/install-a-uml-profile.md",
136+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
137+
"redirect_document_id": false
138+
},
139+
{
140+
"source_path": "docs/modeling/link-model-elements-and-work-items.md",
141+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
142+
"redirect_document_id": false
143+
},
144+
{
145+
"source_path": "docs/modeling/manage-models-and-diagrams-under-version-control.md",
146+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
147+
"redirect_document_id": false
148+
},
149+
{
150+
"source_path": "docs/modeling/validate-your-uml-model.md",
151+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
152+
"redirect_document_id": false
153+
},
154+
{
155+
"source_path": "docs/modeling/extend-uml-models-and-diagrams.md",
156+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
157+
"redirect_document_id": false
158+
},
159+
{
160+
"source_path": "docs/modeling/define-and-install-a-modeling-extension.md",
161+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
162+
"redirect_document_id": false
163+
},
164+
{
165+
"source_path": "docs/modeling/define-a-profile-to-extend-uml.md",
166+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
167+
"redirect_document_id": false
168+
},
169+
{
170+
"source_path": "docs/modeling/define-a-custom-modeling-toolbox-item.md",
171+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
172+
"redirect_document_id": false
173+
},
174+
{
175+
"source_path": "docs/modeling/define-validation-constraints-for-uml-models.md",
176+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
177+
"redirect_document_id": false
178+
},
179+
{
180+
"source_path": "docs/modeling/define-a-menu-command-on-a-modeling-diagram.md",
181+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
182+
"redirect_document_id": false
183+
},
184+
{
185+
"source_path": "docs/modeling/define-a-gesture-handler-on-a-modeling-diagram.md",
186+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
187+
"redirect_document_id": false
188+
},
189+
{
190+
"source_path": "docs/modeling/define-a-work-item-link-handler.md",
191+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
192+
"redirect_document_id": false
193+
},
194+
{
195+
"source_path": "docs/modeling/integrate-uml-models-with-other-models-and-tools.md",
196+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
197+
"redirect_document_id": false
198+
},
199+
{
200+
"source_path": "docs/modeling/generate-files-from-a-uml-model.md",
201+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
202+
"redirect_document_id": false
203+
},
204+
{
205+
"source_path": "docs/modeling/read-a-uml-model-in-program-code.md",
206+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
207+
"redirect_document_id": false
208+
},
209+
{
210+
"source_path": "docs/modeling/open-a-uml-model-by-using-the-visual-studio-api.md",
211+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
212+
"redirect_document_id": false
213+
},
214+
{
215+
"source_path": "docs/modeling/edit-uml-sequence-diagrams-by-using-the-uml-api.md",
216+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
217+
"redirect_document_id": false
218+
},
219+
{
220+
"source_path": "docs/modeling/export-uml-diagrams-to-image-files.md",
221+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
222+
"redirect_document_id": false
223+
},
224+
{
225+
"source_path": "docs/modeling/programming-with-the-uml-api.md",
226+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
227+
"redirect_document_id": false
228+
},
229+
{
230+
"source_path": "docs/modeling/navigate-the-uml-model.md",
231+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
232+
"redirect_document_id": false
233+
},
234+
{
235+
"source_path": "docs/modeling/navigate-relationships-with-the-uml-api.md",
236+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
237+
"redirect_document_id": false
238+
},
239+
{
240+
"source_path": "docs/modeling/create-elements-and-relationships-in-uml-models.md",
241+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
242+
"redirect_document_id": false
243+
},
244+
{
245+
"source_path": "docs/modeling/display-a-uml-model-on-diagrams.md",
246+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
247+
"redirect_document_id": false
248+
},
249+
{
250+
"source_path": "docs/modeling/link-uml-model-updates-by-using-transactions.md",
251+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
252+
"redirect_document_id": false
253+
},
254+
{
255+
"source_path": "docs/modeling/attach-reference-strings-to-uml-model-elements.md",
256+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
257+
"redirect_document_id": false
258+
},
259+
{
260+
"source_path": "docs/modeling/get-uml-model-elements-from-idataobject.md",
261+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
262+
"redirect_document_id": false
263+
},
264+
{
265+
"source_path": "docs/modeling/update-a-uml-model-from-a-background-thread.md",
266+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
267+
"redirect_document_id": false
268+
},
269+
{
270+
"source_path": "docs/modeling/uml-model-element-types.md",
271+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
272+
"redirect_document_id": false
273+
},
274+
{
275+
"source_path": "docs/modeling/run-unit-tests-on-uml-extensions.md",
276+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
277+
"redirect_document_id": false
278+
},
279+
{
280+
"source_path": "docs/modeling/api-reference-for-uml-modeling-extensibility.md",
281+
"redirect_url": "/visualstudio/modeling/create-uml-modeling-projects-and-diagrams",
282+
"redirect_document_id": false
283+
}
284+
]
285+
}

.vscode/settings.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
{
2+
}

docs/code-quality/C26400.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ms.assetid: b27e1c6d-8b52-40b3-9760-b93afef19c7a
1616
caps.latest.revision: 0
1717
author: "corob-msft"
1818
ms.author: "corob"
19-
manager: "ghogen"
19+
manager: ghogen
2020
---
2121
# C26400 NO_RAW_POINTER_ASSIGNMENT
2222
This check helps to enforce the *rule I.11: Never transfer ownership by a raw pointer (T\*)*, which is a subset of the rule *R.3: A raw pointer (a T\*) is non-owning.* Specifically, it warns on any call to operator `new` which saves its result in a variable of raw pointer type. It also warns on calls to functions that return `gsl::owner<T>` if their results are assigned to raw pointers. The idea here is that you should clearly state ownership of memory resources. For more information, see the [C++ Core Guidelines](http://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#r-resource-management).

docs/code-quality/C26401.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ms.assetid: b9d3d398-697a-4a5d-8bfe-9c667dffb90b
1616
caps.latest.revision: 0
1717
author: "corob-msft"
1818
ms.author: "corob"
19-
manager: "ghogen"
19+
manager: ghogen
2020
---
2121
# C26401 DONT_DELETE_NON_OWNER
2222
This check detects places where moving to `owner<T>` can be a good option for the first stage of refactoring. Like C26400 it enforces rules I.11 and R.3, but focuses on the “release” portion of the pointer lifetime. It warns on any call to operator `delete` if its target is neither an `owner<T>` nor an implicitly assumed owner. For more information, see [C26400](c26400.md) regarding the auto declarations. This does include expressions that refer to global variables, formals, and so on.

docs/code-quality/C26402.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ms.assetid: b9d3d398-697a-4a5d-8bfe-9c667dffb90b
1616
caps.latest.revision: 0
1717
author: "corob-msft"
1818
ms.author: "corob"
19-
manager: "ghogen"
19+
manager: ghogen
2020
---
2121
# C26401 DONT_DELETE_NON_OWNER
2222
This check detects places where moving to `owner<T>` can be a good option for the first stage of refactoring. Like C26400 it enforces rules I.11 and R.3, but focuses on the “release” portion of the pointer lifetime. It warns on any call to operator `delete` if its target is neither an `owner<T>` nor an implicitly assumed owner. For more information, see [C26400](c26400.md) regarding the auto declarations. This does include expressions that refer to global variables, formals, and so on.

docs/code-quality/C26403.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ms.assetid: 7e14868d-df86-4df3-98d3-71b1e80ba14e
1616
caps.latest.revision: 0
1717
author: "corob-msft"
1818
ms.author: "corob"
19-
manager: "ghogen"
19+
manager: ghogen
2020
---
2121
# C26403 RESET_OR_DELETE_OWNER
2222
Owner pointers are like unique pointers: they own a resource exclusively, and manage release of the resource, as well as its transfers to other owners. This check validates that a local owner pointer properly maintains its resource through all execution paths in a function. If the resource was not transferred to another owner, or was not explicitly release, the checker warns, and points to the declaration of the pointer variable.

docs/code-quality/C26404.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ms.assetid: 94afb700-3f3b-40db-8afc-2481935360c2
1616
caps.latest.revision: 0
1717
author: "corob-msft"
1818
ms.author: "corob"
19-
manager: "ghogen"
19+
manager: ghogen
2020
---
2121
# C26404 DONT_DELETE_INVALID
2222
Once owner pointer releases or transfers its resource, it gets into an “invalid” state.

docs/code-quality/C26405.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ms.assetid: 2034d961-3ec5-4184-bbef-aa792e4c03c0
1616
caps.latest.revision: 0
1717
author: "corob-msft"
1818
ms.author: "corob"
19-
manager: "ghogen"
19+
manager: ghogen
2020
---
2121
# C26405 DONT_ASSIGN_TO_VALID
2222
If an owner pointer already points to a valid memory buffer, it must not be assigned to another value without releasing its current resource first. Such assignment may lead to a resource leak even if the resource address is copied into some raw pointer (because raw pointers shouldn’t release resources).

docs/code-quality/C26406.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ms.assetid: 02fb8e23-1989-4e24-a5a5-e30f71d00325
1616
caps.latest.revision: 0
1717
author: "corob-msft"
1818
ms.author: "corob"
19-
manager: "ghogen"
19+
manager: ghogen
2020
---
2121
# C26406 DONT_ASSIGN_RAW_TO_OWNER
2222
Owners are initialized from allocations or from other owners. Assigning a value from a raw pointer to an owner pointer is not allowed. Raw pointers don’t guarantee ownership transfer; there is still may be an original owner which holds the resource and will attempt to release it. Note that assigning a value from owner to a raw pointer is fine; raw pointers are valid clients to access resources, but not to manage them.

docs/code-quality/C26407.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ms.assetid: 5539907a-bfa0-40db-82a6-b860c97209e1
1616
caps.latest.revision: 0
1717
author: "corob-msft"
1818
ms.author: "corob"
19-
manager: "ghogen"
19+
manager: ghogen
2020
---
2121
# C26407 DONT_HEAP_ALLOCATE_UNNECESSARILY
2222
To avoid unnecessary use of pointers we try to detect common patterns of local allocations, for example when the result of a call to operator new is stored in a local variable and later explicitly deleted. This supports the rule R.5: *Prefer scoped objects, don't heap-allocate unnecessarily*. The suggested fix is to use an RAII type instead of a raw pointer and allow it to deal with resources. If an allocation is a single object, then it may be obviously unnecessary and a local variable of the object’s type would work better.

docs/code-quality/C26408.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ms.assetid: 55b0706f-1107-41c1-8ad0-c9e1e86a3b8c
1616
caps.latest.revision: 3
1717
author: "corob-msft"
1818
ms.author: "corob"
19-
manager: "ghogen"
19+
manager: ghogen
2020
---
2121
# C26408 NO_MALLOC_FREE
2222
This warning flags places where `malloc` or `free` is invoked explicitly in accordance to R.10: Avoid `malloc` and `free`. One potential fix for such warnings would be to use [std::make_unique](/cpp/standard-library/memory-functions#make_unique) to avoid explicit creation and destruction of objects. If such a fix is not acceptable, operator [new and delete](/cpp/cpp/new-and-delete-operators) should be preferred. In some cases, if exceptions are not welcome, `malloc` and `free` can be replaced with the nothrow version of operators `new` and `delete`.

0 commit comments

Comments
 (0)