Skip to content

Commit 971796b

Browse files
author
Michael Blome
committed
fix merge conflicts local
2 parents 7706b78 + dff1e9e commit 971796b

File tree

2,559 files changed

+39743
-39533
lines changed

Some content is hidden

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

2,559 files changed

+39743
-39533
lines changed

.openpublishing.publish.config.json

Lines changed: 36 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,36 @@
1-
{
2-
"build_entry_point": "docs",
3-
"need_generate_pdf": false,
4-
"need_generate_intellisense": false,
5-
"docsets_to_publish": [
6-
{
7-
"docset_name": "vcppdocs",
8-
"build_source_folder": "docs",
9-
"build_output_subfolder": "vcppdocs",
10-
"locale": "en-us",
11-
"version": 0,
12-
"open_to_public_contributors": true,
13-
"type_mapping": {
14-
"Conceptual": "Content",
15-
"ManagedReference": "Content",
16-
"RestApi": "Content"
17-
},
18-
"template_folder": "_themes"
19-
}
20-
],
21-
"notification_subscribers": [],
22-
"branches_to_filter": [],
23-
"skip_source_output_uploading": false,
24-
"git_repository_url_open_to_public_contributors": "https://github.com/Microsoft/cpp-docs",
25-
"git_repository_branch_open_to_public_contributors": "master",
26-
"dependent_repositories": [
27-
{
28-
"path_to_root": "_themes",
29-
"url": "https://github.com/Microsoft/templates.docs.msft",
30-
"branch": "master",
31-
"branch_mapping": {}
32-
}
33-
],
34-
"need_generate_pdf_url_template": false
35-
}
1+
{
2+
"build_entry_point": "docs",
3+
"need_generate_pdf": false,
4+
"need_generate_intellisense": false,
5+
"docsets_to_publish": [
6+
{
7+
"docset_name": "vcppdocs",
8+
"build_source_folder": "docs",
9+
"build_output_subfolder": "vcppdocs",
10+
"locale": "en-us",
11+
"version": 0,
12+
"open_to_public_contributors": true,
13+
"type_mapping": {
14+
"Conceptual": "Content",
15+
"ManagedReference": "Content",
16+
"RestApi": "Content"
17+
},
18+
"template_folder": "_themes"
19+
}
20+
],
21+
"notification_subscribers": [],
22+
"branches_to_filter": [],
23+
"skip_source_output_uploading": false,
24+
"git_repository_url_open_to_public_contributors": "https://github.com/Microsoft/cpp-docs",
25+
"git_repository_branch_open_to_public_contributors": "master",
26+
"dependent_repositories": [
27+
{
28+
"path_to_root": "_themes",
29+
"url": "https://github.com/Microsoft/templates.docs.msft",
30+
"branch": "master",
31+
"branch_mapping": {}
32+
}
33+
],
34+
"need_generate_pdf_url_template": false,
35+
"enable_incremental_build": true
36+
}

docs/TOC.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# [Visual C++ in Visual Studio 2017 RC](top/visual-cpp-in-visual-studio.md)
2-
# [What's New for Visual C++ in Visual Studio 2017 RC](top/what-s-new-for-visual-cpp-in-visual-studio.md)
3-
# [Supported Platforms (Visual C++)](top/supported-platforms-visual-cpp.md)
1+
# [Visual C++ in Visual Studio 2017 RC](visual-cpp-in-visual-studio.md)
2+
# [What's New for Visual C++ in Visual Studio 2017 RC](what-s-new-for-visual-cpp-in-visual-studio.md)
3+
# [Supported Platforms (Visual C++)](supported-platforms-visual-cpp.md)
44
# [C Language](c-language/c-language-reference.md)
55
# [C++ Language](cpp/cpp-language-reference.md)
66
# [C/C++ Preprocessor](preprocessor/c-cpp-preprocessor-reference.md)
@@ -9,17 +9,17 @@
99
# [Windows Development](windows/overview-of-windows-programming-in-cpp.md)
1010
# [Linux Development](linux/download-install-and-setup-the-linux-development-workload.md)
1111
# [.NET Development with C++/CLI](dotnet/dotnet-programming-with-cpp-cli-visual-cpp.md)
12-
# [Cloud and Web Programming in Visual C++](top/cloud-and-web-programming-in-visual-cpp.md)
13-
## [C++ REST SDK (Codename "Casablanca")](top/cpp-rest-sdk-codename-casablanca.md)
12+
# [Cloud and Web Programming in Visual C++](cloud/cloud-and-web-programming-in-visual-cpp.md)
13+
## [C++ REST SDK (Codename "Casablanca")](cloud/cpp-rest-sdk-codename-casablanca.md)
1414
# [Parallel Programming](parallel/parallel-programming-in-visual-cpp.md)
1515
# [Data Access](data/data-access-programming-mfc-atl.md)
1616
# [Text and Strings](text/text-and-strings-in-visual-cpp.md)
1717
# [Using the Visual Studio IDE for C++](ide/ide-and-tools-for-visual-cpp-development.md)
1818
# [Compilers and Build Tools](build/building-c-cpp-programs.md)
1919
# [Porting and Upgrading Visual C++ Code](porting/visual-cpp-porting-and-upgrading-guide.md)
20-
# [Security Best Practices for C++](top/security-best-practices-for-cpp.md)
21-
## [Running as a Member of the Users Group](top/running-as-a-member-of-the-users-group.md)
22-
## [How User Account Control (UAC) Affects Your Application](top/how-user-account-control-uac-affects-your-application.md)
23-
# [Visual C++ Samples](top/visual-cpp-samples.md)
24-
# [Visual C++ Help and Community](top/visual-cpp-help-and-community.md)
25-
# [How to Report a Problem with the Visual C++ Toolset](top/how-to-report-a-problem-with-the-visual-cpp-toolset.md)
20+
# [Security Best Practices for C++](security/security-best-practices-for-cpp.md)
21+
## [Running as a Member of the Users Group](security/running-as-a-member-of-the-users-group.md)
22+
## [How User Account Control (UAC) Affects Your Application](security/how-user-account-control-uac-affects-your-application.md)
23+
# [Visual C++ Samples](visual-cpp-samples.md)
24+
# [Visual C++ Help and Community](visual-cpp-help-and-community.md)
25+
# [How to Report a Problem with the Visual C++ Toolset](how-to-report-a-problem-with-the-visual-cpp-toolset.md)

docs/_breadcrumb/toc.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,4 +117,10 @@
117117
topicHref: /cpp/porting/porting-and-upgrading-guide
118118
- name: Text and Strings
119119
tocHref: /cpp/text/
120-
topicHref: /cpp/text/text-and-strings
120+
topicHref: /cpp/text/text-and-strings
121+
- name: Security
122+
tocHref: /cpp/security
123+
topicHref: /cpp/security/security-best-practices-for-cpp
124+
- name: Cloud and Web
125+
tocHref: /cpp/cloud
126+
topicHref: /cpp/cloud/cloud-and-web-programming-in-visual-cpp

docs/assembler/masm/microsoft-macro-assembler-reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ The Microsoft Macro Assembler (MASM) provides several advantages over inline ass
6161
Information about how to create output files for [!INCLUDE[vcprx64](../../assembler/inline/includes/vcprx64_md.md)].
6262

6363
## Related Sections
64-
[Visual C++](../../visual-cpp-in-visual-studio.md)
64+
[Visual C++](../../top/visual-cpp-in-visual-studio.md)
6565
Provides links to different areas of the Visual Studio and Visual C++ documentation.
6666

6767
[Visual C++ Reference](http://msdn.microsoft.com/en-us/1ba03b5c-8229-4f63-b08c-6c12141d6ab1)

docs/atl-mfc-shared/allocating-and-releasing-memory-for-a-bstr.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ When you create `BSTR`s and pass them between COM objects, you must take care in
6262

6363
## See Also
6464
[Strings (ATL/MFC)](../atl-mfc-shared/strings-atl-mfc.md)
65-
[CStringT::AllocSysString](../atl-mfc-shared/reference/cstringt-class.md#cstringt__allocsysstring)
65+
[CStringT::AllocSysString](../atl-mfc-shared/reference/cstringt-class.md#allocsysstring)
6666
[SysAllocString](http://msdn.microsoft.com/en-us/9e0437a2-9b4a-4576-88b0-5cb9d08ca29b)
6767
[SysFreeString](http://msdn.microsoft.com/en-us/8f230ee3-5f6e-4cb9-a910-9c90b754dcd3)
6868

docs/atl-mfc-shared/atl-mfc-shared-classes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ Beginning with Visual C++ .NET 2002, several existing MFC utility classes were r
6767
Provides links to sample code showing the capabilities of Visual C++ and the libraries and technologies it supports.
6868

6969
[Visual C++ Libraries](http://msdn.microsoft.com/en-us/fec23c40-10c0-4857-9cdc-33a3b99b30ae)
70-
Provides links to the various libraries provided with Visual C++, including ATL, MFC, OLE DB Templates, the C run-time library, and the Standard C++ Library.
70+
Provides links to the various libraries provided with Visual C++, including ATL, MFC, OLE DB Templates, the C run-time library, and the C++ Standard Library.
7171

7272
[Debugging](/visualstudio/debugger/debugging-in-visual-studio)
7373
Provides links to using the Visual Studio debugger to correct logic errors in your application or stored procedures.

docs/atl-mfc-shared/cfixedstringt-example-of-a-custom-string-manager.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ The ATL library implements one example of a custom string manager used by class
7070
## Implementation of CFixedStringMgr::GetNilString
7171
The implementation of **CFixedStringMgr::GetNilString** returns the fixed buffer. Because of the one-on-one correspondence of **CFixedStringMgr** and `CStringT`, a given instance of `CStringT` never uses more than one buffer at a time. Therefore, a nil string and a real string buffer are never needed at the same time.
7272

73-
Whenever the fixed buffer is not in use, **CFixedStringMgr** ensures that it is initialized with a zero length. This allows it to be used as the nil string. As an added bonus, the `nAllocLength` member of the fixed buffer is always set to the full size of the fixed buffer. This means that `CStringT` can grow the string without calling [IAtlStringMgr::Reallocate](../atl-mfc-shared/reference/iatlstringmgr-class.md#iatlstringmgr__reallocate), even for the nil string.
73+
Whenever the fixed buffer is not in use, **CFixedStringMgr** ensures that it is initialized with a zero length. This allows it to be used as the nil string. As an added bonus, the `nAllocLength` member of the fixed buffer is always set to the full size of the fixed buffer. This means that `CStringT` can grow the string without calling [IAtlStringMgr::Reallocate](../atl-mfc-shared/reference/iatlstringmgr-class.md#reallocate), even for the nil string.
7474

7575
## Requirements
7676
**Header:** cstringt.h

docs/atl-mfc-shared/date-and-time-automation-support.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ This article describes how to take advantage of the class library services relat
5555

5656
The `COleDateTime` and `COleDateTimeSpan` classes are designed to be used with the `COleVariant` class used in Automation. `COleDateTime` and `COleDateTimeSpan` are also useful in MFC database programming, but they can be used whenever you want to manipulate date and time values. Although the `COleDateTime` class has a greater range of values and finer granularity than the `CTime` class, it requires more storage per object than `CTime`. There are also some special considerations when working with the underlying **DATE** type. See [The DATE Type](../atl-mfc-shared/date-type.md) for more details on the implementation of **DATE**.
5757

58-
`COleDateTime` objects can be used to represent dates between January 1, 100, and December 31, 9999. `COleDateTime` objects are floating point values, with an approximate resolution of 1 millisecond. `COleDateTime` is based on the **DATE** data type, defined in the MFC documentation under [COleDateTime::operator DATE](../atl-mfc-shared/reference/coledatetime-class.md#coledatetime__operator_date). The actual implementation of **DATE** extends beyond these bounds. The `COleDateTime` implementation imposes these bounds to facilitate working with the class.
58+
`COleDateTime` objects can be used to represent dates between January 1, 100, and December 31, 9999. `COleDateTime` objects are floating point values, with an approximate resolution of 1 millisecond. `COleDateTime` is based on the **DATE** data type, defined in the MFC documentation under [COleDateTime::operator DATE](../atl-mfc-shared/reference/coledatetime-class.md#operator_date). The actual implementation of **DATE** extends beyond these bounds. The `COleDateTime` implementation imposes these bounds to facilitate working with the class.
5959

6060
`COleDateTime` does not support Julian dates. The Gregorian calendar is assumed to extend back in time to January 1, 100.
6161

docs/atl-mfc-shared/date-and-time-systemtime-support.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ The [CTime](../atl-mfc-shared/reference/ctime-class.md) class has constructors t
5656

5757
If your code contains a `CTime` object initialized with the system time, you should use the `SYSTEMTIME` constructor in Win32.
5858

59-
You most likely will not use `CTime` `FILETIME` initialization directly. If you use a `CFile` object to manipulate a file, [CFile::GetStatus](../mfc/reference/cfile-class.md#cfile__getstatus) retrieves the file timestamp for you via a `CTime` object initialized with a `FILETIME` structure.
59+
You most likely will not use `CTime` `FILETIME` initialization directly. If you use a `CFile` object to manipulate a file, [CFile::GetStatus](../mfc/reference/cfile-class.md#getstatus) retrieves the file timestamp for you via a `CTime` object initialized with a `FILETIME` structure.
6060

6161
## What do you want to know more about
6262

docs/atl-mfc-shared/exporting-string-classes-using-cstringt.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ In the past, MFC developers have derived from `CString` to specialize their own
3737

3838
- It allowed the MFC `CString` class to be used in ATL projects without linking in the larger MFC static library or DLL.
3939

40-
- With the new `CStringT` template class, you can customize `CString` behavior using template parameters that specify character traits, similar to the templates in the Standard Template Library (STL).
40+
- With the new `CStringT` template class, you can customize `CString` behavior using template parameters that specify character traits, similar to the templates in the C++ Standard Library.
4141

4242
- When you export your own string class from a DLL using `CStringT`, the compiler also automatically exports the `CString` base class. Since `CString` is itself a template class, it may be instantiated by the compiler when used, unless the compiler is aware that `CString` is imported from a DLL. If you have migrated projects from Visual C++ 6.0 to Visual C++.NET, you might have seen linker symbol errors for a multiply-defined `CString` because of the collision of the `CString` imported from a DLL and the locally instantiated version. The proper way to do this is described below. For more information on this issue, see the Knowledge Base article, "Linking Errors When you Import CString-derived Classes" (Q309801) on the MSDN Library CD-ROM or at [http://support.microsoft.com/default.aspx](http://support.microsoft.com/default.aspx).
4343

docs/atl-mfc-shared/implementation-of-a-custom-string-manager-advanced-method.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,13 @@ In specialized situations, you might want to implement a custom string manager t
3939

4040
The `CStringData` structure comprises four fields:
4141

42-
- [pStringMgr](../atl-mfc-shared/reference/cstringdata-class.md#cstringdata__pstringmgr) This field points to the `IAtlStringMgr` interface used to manage this string data. When `CStringT` needs to reallocate or free the string buffer it calls the Reallocate or Free methods of this interface, passing the `CStringData` structure as a parameter. When allocating a `CStringData` structure in your string manager, you must set this field to point to your custom string manager.
42+
- [pStringMgr](../atl-mfc-shared/reference/cstringdata-class.md#pstringmgr) This field points to the `IAtlStringMgr` interface used to manage this string data. When `CStringT` needs to reallocate or free the string buffer it calls the Reallocate or Free methods of this interface, passing the `CStringData` structure as a parameter. When allocating a `CStringData` structure in your string manager, you must set this field to point to your custom string manager.
4343

44-
- [nDataLength](../atl-mfc-shared/reference/cstringdata-class.md#cstringdata__ndatalength) This field contains the current logical length of the string stored in the buffer excluding the terminating null. `CStringT` updates this field when the length of the string changes. When allocating a `CStringData` structure, your string manager must set this field to zero. When reallocating a `CStringData` structure, your custom string manager must leave this field unchanged.
44+
- [nDataLength](../atl-mfc-shared/reference/cstringdata-class.md#ndatalength) This field contains the current logical length of the string stored in the buffer excluding the terminating null. `CStringT` updates this field when the length of the string changes. When allocating a `CStringData` structure, your string manager must set this field to zero. When reallocating a `CStringData` structure, your custom string manager must leave this field unchanged.
4545

46-
- [nAllocLength](../atl-mfc-shared/reference/cstringdata-class.md#cstringdata__nalloclength) This field contains the maximum number of characters (excluding the terminating null) that can be stored in this string buffer without reallocating it. Whenever `CStringT` needs to increase the logical length of the string, it first checks this field to make sure there is enough space in the buffer. If the check fails, `CStringT` calls into your custom string manager to reallocate the buffer. When allocating or reallocating a `CStringData` structure, you must set this field to at least the number of characters requested in the **nChars** parameter to [IAtlStringMgr::Allocate](../atl-mfc-shared/reference/iatlstringmgr-class.md#iatlstringmgr__allocate) or [IAtlStringMgr::Reallocate](../atl-mfc-shared/reference/iatlstringmgr-class.md#iatlstringmgr__reallocate). If there is more space in the buffer than requested, you can set this value to reflect the actual amount of space available. This allows `CStringT` to grow the string to fill the entire allocated space before it has to call back into the string manager to reallocate the buffer.
46+
- [nAllocLength](../atl-mfc-shared/reference/cstringdata-class.md#nalloclength) This field contains the maximum number of characters (excluding the terminating null) that can be stored in this string buffer without reallocating it. Whenever `CStringT` needs to increase the logical length of the string, it first checks this field to make sure there is enough space in the buffer. If the check fails, `CStringT` calls into your custom string manager to reallocate the buffer. When allocating or reallocating a `CStringData` structure, you must set this field to at least the number of characters requested in the **nChars** parameter to [IAtlStringMgr::Allocate](../atl-mfc-shared/reference/iatlstringmgr-class.md#allocate) or [IAtlStringMgr::Reallocate](../atl-mfc-shared/reference/iatlstringmgr-class.md#reallocate). If there is more space in the buffer than requested, you can set this value to reflect the actual amount of space available. This allows `CStringT` to grow the string to fill the entire allocated space before it has to call back into the string manager to reallocate the buffer.
4747

48-
- [nRefs](../atl-mfc-shared/reference/cstringdata-class.md#cstringdata__nrefs) This field contains the current reference count of the string buffer. If the value is one, then a single instance of `CStringT` is using the buffer. In addition, the instance is allowed to both read and modify the contents of the buffer. If the value is greater than one, multiple instances of `CStringT` can use the buffer. Because the character buffer is shared, `CStringT` instances can only read the contents of the buffer. To modify the contents, `CStringT` first makes a copy of the buffer. If the value is negative, only one instance of `CStringT` is using the buffer. In this case, the buffer is considered locked. When a `CStringT` instance is using a locked buffer no other instances of `CStringT` may share the buffer. Instead, these instances create a copy of the buffer before manipulating the contents. In addition, the `CStringT` instance using the locked buffer does not attempt to share the buffer of any other `CStringT` instance assigned to it. In this case, the `CStringT` instance copies the other string into the locked buffer.
48+
- [nRefs](../atl-mfc-shared/reference/cstringdata-class.md#nrefs) This field contains the current reference count of the string buffer. If the value is one, then a single instance of `CStringT` is using the buffer. In addition, the instance is allowed to both read and modify the contents of the buffer. If the value is greater than one, multiple instances of `CStringT` can use the buffer. Because the character buffer is shared, `CStringT` instances can only read the contents of the buffer. To modify the contents, `CStringT` first makes a copy of the buffer. If the value is negative, only one instance of `CStringT` is using the buffer. In this case, the buffer is considered locked. When a `CStringT` instance is using a locked buffer no other instances of `CStringT` may share the buffer. Instead, these instances create a copy of the buffer before manipulating the contents. In addition, the `CStringT` instance using the locked buffer does not attempt to share the buffer of any other `CStringT` instance assigned to it. In this case, the `CStringT` instance copies the other string into the locked buffer.
4949

5050
When allocating a `CStringData` structure, you must set this field to reflect the type of sharing that is allowed for the buffer. For most implementations, set this value to one. This allows the usual copy-on-write sharing behavior. However, if your string manager does not support sharing the string buffer, set this field to a locked state. This forces `CStringT` to only use this buffer for the instance of `CStringT` that allocated it.
5151

0 commit comments

Comments
 (0)