Skip to content

Fix git push error for protected CLA branch #1651

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Oct 24, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions docs/standard-library/binder2nd-class.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class binder2nd
typedef typename Operation::argument_type argument_type;
typedef typename Operation::result_type result_type;
binder2nd(
const Operation& Func,
const Operation& func,
const typename Operation::second_argument_type& right);

result_type operator()(const argument_type& left) const;
Expand All @@ -30,7 +30,7 @@ class binder2nd

### Parameters

*Func*\
*func*\
The binary function object to be converted to a unary function object.

*right*\
Expand All @@ -39,15 +39,15 @@ The value to which the second argument of the binary function object is to be bo
*left*\
The value of the argument that the adapted binary object compares to the fixed value of the second argument.

## Return Value
## Return value

The unary function object that results from binding the second argument of the binary function object to the value *right*.

## Remarks

The class template stores a copy of a binary function object _ *Func* in `op`, and a copy of *right* in `value`. It defines its member function `operator()` as returning **op**(`left`, **value**).
The class template stores a copy of a binary function object *func* in `op`, and a copy of *right* in `value`. It defines its member function `operator()` as returning `op(left, value)`.

If `Func` is an object of type `Operation` and c is a constant, then [bind2nd](../standard-library/functional-functions.md#bind2nd) (`Func`, `c`) is equivalent to the `binder2nd` class constructor `binder2nd`\< **Operation**> (`Func`, `c`) and more convenient.
If *func* is an object of type `Operation` and c is a constant, then [bind2nd](../standard-library/functional-functions.md#bind2nd)`(func, c)` is equivalent to the `binder2nd` class constructor `binder2nd<Operation>(func, c)`, and more convenient.

## Example

Expand Down
16 changes: 7 additions & 9 deletions docs/standard-library/bitset-operators.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ A text representation of the bit sequence in `ostr`.

The template function overloads `operator<<`, allowing a bitset to be written out without first converting it into a string. The template function effectively executes:

**ostr** <<_*Right*. [to_string](bitset-class.md) <**CharType**, **Traits**, **allocator**\<**CharType**>>()
`ostr << right.`[to_string](bitset-class.md)`<CharType, Traits, allocator<CharType>>()`

### Example

Expand Down Expand Up @@ -123,29 +123,27 @@ Reads a string of bit characters into a bitset.
```
template <class CharType, class Traits, size_t Bits>
basic_istream<CharType, Traits>& operator>> (
basic_istream<CharType, Traits>&
_Istr,
bitset<N>&
right);
basic_istream<CharType, Traits>& i_str,
bitset<N>& right);
```

### Parameters

*_Istr*\
*i_str*\
The string that is entered into the input stream to be inserted into the bitset.

*right*\
The bitset that is receiving the bits from the input stream.

### Return Value

The template function returns the string *_Istr*.
The template function returns the string *i_str*.

### Remarks

The template function overloads `operator>>` to store in the bitset _ *Right* the value bitset(`str`), where `str` is an object of type [basic_string](basic-string-class.md) < **CharType**, **Traits**, **allocator**\< **CharType**> > **&** extracted from *_Istr*.
The template function overloads `operator>>` to store in the bitset *right* the value `bitset(str)`, where `str` is an object of type [basic_string](basic-string-class.md)`< CharType, Traits, allocator< CharType > >&` extracted from *i_str*.

The template function extracts elements from *_Istr* and inserts them into the bitset until:
The template function extracts elements from *i_str* and inserts them into the bitset until:

- All the bit elements have been extracted from the input stream and stored in the bitset.

Expand Down
140 changes: 70 additions & 70 deletions docs/standard-library/codecvt-class.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/standard-library/forward-list-class.md
Original file line number Diff line number Diff line change
Expand Up @@ -962,4 +962,4 @@ typedef typename Allocator::value_type value_type;

### Remarks

The type is a synonym for the template parameter _ `Ty`.
The type is a synonym for the template parameter `Type`.
103 changes: 60 additions & 43 deletions docs/standard-library/hash-multiset-class.md
Original file line number Diff line number Diff line change
Expand Up @@ -751,24 +751,25 @@ Inserts an element constructed in place into a hash_multiset, with a placement h
```cpp
template <class ValTy>
iterator insert(
const_iterator _Where,
const_iterator where,
ValTy&& val);
```

### Parameters

|Parameter|Description|
|-|-|
|*val*|The value of an element to be inserted into the [hash_multiset](../standard-library/hash-multiset-class.md) unless the `hash_multiset` already contains that element or, more generally, an element whose key is equivalently ordered.|
|*_Where*|The place to start searching for the correct point of insertion. (Insertion can occur in amortized constant time, instead of logarithmic time, if the insertion point immediately follows *_Where*.)|
*val*\
The value of an element to be inserted into the [hash_multiset](../standard-library/hash-multiset-class.md) unless the `hash_multiset` already contains that element or, more generally, an element whose key is equivalently ordered.

*where*\
The place to start searching for the correct point of insertion. (Insertion can occur in amortized constant time, instead of logarithmic time, if the insertion point immediately follows *where*.)

### Return Value

The [hash_multiset::emplace](#emplace) member function returns an iterator that points to the position where the new element was inserted into the `hash_multiset`.

### Remarks

Insertion can occur in amortized constant time, instead of logarithmic time, if the insertion point immediately follows *_Where*.
Insertion can occur in amortized constant time, instead of logarithmic time, if the insertion point immediately follows *where*.

### Example

Expand Down Expand Up @@ -1003,7 +1004,7 @@ The hash_multiset hms1 doesn't have an element with a key less than 40.
Removes an element or a range of elements in a hash_multiset from specified positions or removes elements that match a specified key.

```cpp
iterator erase(iterator _Where);
iterator erase(iterator where);

iterator erase(iterator first, iterator last);

Expand All @@ -1012,7 +1013,7 @@ size_type erase(const key_type& key);

### Parameters

*_Where*\
*where*\
Position of the element to be removed from the hash_multiset.

*first*\
Expand Down Expand Up @@ -1304,33 +1305,42 @@ hash_multiset(

template <class InputIterator>
hash_multiset(
InputIterator First,
InputIterator Last);
InputIterator first,
InputIterator last);

template <class InputIterator>
hash_multiset(
InputIterator First,
InputIterator Last,
InputIterator first,
InputIterator last,
const Traits& Comp);

template <class InputIterator>
hash_multiset(
InputIterator First,
InputIterator Last,
InputIterator first,
InputIterator last,
const Traits& Comp,
const Allocator& Al);
```

### Parameters

|Parameter|Description|
|-|-|
|*Al*|The storage allocator class to be used for this `hash_multiset` object, which defaults to `Allocator`.|
|*Comp*|The comparison function of type `const Traits` used to order the elements in the `hash_multiset`, which defaults to `hash_compare`.|
|*Right*|The `hash_multiset` of which the constructed `hash_multiset` is to be a copy.|
|*First*|The position of the first element in the range of elements to be copied.|
|*Last*|The position of the first element beyond the range of elements to be copied.|
|*IList*|The initializer_list that contains the elements to be copied.|
*Al*\
The storage allocator class to be used for this `hash_multiset` object, which defaults to `Allocator`.

*Comp*\
The comparison function of type `const Traits` used to order the elements in the `hash_multiset`, which defaults to `hash_compare`.

*Right*\
The `hash_multiset` of which the constructed `hash_multiset` is to be a copy.

*first*\
The position of the first element in the range of elements to be copied.

*last*\
The position of the first element beyond the range of elements to be copied.

*IList*\
The initializer_list that contains the elements to be copied.

### Remarks

Expand All @@ -1346,7 +1356,7 @@ The fourth constructor moves the `hash_multiset` `Right`.

The fifth, sixth, and seventh constructors use an initializer_list.

The last three constructors copy the range [ `First`, `Last`) of a `hash_multiset` with increasing explicitness in specifying the type of comparison function of class Compare and allocator.
The last three constructors copy the range [ `first`, `last`) of a `hash_multiset` with increasing explicitness in specifying the type of comparison function of class Compare and allocator.

The actual order of elements in a hashed set container depends on the hash function, the ordering function and the current size of the hash table and cannot, in general, be predicted as it could with the set container, where it was determined by the ordering function alone.

Expand All @@ -1359,58 +1369,65 @@ Inserts an element or a range of elements into a hash_multiset.

```cpp
iterator insert(
const Type& Val);
const Type& value);

iterator insert(
iterator Where,
iterator where,
const Type& Al);

void insert(
initializer_list<Type> IList);

iterator insert(
const Type& Val);
const Type& value);

iterator insert(
Iterator Where,
const Type& Val);
Iterator where,
const Type& value);

template <class InputIterator>
void insert(
InputIterator First,
InputIterator Last);
InputIterator first,
InputIterator last);

template <class ValTy>
iterator insert(
ValTy&& Val);
ValTy&& value);

template <class ValTy>
iterator insert(
const_iterator Where,
ValTy&& Val);
const_iterator where,
ValTy&& value);
```

### Parameters

|Parameter|Description|
|-|-|
|*Val*|The value of an element to be inserted into the hash_multiset unless the hash_multiset already contains that element or, more generally, an element whose key is equivalently ordered.|
|*Where*|The place to start searching for the correct point of insertion. (Insertion can occur in amortized constant time, instead of logarithmic time, if the insertion point immediately follows `_Where`.)|
|*First*|The position of the first element to be copied from a hash_multiset.|
|*Last*|The position just beyond the last element to be copied from a hash_multiset.|
|*IList*|The initializer_list that contains the elements to copy.|
*value*\
The value of an element to be inserted into the hash_multiset unless the hash_multiset already contains that element or, more generally, an element whose key is equivalently ordered.

*where*\
The place to start searching for the correct point of insertion. (Insertion can occur in amortized constant time, instead of logarithmic time, if the insertion point immediately follows *where*.)

*first*\
The position of the first element to be copied from a hash_multiset.

*last*\
The position just beyond the last element to be copied from a hash_multiset.

*IList*\
The initializer_list that contains the elements to copy.

### Return Value

The first two insert member functions return an iterator that points to the position where the new element was inserted.

The next three member functions use an initializer_list.

The third member function inserts the sequence of element values into a hash_multiset corresponding to each element addressed by an iterator of in the range [ `First`, `Last`) of a specified hash_multiset.
The third member function inserts the sequence of element values into a hash_multiset corresponding to each element addressed by an iterator of in the range [ `first`, `last`) of a specified hash_multiset.

### Remarks

Insertion can occur in amortized constant time for the hint version of insert, instead of logarithmic time, if the insertion point immediately follows *Where*.
Insertion can occur in amortized constant time for the hint version of insert, instead of logarithmic time, if the insertion point immediately follows *where*.

## <a name="iterator"></a> hash_multiset::iterator

Expand Down Expand Up @@ -1452,7 +1469,7 @@ For more information on *Traits* see the [hash_multiset Class](../standard-libra

The stored object defines a member function:

**bool operator**( **const Key&** *_xVal,* **const Key&** _ `yVal`);
`bool operator<(const Key& _xVal, const Key& _yVal);`

which returns **true** if `_xVal` precedes and is not equal to `_yVal` in the sort order.

Expand Down
Loading