Skip to content

Commit a30da48

Browse files
authored
Merge branch 'master' into vs-rtw
2 parents 773cc51 + d4b97ed commit a30da48

File tree

602 files changed

+27427
-3362
lines changed

Some content is hidden

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

602 files changed

+27427
-3362
lines changed

docs/TOC.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# [Visual C++ in Visual Studio 2017](visual-cpp-in-visual-studio.md)
22
# [What's New for Visual C++ in Visual Studio 2017](what-s-new-for-visual-cpp-in-visual-studio.md)
33
# [C++ conformance improvements in Visual Studio 2017](cpp-conformance-improvements-2017.md)
4+
## [Visual C++ Language Conformance](visual-cpp-language-conformance.md)
45
# [Supported Platforms (Visual C++)](supported-platforms-visual-cpp.md)
56
# [C Language](c-language/c-language-reference.md)
67
# [C++ Language](cpp/cpp-language-reference.md)
@@ -11,7 +12,6 @@
1112
# [Linux Development](linux/download-install-and-setup-the-linux-development-workload.md)
1213
# [.NET Development with C++/CLI](dotnet/dotnet-programming-with-cpp-cli-visual-cpp.md)
1314
# [Cloud and Web Programming in Visual C++](cloud/cloud-and-web-programming-in-visual-cpp.md)
14-
## [C++ REST SDK (Codename "Casablanca")](cloud/cpp-rest-sdk-codename-casablanca.md)
1515
# [Parallel Programming](parallel/parallel-programming-in-visual-cpp.md)
1616
# [Data Access](data/data-access-programming-mfc-atl.md)
1717
# [Text and Strings](text/text-and-strings-in-visual-cpp.md)
@@ -23,4 +23,4 @@
2323
## [How User Account Control (UAC) Affects Your Application](security/how-user-account-control-uac-affects-your-application.md)
2424
# [Visual C++ Samples](visual-cpp-samples.md)
2525
# [Visual C++ Help and Community](visual-cpp-help-and-community.md)
26-
# [How to Report a Problem with the Visual C++ Toolset](how-to-report-a-problem-with-the-visual-cpp-toolset.md)
26+
# [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: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@
5454
- name: Reference
5555
tocHref: /cpp/atl-mfc-shared/reference/
5656
topicHref: /cpp/atl-mfc/shared/reference/classes-shared-by-atl-and-mfc
57+
- name: C++/CX
58+
tocHref: /cpp/cppcx/
59+
topicHref: /cpp/cppcx/visual-c-language-reference-c-cx
5760
- name: Linux
5861
tocHref: /cpp/linux/
5962
topicHref: /cpp/linux/download-install-and-setup-the-linux-development-workload

docs/assembler/masm/masm-for-x64-ml64-exe.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ translation.priority.ht:
3434
- "zh-tw"
3535
---
3636
# MASM for x64 (ml64.exe)
37-
ml64.exe is the assembler that accepts [!INCLUDE[vcprx64](../../assembler/inline/includes/vcprx64_md.md)] assembly language. For information on ml64.exe compiler options, see [ML and ML64 Command-Line Reference](../../assembler/masm/ml-and-ml64-command-line-reference.md).
37+
ml64.exe is the assembler that accepts x64 assembly language. For information on ml64.exe compiler options, see [ML and ML64 Command-Line Reference](../../assembler/masm/ml-and-ml64-command-line-reference.md).
3838

39-
Inline ASM is not supported for [!INCLUDE[vcprx64](../../assembler/inline/includes/vcprx64_md.md)]. Use MASM or compiler intrinsics ([x64 Intrinsics](http://msdn.microsoft.com/en-us/5d1f5d3e-156e-4ebf-932e-fd09be7ced62)).
39+
Inline ASM is not supported for x64. Use MASM or compiler intrinsics ([x64 (amd64) Intrinsics List](../../intrinsics/x64-amd64-intrinsics-list.md)).
4040

4141
The two workarounds are separate assembly with MASM (which supports x64 fully) and compiler intrinsics. We’ve added a lot of intrinsics to allow customers to make use of special-function instructions (e.g. privileged, bit scan/test, interlocked, etc…) in as close to cross-platform a manner as possible.
4242

docs/assembler/masm/segment.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ name ENDS
8181
Designates how segments should be combined and ordered in the assembled file. Typical values are, `'DATA'`, `'CODE'`, `'CONST'` and `'STACK'`
8282

8383
## Remarks
84-
For `ALIGN(``n``)`, `n` may be any power of 2 from 1 to 8192; not supported with **/omf**.
84+
For `ALIGN(n)`, `n` may be any power of 2 from 1 to 8192; not supported with **/omf**.
8585

8686
## See Also
8787
[Directives Reference](../../assembler/masm/directives-reference.md)

docs/atl-mfc-shared/cstring-operations-relating-to-c-style-strings.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ strcpy(myString, (LPCTSTR)aCString);
7676
[!code-cpp[NVC_ATLMFC_Utilities#189](../atl-mfc-shared/codesnippet/cpp/cstring-operations-relating-to-c-style-strings_1.cpp)]
7777

7878
> [!NOTE]
79-
> The third argument to `strcpy_s` (or the Unicode/MBCS-portable `_tcscpy_s`) is either a `const``wchar_t*` (Unicode) or a `const``char*` (ANSI). The example above passes a `CString` for this argument. The C++ compiler automatically applies the conversion function defined for the `CString` class that converts a `CString` to an `LPCTSTR`. The ability to define casting operations from one type to another is one of the most useful features of C++.
79+
> The third argument to `strcpy_s` (or the Unicode/MBCS-portable `_tcscpy_s`) is either a `const wchar_t*` (Unicode) or a `const char*` (ANSI). The example above passes a `CString` for this argument. The C++ compiler automatically applies the conversion function defined for the `CString` class that converts a `CString` to an `LPCTSTR`. The ability to define casting operations from one type to another is one of the most useful features of C++.
8080
8181
## <a name="_core_working_with_standard_run.2d.time_library_string_functions"></a> Working with Standard Run-Time Library String Functions
8282
You should be able to find a `CString` method to perform any string operation for which you might consider using the standard C run-time library string functions such as `strcmp` (or the Unicode/MBCS-portable `_tcscmp`).
@@ -108,7 +108,7 @@ strcpy(myString, (LPCTSTR)aCString);
108108
## <a name="_core_specifying_cstring_formal_parameters"></a> Specifying CString Formal Parameters
109109
For most functions that need a string argument, it is best to specify the formal parameter in the function prototype as a `const` pointer to a character (`LPCTSTR`) instead of a `CString`. When a formal parameter is specified as a `const` pointer to a character, you can pass either a pointer to a `TCHAR` array, a literal string [`"hi there"`], or a `CString` object. The `CString` object will be automatically converted to an `LPCTSTR`. Any place you can use an `LPCTSTR`, you can also use a `CString` object.
110110

111-
You can also specify a formal parameter as a constant string reference (that is, `const``CString&`) if the argument will not be modified. Drop the `const` modifier if the string will be modified by the function. If a default null value is desired, initialize it to the null string [`""`], as shown below:
111+
You can also specify a formal parameter as a constant string reference (that is, `const CString&`) if the argument will not be modified. Drop the `const` modifier if the string will be modified by the function. If a default null value is desired, initialize it to the null string [`""`], as shown below:
112112

113113
[!code-cpp[NVC_ATLMFC_Utilities#191](../atl-mfc-shared/codesnippet/cpp/cstring-operations-relating-to-c-style-strings_3.cpp)]
114114

docs/atl-mfc-shared/reference/csimplestringt-class.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ explicit CSimpleStringT(IAtlStringMgr* pStringMgr) throw();
264264
Construct a new `CSimpleStringT` object. Because the constructors copy the input data into new allocated storage, memory exceptions may result.
265265

266266
### Example
267-
The following example demonstrates the use of `CSimpleStringT::CSimpleStringT` by using the ATL `typedef``CSimpleString`. `CSimpleString` is a commonly used specialization of the class template `CSimpleStringT`.
267+
The following example demonstrates the use of `CSimpleStringT::CSimpleStringT` by using the ATL `typedef` `CSimpleString`. `CSimpleString` is a commonly used specialization of the class template `CSimpleStringT`.
268268

269269
```cpp
270270
CSimpleString s1(pMgr);

docs/atl-mfc-shared/reference/cstringt-class.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1335,7 +1335,7 @@ CStringT SpanIncluding(PCXSTR pszCharSet) const;
13351335
A string interpreted as a set of characters.
13361336

13371337
### Return Value
1338-
A substring that contains characters in the string that are in `pszCharSet`, beginning with the first character in the string and ending when a character is found in the string that is not in `pszCharSet.``SpanIncluding` returns an empty substring if the first character in the string is not in the specified set.
1338+
A substring that contains characters in the string that are in `pszCharSet`, beginning with the first character in the string and ending when a character is found in the string that is not in `pszCharSet`. `SpanIncluding` returns an empty substring if the first character in the string is not in the specified set.
13391339

13401340
### Remarks
13411341
If the first character of the string is not in the character set, then `SpanIncluding` returns an empty string. Otherwise, it returns a sequence of consecutive characters that are in the set.

docs/atl-mfc-shared/reference/ctime-class.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -178,13 +178,13 @@ CTime(const DBTIMESTAMP& dbts,int nDST = -1) throw();
178178
### Remarks
179179
Each constructor is described below:
180180

181-
- **CTime( );**Constructs an uninitialized `CTime` object. This constructor allows you to define `CTime` object arrays. You should initialize such arrays with valid times before using.
181+
- **CTime();** Constructs an uninitialized `CTime` object. This constructor allows you to define `CTime` object arrays. You should initialize such arrays with valid times before using.
182182

183-
- **CTime( const CTime& );**Constructs a `CTime` object from another `CTime` value.
183+
- **CTime( const CTime& );** Constructs a `CTime` object from another `CTime` value.
184184

185-
- **CTime( __time64_t );**Constructs a `CTime` object from a **__time64_t** type. This constructor expects a UTC time and converts the result to a local time before storing the result.
185+
- **CTime( __time64_t );** Constructs a `CTime` object from a **__time64_t** type. This constructor expects a UTC time and converts the result to a local time before storing the result.
186186

187-
- **CTime( int, int, ...);**Constructs a `CTime` object from local time components with each component constrained to the following ranges:
187+
- **CTime( int, int, ...);** Constructs a `CTime` object from local time components with each component constrained to the following ranges:
188188

189189
|Component|Range|
190190
|---------------|-----------|
@@ -197,11 +197,11 @@ CTime(const DBTIMESTAMP& dbts,int nDST = -1) throw();
197197

198198
This constructor makes the appropriate conversion to UTC. The Debug version of the Microsoft Foundation Class Library asserts if one or more of the time components are out of range. You must validate the arguments before calling. This constructor expects a local time.
199199

200-
- `CTime`( **WORD, WORD** ) **;**Constructs a `CTime` object from the specified MS-DOS date and time values. This constructor expects a local time.
200+
- **CTime( WORD, WORD );** Constructs a `CTime` object from the specified MS-DOS date and time values. This constructor expects a local time.
201201

202-
- `CTime`( **const SYSTEMTIME&** ) **;**Constructs a `CTime` object from a `SYSTEMTIME` structure. This constructor expects a local time.
202+
- **CTime( const SYSTEMTIME& );** Constructs a `CTime` object from a `SYSTEMTIME` structure. This constructor expects a local time.
203203

204-
- `CTime`( **const FILETIME&** ) **;**Constructs a `CTime` object from a `FILETIME` structure. You most likely will not use `CTime``FILETIME` initialization directly. If you use a `CFile` object to manipulate a file, `CFile::GetStatus` retrieves the file time stamp for you through a `CTime` object initialized with a `FILETIME` structure. This constructor assumes a time based on UTC and automatically converts the value to local time before storing the result.
204+
- **CTime( const FILETIME& );** Constructs a `CTime` object from a `FILETIME` structure. You most likely will not use `CTime FILETIME` initialization directly. If you use a `CFile` object to manipulate a file, `CFile::GetStatus` retrieves the file time stamp for you through a `CTime` object initialized with a `FILETIME` structure. This constructor assumes a time based on UTC and automatically converts the value to local time before storing the result.
205205

206206
> [!NOTE]
207207
> The constructor using **DBTIMESTAMP** parameter is only available when OLEDB.h is included.

docs/atl-mfc-shared/unicode-and-multibyte-character-set-mbcs-support.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,14 +86,8 @@ Some languages, for example, Japanese and Chinese, have large character sets. To
8686

8787
## <a name="_core_mfc_support_for_mbcs_strings"></a> MFC Support for MBCS Strings
8888

89-
> [!WARNING]
90-
> MBCS strings are legacy technology and should not be used in new projects. The following information is provided for scenarios in which you need to maintain existing code that uses MBCS and it is not feasible to upgrade the code to use Unicode.
91-
9289
The class library is also enabled for multibyte character sets, but only for double-byte character sets (DBCS).
9390

94-
> [!IMPORTANT]
95-
> In [!INCLUDE[vs_dev12](../atl-mfc-shared/includes/vs_dev12_md.md)] and later, the MBCS versions of the MFC DLLs are available as a free add-in to Visual Studio from the MSDN download site. For more information, see [MFC MBCS DLL Add-in](../mfc/mfc-mbcs-dll-add-on.md).
96-
9791
In a multibyte character set, a character can be one or two bytes wide. If it is two bytes wide, its first byte is a special "lead byte" that is chosen from a particular range, depending on which code page is in use. Taken together, the lead and "trail bytes" specify a unique character encoding.
9892

9993
If the symbol `_MBCS` is defined for a build of your program, type `TCHAR`, on which `CString` is based, maps to `char`. It is up to you to determine which bytes in a `CString` are lead bytes and which are trail bytes. The C run-time library supplies functions to help you determine this.

docs/atl/reference/cadapt-class.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,16 @@ class CAdapt
9999
CAdapt();
100100
CAdapt(const T& rSrc);
101101
CAdapt(const CAdapt& rSrCA);
102+
CAdapt(T&& rSrCA); // (Visual Studio 2017)
103+
CAdapt(CAdapt<T>&& rSrCA) noexcept; // (Visual Studio 2017)
102104
```
103105

104106
### Parameters
105107
`rSrc`
106108
A variable of the type being adapted to be copied into the newly constructed adapter object.
107109

108110
*rSrCA*
109-
An adapter object whose contained data should be copied into the newly constructed adapter object.
111+
An adapter object whose contained data should be copied (or moved) into the newly constructed adapter object.
110112

111113
## <a name="m_t"></a> CAdapt::m_T
112114
Holds the data being adapted.
@@ -157,11 +159,16 @@ bool operator<(const T& rSrc) const;
157159

158160
```
159161
CAdapt& operator= (const T& rSrc);
162+
CAdapt& operator= (T&& rSrCA); // (Visual Studio 2017)
163+
CAdapt& operator= (CAdapt<T>&& rSrCA) noexcept; // (Visual Studio 2017)
160164
```
161165

162166
### Parameters
163167
`rSrc`
164-
A reference to an object of the adapted type to be copied.
168+
A reference to an object of the adapted type to be copied.
169+
170+
`rSrCA`
171+
A reference to an object to be moved.
165172

166173
### Return Value
167174
A reference to the current object.

0 commit comments

Comments
 (0)