Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes:
deque::insert()
overloads that were missing a return.EASTL_SIZE_T_32BIT
is set to 1.eastl::bitvector
so we don't inhibit move constructor/assignment.eastl::bitvector
.vector_map<Key, T>::at_key()
overloads as the inheritedvector<pair<const Key, T>>::at()
function doesn't have the correct semantics and returns the incorrect type (pair<const Key, T>&
rather thanT
).hashtable::DoInsertKey
overload withkey_type&&
, which accessed keys after being move-d, which is in general unspecified behaviour.deque::insert(position, first, last)
compilable for input (single pass) iterators.is_partitioned
andpartition_point
toalgorithms.h
.n > 0
before callingmemcmp()
in char_trait'sCompare()
andlexicographical_compare()
to avoid undefined behaviour.n > 0
before callingmemmove()
incopy_backward()
ormove_backward()
to avoid undefined behaviour.first != last
before callingmemcpy()
inuninitialized_relocate_start()
(which is deprecated) to avoid undefined behaviour.tuple
default constructible when an element type has no member types (whichtuple
has an empty base optimization for).eastl::pair
so it can be trivially copied if the template parameters are trivially copyable.printf
format specifiers for use witheastl_size_t
that work with both 32- and 64-bit sizes.rb_tree
.nullptr
arithmetic, which is undefined behaviour.random_shuffle
so it doesn't overrun the iterator whenfirst == last
.tim_sort_buffer
so it doesn't invoke undefined behaviour when called on empty vectors.radix_sort_impl
so it doesn't over-right-shifts on it's last loop when trying to write to the histogram.shell_sort
so it doesn't overrun the iterator in the loop increment expression.operator new
.list_map_iterator::mpNode
private and change its type to avoid various insances of undefined behaviour when downcasting the anchor node, which is has typelist_map_data_base
but isn't alist_map_data<T>
. No replacement accessor has been provided asmpNode
is an internal impelmentation detail that isn't useful for users.rbtree_iterator::mpNode
private and change its type to avoid various insances of undefined behaviour when downcasting the anchor node, which is has typerbtree_node_base
but isn't arbtree_node<T>
. No replacement accessor has been provided asmpNode
is an internal impelmentation detail that isn't useful for users.atomic<T>
.intrusive_list_iterator::mpNode
private and change its type to avoid various insances of undefined behaviour when downcasting the anchor node, which is has typeintrusive_list_node
but isn't aT
. A helper functionnodePtr()
has been provided, which is equivalent to accessing the old member directly.__has_trivial_constructor
that is deprecated in latest version of clang.ListIterator<T>::mpNode
fromListNode<T>*
toListNodeBase*
to avoid various instances of undefined behaviour when downcasting the anchor node which is a ListNodeBase but not aListNode<T>
.SListIterator<T>::mpNode
fromSListNode<T>*
toSListNodeBase*
to avoid various instances of undefined behaviour when downcasting the anchor node which is anSListNodeBase
but not aSListNode<T>
.EASTL_LIST_PROXY_ENABLED
, there's no configuration in which it is enabled and enabling it explicitly causes compile errors that we're not interested in fixing.extract_signature_from_callable
compiler fix for C++14.invoke
inapply
to prevent any ambiguity with other invoke functions.function
.atomic_push_compiler_optins.h
header.tuple_cat
for calls with l-values and for calls with less than two arguments.array<T, N>
behaviour:array<T, 0>
no longer hassize() == 1
. Deprecate count enumerator.is_trivially_copyable<T>
.array<T, N>
.EXPECT_ASSERT
for windows-clang when exceptions are disabled to fix compile break.Deprecations:
Note: compile warnings / errors generated will be on the usage of the type declared to have the trait.
The correct fix is to remove the EASTL_DECLARE usage, not the usage of the type itself.