![]() |
Arene Base
Fundamental Utilities For Safety Critical C++
|
|
constexpr |
Check if all element of range are equal to value.
| Range | The type of the range to check |
| T | The type of the value to compare against |
| range | The range to check |
| value | The value to compare against |
This helper is an alternative to GTest matchers Each(Eq(value)), which require the value to be copy constructible.
| arene::base::testing::ARENE_IGNORE_ALL | ( | "-Wfloat-equal" | , |
| "These tests don't perform | arithmetic, | ||
| so equality is OK even for floating point" | ) |
| arene::base::testing::ARENE_IGNORE_END | ( | ) |
| arene::base::testing::ARENE_IGNORE_START | ( | ) |
|
constexpr |
Assert default constructible types have the expected properties.
| T | The type to check |
For types that are default constructible, two default constructed instances must compare equal. For types that are also copy constructible, a copy of a default constructed instance must compare equal to the original.
|
constexprnoexcept |
Inefficiently bubble sorts the argument because std::sort is not constexpr in C++14.
| Container | The type of a container |
| container | A container to be sorted |
Container with copies of the elements of container , but sorted | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | ExternalVectorDeathTest | , |
| ConstructingWithOutOfRangeSizeIsPreconditionViolation | , | ||
| std::is_default_constructible< TypeParam >{} | ) |
external_vector constructor with a count larger than the capacity terminates the program with a precondition violation | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | ExternalVectorDeathTest | , |
| ConstructWithExcessiveSizeViaNormalConstructIsAlwaysPreconditionViolation | , | ||
| std::is_default_constructible< TypeParam >{} | ) |
external_vector when invoking the constructor terminates the program with a precondition violation | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanCompareForOrdering | , | ||
| is_fully_comparable_v< TypeParam > | ) |
external_vector can be compared for ordering using operator< and operator>. One vector compares less than another if the first has a smaller size than the second, and all elements are equal to the corresponding element in the second vector with the same index or they have the same size, and there is an element such that all elements with a lower index compare equal to the corresponding element in the second vector, and that element compares less than the corresponding element of the second vector. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanConstructWithSize | , | ||
| std::is_default_constructible< TypeParam >{} | ) |
| arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanConstructWithSizeViaTryConstruct | , | ||
| std::is_default_constructible< TypeParam >{} | ) |
try_construct can be used to construct an external_vector with a specified number of elements | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | ExternalVectorTest | , |
| ConstructWithExcessiveSizeViaTryConstructFails | , | ||
| std::is_default_constructible< TypeParam >{} | ) |
try_construct can be used to attempt to construct an external_vector with a specified number of elements that exceeds the capacity of the vector, in which case the result is an empty optional. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | ExternalVectorTest | , |
| ConstructWithSizeViaNormalConstructWithDefaultConstructorNotNoexceptIsNotNoexcept | , | ||
| std::is_default_constructible< TypeParam >{} | ) |
external_vector that takes a number of elements is not noexcept if the default constructor of the stored element type is not noexcept | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | ExternalVectorTest | , |
| ConstructWithSizeViaTryConstructNotNoexceptIfDefaultConstructorNotNoexcept | , | ||
| std::is_default_constructible< TypeParam >{} | ) |
try_construct function of external_vector that takes a number of elements is not noexcept if the default constructor of the stored element type is not noexcept | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | ExternalVectorTest | , |
| DefaultEmplaceIsConditionallyNoexcept | , | ||
| std::is_default_constructible< TypeParam >{} | ) |
emplace_back and emplace functions before checking their exception specifications, which fails for types that are not default-constructible. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | ExternalVectorTest | , |
| ResizeIsConditionallyNoexcept | , | ||
| std::is_default_constructible< TypeParam >{} | ) |
resize is noexcept if and only if the default constructor of the element type is noexcept | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorDeathTest | , |
| AssignIsPreconditionViolationIfSizeOverCapacity | , | ||
| is_copyable_v< typename TypeParam::value_type > | ) |
assign member function with a count and a value where the count is larger than the capacity of the vector terminates the program with a precondition violation | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorDeathTest | , |
| ConstructingWithOutOfRangeSizeAndSourceIsPreconditionViolation | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
inline_vector constructor with a count and value where the count is larger than the capacity terminates the program with a precondition violation | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorDeathTest | , |
| ConstructingWithOutOfRangeSizeIsPreconditionViolation | , | ||
| std::is_default_constructible< typename TypeParam::value_type >{} | ) |
inline_vector constructor with a count larger than the capacity terminates the program with a precondition violation | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorDeathTest | , |
| ConstructingWithTooManyInitializersIsPreconditionViolation | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
inline_vector constructor with an initializer list with more elements than the capacity terminates the program with a precondition violation | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorDeathTest | , |
| ConstructWithExcessiveSizeViaNormalConstructIsAlwaysPreconditionViolation | , | ||
| std::is_default_constructible< typename TypeParam::value_type >{} | ) |
inline_vector when invoking the constructor terminates the program with a precondition violation | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorDeathTest | , |
| InsertNIsPreconditionViolationIfTooManyItems | , | ||
| is_copyable_v< typename TypeParam::value_type > | ) |
insert with a count and a value to insert more elements than there are remaining spaces in the vector before it exceeds capacity terminates the program with a precondition violation. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorDeathTest | , |
| InsertWhenAtCapacityIsPreconditionViolation | , | ||
| std::is_default_constructible< typename TypeParam::value_type >::value | ) |
insert on an inline_vector with size equal to the capacity terminates the program with a precondition violation | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| AssignFromSizeAndValueIsConditionallyNoexcept | , | ||
| is_copyable_v< typename TypeParam::value_type > | ) |
assign member function taking a size and a value is not noexcept if the value type is not nothrow-copy-constructible | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanAccessMultipleValuesWithAt | , | ||
| TypeParam::capacity >= | 2 ) |
at member function returns the corresponding value stored when invoked with an index of 0 or 1 on an inline_vector into which two elements have been stored via push_back | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanAccessMultipleValuesWithAtWithConstVec | , | ||
| TypeParam::capacity >= | 2 ) |
at member function returns the corresponding value stored when invoked via a const reference to a vector with an index of 0 or 1 on an inline_vector into which two elements have been stored via push_back. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanAccessMultipleValuesWithIndexOperator | , | ||
| TypeParam::capacity >= | 2 ) |
inline_vector with multiple elements, the index operator can be used with appropriate index values to access each element, returning a reference to the element at that index | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanAssignFromBiggerCapacityVector | , | ||
| is_copyable_v< typename TypeParam::value_type > | ) |
inline_vector can be assigned from an inline_vector with a larger capacity, provided the number of elements in the source vector is less than the capacity of the target vector | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanAssignFromInitListUsingAssignFunction | , | ||
| is_copyable_v< typename TypeParam::value_type > | ) |
assign member function with an initializer list sets the vector to have a size equal to the number of elements in the initializer list, and each element to be a copy of the corresponding element in the initializer list | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanAssignFromSizeAndValue | , | ||
| is_copyable_v< typename TypeParam::value_type > | ) |
assign member function with a count and a value sets the size of the vector to the specified count, where each element is a copy of the supplied value | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanCompareForEquality | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible &&TypeParam::capacity >= | 4 ) |
inline_vector can be compared for equality using operator== and operator!=. Two vectors are the same if and only if they have the same size, and each element from one vector compares equal to the element with the same index in the other vector. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanCompareForOrdering | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible &&is_fully_comparable_v< typename TypeParam::value_type > &&TypeParam::capacity >= | 4 ) |
inline_vector can be compared for ordering using operator< and operator>. One vector compares less than another if the first has a smaller size than the second, and all elements are equal to the corresponding element in the second vector with the same index or they have the same size, and there is an element such that all elements with a lower index compare equal to the corresponding element in the second vector, and that element compares less than the corresponding element of the second vector. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanConstructFromBiggerCapacityVector | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible &&std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
inline_vector can be constructed from an inline_vector with a larger capacity, provided the number of elements in the source vector is less than the capacity of the target vector | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanConstructFromInitializerList | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
inline_vector can be constructed from a std::initializer_list without throwing exceptions, and the size and values stored in the vector are the same as the size and values of the initializer list. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanConstructFromInitializerListConstexpr | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible &&std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
inline_vector can be constructed from a std::initializer_list in a constexpr context, and the elements are those from the initializer list | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanConstructFromIteratorRangeConstexpr | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible &&std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
constexpr context, an inline_vector can be constructed from an iterator range, creating a vector holding copies of the elements from the source range, with a size equal to the number of elements in the source range | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanConstructWithSize | , | ||
| std::is_default_constructible< typename TypeParam::value_type >{} | ) |
| arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanConstructWithSizeAndValue | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
inline_vector with a count and a value creates the specified number of elements copy-constructed from the supplied value, and sets the size of the vector to that count. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanConstructWithSizeViaTryConstruct | , | ||
| std::is_default_constructible< typename TypeParam::value_type >{} | ) |
try_construct can be used to construct an inline_vector with a specified number of elements | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanCopyViaConstruct | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
inline_vector with an existing inline_vector copies the elements from the source vector | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanCopyViaConstructFromLargerWithFewerElements | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
inline_vector from an existing inline_vector with a larger capacity but a size that is less than or equal to the capacity of the destination type copies elements from the source vector | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanCopyViaConstructFromSmaller | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
inline_vector from an existing inline_vector with a smaller capacity returns an inline_vector with the same elements as the source vector | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanCopyViaTryConstruct | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
try_construct with an existing inline_vector returns a copy of that source vector | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanCopyViaTryConstructFromLargerWithFewerElements | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
try_construct with an existing inline_vector with a larger capacity but a size that is less than or equal to the capacity of the destination type returns an inline_vector with the same elements as the source vector | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanCopyViaTryConstructFromSmaller | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
try_construct with an existing inline_vector with a smaller capacity returns an inline_vector with the same elements as the source vector | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanEmplace | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible &&TypeParam::capacity >= | 3 ) |
emplace can be invoked in a constexpr context to construct an element at a specified index. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanEmplaceBackConstexpr | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible | ) |
constexpr context, the emplace_back member function can be used to add an element to an inline_vector. The new element is constructed with the arguments supplied to emplace_back | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanErase | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible &&TypeParam::capacity >= | 4 ) |
constexpr context, given a non-empty inline_vector, invoking erase with an iterator referring to an element that is neither the first or last element removes that element, moves the following elements to one lower index, reduces the size by one. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanEraseInMiddle | , | ||
| TypeParam::capacity >= | 2 ) |
inline_vector, invoking erase with an iterator referring to an element that is neither the first or last element removes that element, moves the following elements to one lower index, reduces the size by one, and returns an iterator to the element that replaced the erased element. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanEraseRange | , | ||
| TypeParam::capacity >= | 5 ) |
erase with an iterator range referring to elements in the same inline_vector, removes those elements, moves the following elements to take their place, and returns an iterator with the same offset from the beginning of the vector as the first erased element | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanInitializeWithSizeAndValue | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible &&std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
constexpr context, invoking the inline_vector constructor with a count and a value constructs a vector holding the specified number of elements copied from the source value | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanInsert | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible &&TypeParam::capacity >= | 3 ) |
constexpr context, invoking insert with an iterator referring to an existing element, moves the referred to element and subsequent elements to make room for the new element, inserts the new element, and increases the size by one. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanInsertAtEndOfExistingVector | , | ||
| TypeParam::capacity >= | 2 ) |
inline_vector with existing elements, and the iterator returned from end, insert can add an element to the end of the vector, increasing the size by one | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanInsertInMiddleOfExistingVector | , | ||
| TypeParam::capacity >= | 3 ) |
inline_vector with existing elements, and an iterator to an existing element in the vector, insert can add an element at the iterator position, increasing the vector size by one. The existing element at the location referenced by the iterator, and the subsequent elements, are moved to make room for the new element. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanPushBack | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible | ) |
constexpr context, an inline_vector can be default-constructed, and a new value inserted via push_back, such that the size of the container is now 1, and the value can be retrieved via at(0) | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanSwap | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible | ) |
constexpr context, two inline_vector instances can be swapped with an unqualified call to swap. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanTryConstructFromInitializerList | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
try_construct with an initializer list constructs an inline_vector holding copies of the elements from the initializer list | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CanUseBack | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible | ) |
constexpr inline_vector constructed by pushing back values, back can be used in a constexpr context to retrieve the last value in the vector, which must therefore equal the last value pushed back | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| ClearWorks | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible | ) |
constexpr context, given an inline_vector which is not empty, invoking the clear method makes the vector empty | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| ConstIteration | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible | ) |
inline_vector using a ranged-for loop in a constexpr context. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| ConstructWithExcessiveSizeViaTryConstructFails | , | ||
| std::is_default_constructible< typename TypeParam::value_type >{} | ) |
try_construct can be used to attempt to construct an inline_vector with a specified number of elements that exceeds the capacity of the vector, in which case the result is an empty optional. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| ConstructWithSizeViaNormalConstructWithDefaultConstructorNotNoexceptIsNotNoexcept | , | ||
| std::is_default_constructible< typename TypeParam::value_type >{} | ) |
inline_vector that takes a number of elements is not noexcept if the default constructor of the stored element type is not noexcept | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| ConstructWithSizeViaTryConstructNotNoexceptIfDefaultConstructorNotNoexcept | , | ||
| std::is_default_constructible< typename TypeParam::value_type >{} | ) |
try_construct function of inline_vector that takes a number of elements is not noexcept if the default constructor of the stored element type is not noexcept | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CopyAssignOverLargerVectorDestroysExcess | , | ||
| is_copyable_v< typename TypeParam::value_type > | ) |
inline_vector copy-assignment operator destroys the excess elements in the destination when the source vector has fewer elements than the destination vector | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CopyAssignOverLargerVectorFromInitListDestroysExcess | , | ||
| is_copyable_v< typename TypeParam::value_type > | ) |
inline_vector holding existing elements, assigning to that vector with an initializer list holding fewer elements copy assigns over the existing elements up to the size of the initializer list, and then destroys a number of elements equal to the difference between the old size of the vector and the size of the initializer list | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CopyAssignOverSmallerVectorCopiesElements | , | ||
| is_copyable_v< typename TypeParam::value_type > | ) |
inline_vector copy-assignment operator uses copy assignment for elements from the source where there is already a corresponding element in the destination, and copy construction for elements that do not have a corresponding element in the destination | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CopyAssignOverSmallerVectorFromInitListCopiesElements | , | ||
| is_copyable_v< typename TypeParam::value_type > | ) |
inline_vector holding existing elements, assigning to that vector with an initializer list holding more elements copy assigns over the existing elements, and then copy-constructs new elements to increase the size of the vector to that of the initializer list | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| CopyingVectorCopiesElements | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
inline_vector copy constructor copies the stored elements and size from the original vector. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| DefaultEmplaceIsConditionallyNoexcept | , | ||
| std::is_default_constructible< typename TypeParam::value_type >{} | ) |
emplace_back and emplace functions before checking their exception specifications, which fails for types that are not default-constructible. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| EmplaceAtPositionIsConditionallyNoexceptLvalue | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
emplace with a position is noexcept if and only if the element type of the vector is nothrow-move-constructible, nothrow-move-assignable, and nothrow-constructible from an lvalue argument | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| EmplaceBackIsConditionallyNoexceptLvalue | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
emplace_back is noexcept if and only if the element type of the vector is nothrow-constructible from the supplied arguments | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| FailToCopyViaTryConstructFromLargerWithMoreElements | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
try_construct with an existing inline_vector with a larger capacity and a size that is larger than the capacity of the destination type returns an empty optional | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| Front | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible | ) |
inline_vector by pushing back values in a constexpr context, the front member function can be used in a constexpr context to retrieve the first value, which must be equal to the first value of the pushed back | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| IndexOperator | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible &&TypeParam::capacity >= | 2 ) |
inline_vector in a constexpr context. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| InputIteratorRangeAssignmentIsConditionallyNoexcept | , | ||
| is_copyable_v< typename TypeParam::value_type > | ) |
inline_vector from an input iterator range is noexcept if operations on the iterator are noexcept and the element type of the vector is nothrow-constructible from the value type of the iterator | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| InputIteratorRangeTryConstructionIsConditionallyNoexcept | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
try_construct from an input iterator range is noexcept if the element type of the vector is nothrow-constructible from the iterator's reference type | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| InsertFromIteratorRangeInMiddle | , | ||
| TypeParam::capacity >= | 11 ) |
insert with an iterator referring to an existing element of an inline_vector and a source iterator range denoted by a pair of iterators moves the referred to element and subsequent elements to make room, and inserts the elements from the source iterator range prior to the existing element. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| InsertFromIteratorRangeIsConditionallyNoexcept | , | ||
| is_copyable_v< typename TypeParam::value_type > | ) |
insert is noexcept if the element type of the vector is nothrow-constructible from the supplied iterator's reference type, and is nothrow-move-constructible and nothrow-move-assignable | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| InsertLvalueIsConditionallyNoexcept | , | ||
| is_copyable_v< typename TypeParam::value_type > | ) |
insert of an lvalue is noexcept if the element type of the vector is nothrow-constructible from the supplied value, and is nothrow-move-constructible and nothrow-move-assignable | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| InsertNAtEndInsertsElements | , | ||
| is_copyable_v< typename TypeParam::value_type > &&TypeParam::capacity >= | 7 ) |
insert with the end iterator of the inline_vector and a count and value appends the specified number of copies of the supplied value to the end of the vector. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| InsertNInMiddleInsertsElements | , | ||
| is_copyable_v< typename TypeParam::value_type > &&TypeParam::capacity >= | 7 ) |
insert with an iterator referring to an existing element of an inline_vector and a count and value moves the referred to element and subsequent elements to make room, and inserts the specified number of copies of the supplied value prior to the existing element. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| InsertWithCountIsConditionallyNoexcept | , | ||
| is_copyable_v< typename TypeParam::value_type > | ) |
insert is noexcept if the element type of the vector is nothrow-copy-constructible, and is nothrow-move-constructible and nothrow-move-assignable | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| Iteration | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible | ) |
inline_vector using a ranged-for loop in a constexpr context. | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| IteratorRangeTryConstructionIsConditionallyNoexcept | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
try_construct from an iterator range is noexcept if the element type of the vector is nothrow-constructible from the iterator's reference type | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| PopBackIsUsable | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible | ) |
constexpr context, pop_back removes the last element of a non-empty vector | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| PushBackIsConditionallyNoexceptLvalue | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
push_back of an lvalue is noexcept if and only if the value type can be constructed without throwing from an lvalue | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| ResizeIsConditionallyNoexcept | , | ||
| std::is_default_constructible< typename TypeParam::value_type >{} | ) |
resize is noexcept if and only if the default constructor of the element type is noexcept | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| ResizeNonZeroCapacityVecToOtherIsOk | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible &&std::is_default_constructible< typename TypeParam::value_type >{} | ) |
constexpr context, invoking resize with a non-zero count on an inline_vector with a non-zero capacity and different size sets the size to the specified size | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| ResizeNonZeroCapacityVecToZeroIsOk | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible &&std::is_default_constructible< typename TypeParam::value_type >{} | ) |
constexpr context, invoking resize with a count of zero on an inline_vector with a non-zero capacity and size sets the size to zero | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| ResizeWithValueIsConditionallyNoexcept | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
resize with a value to copy is noexcept if and only if the copy constructor of the element type is noexcept | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| ResizeZeroCapacityVecToZeroIsOk | , | ||
| InlineVectorTest< TypeParam >::constexpr_compatible | ) |
resize with a count of zero on an inline_vector with a capacity of zero does nothing | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| ResizingFromLargeToSmallLeavesElements | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
resize member function with a size and a value on a vector with more elements than the specified size sets the size of the vector to the specified count and does not construct new elements | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| ResizingFromSmallToLargeConstructsElementsAsCopiesOfSpecified | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
resize member function with a size and a value on a vector with fewer elements than the specified size sets the size of the vector to the specified count, and constructs a number of new elements equal to the difference between the specified size and the previous size by copy-construction from the specified value | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| SecondPushBackChangesLastValue | , | ||
| TypeParam::capacity >= | 2 ) |
push_back twice to add two items to a default-constructed inline_vector, the size is incremented to 2, and the second item can be retrieved via the back member function | arene::base::testing::CONDITIONAL_TYPED_TEST_P | ( | InlineVectorTest | , |
| TryConstructFromTooLargeInitializerListReturnsEmpty | , | ||
| std::is_copy_constructible< typename TypeParam::value_type >::value | ) |
try_construct with an initializer list holding more elements than the capacity of the inline_vector returns an empty optional
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
Check that iteration works when taking a vector with the given type.
| Vec | The type to take the vector as; intended to be a value type either with const or without |
| values | The values expected to be included in the vector |
| vec | The vector to check |
true if values and vec have the same contents, false if not
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexprnoexcept |
Checks whether or not the given container has any duplicates, which we need to assert for test logic.
| Container | The type of the container to check |
| container | The container to check |
true if container has any duplicate entries, false if every entry is unique
|
constexpr |
Check if all element of range are equal to the elements in values.
| Range1 | The type of the range to check |
| Range2 | The type of the value to compare against |
| range | The range to check |
| values | The values to compare against |
This helper is an alternative to GTest matcher ElementsAreArray, which require the values to be copy constructible.
|
constexpr |
| arene::base::testing::MATCHER_P | ( | elements_match_function | , |
| function | , | ||
| "" | ) |
| arene::base::testing::REGISTER_TYPED_TEST_SUITE_P | ( | ExternalVectorDeathTest | , |
| AddingToInvalidIteratorIsPreconditionViolation | , | ||
| AssignIsPreconditionViolationIfSizeOverCapacity | , | ||
| ConstructWithExcessiveSizeViaNormalConstructIsAlwaysPreconditionViolation | , | ||
| ConstructingWithOutOfRangeSizeAndSourceIsPreconditionViolation | , | ||
| ConstructingWithOutOfRangeSizeIsPreconditionViolation | , | ||
| ConstructingWithTooManyInitializersIsPreconditionViolation | , | ||
| DereferencingInvalidIteratorIsPreconditionViolation | , | ||
| EmplaceBackIsPreconditionViolationIfFull | , | ||
| IndexOperatorOutOfRange | , | ||
| InsertNIsPreconditionViolationIfTooManyItems | , | ||
| InsertWhenAtCapacityIsPreconditionViolation | , | ||
| PushBackBeyondMaxSizeIsPreconditionViolation | , | ||
| PushBackOnZeroSizeVectorIsPreconditionViolation | ) |
| arene::base::testing::REGISTER_TYPED_TEST_SUITE_P | ( | ExternalVectorTest | , |
| ADLSwapSwapsContentsForBasicTypes | , | ||
| AfterClearVectorIsEmpty | , | ||
| AfterPushBackCanGetLastElement | , | ||
| AfterPushBackVectorIsNotEmpty | , | ||
| AssignFromInitListUsingAssignFunctionIsConditionallyNoexcept | , | ||
| AssignFromSizeAndValueIsConditionallyNoexcept | , | ||
| AtIndexSizeOrLargerThrows | , | ||
| AtIndexSizeOrLargerThrowsWithConstVec | , | ||
| AtOnConstVectorReturnsConstReference | , | ||
| AtReturnsReference | , | ||
| BackIsNoexcept | , | ||
| BackReturnsReference | , | ||
| CanAccessMultipleValuesWithAt | , | ||
| CanAccessMultipleValuesWithAtWithConstVec | , | ||
| CanAccessMultipleValuesWithIndexOperator | , | ||
| CanAssignFromBiggerCapacityVector | , | ||
| CanAssignFromInitListUsingAssignFunction | , | ||
| CanAssignFromInputIteratorRange | , | ||
| CanAssignFromIteratorRange | , | ||
| CanAssignFromSizeAndValue | , | ||
| CanCompareForOrdering | , | ||
| CanConstructAnEmptyVector | , | ||
| CanConstructFromInitializerList | , | ||
| CanConstructFromIteratorRange | , | ||
| CanConstructWithSize | , | ||
| CanConstructWithSizeAndValue | , | ||
| CanConstructWithSizeViaTryConstruct | , | ||
| CanCopyViaConstruct | , | ||
| CanCopyViaConstructFromLargerWithFewerElements | , | ||
| CanCopyViaConstructFromSmaller | , | ||
| CanCopyViaTryConstruct | , | ||
| CanCopyViaTryConstructFromLargerWithFewerElements | , | ||
| CanCopyViaTryConstructFromSmaller | , | ||
| CanDefaultConstructViaTryConstruct | , | ||
| CanEmplaceBack | , | ||
| CanEraseAtBeginning | , | ||
| CanEraseInMiddle | , | ||
| CanEraseRange | , | ||
| CanGetCBeginAndEnd | , | ||
| CanGetFront | , | ||
| CanGetIterator | , | ||
| CanInsertAtEndOfExistingVector | , | ||
| CanInsertInEmptyVector | , | ||
| CanInsertInMiddleOfExistingVector | , | ||
| CanIterateOverConstValues | , | ||
| CanIterateOverValues | , | ||
| CanMoveViaConstruct | , | ||
| CanMoveViaTryConstruct | , | ||
| CanPopBack | , | ||
| CanPushBackAValue | , | ||
| CanTryConstructFromInitializerList | , | ||
| CanTryConstructFromIteratorRange | , | ||
| CannotConstructWithSizeForANonDefaultConstructibleType | , | ||
| CannotTryConstructWithSizeForANonDefaultConstructibleType | , | ||
| CapacityIsAsSpecified | , | ||
| CapacityIsNoexcept | , | ||
| ConstBackReturnsConstReference | , | ||
| ConstructWithExcessiveSizeViaTryConstructFails | , | ||
| ConstructWithSizeViaNormalConstructWithDefaultConstructorNotNoexceptIsNotNoexcept | , | ||
| ConstructWithSizeViaTryConstructNotNoexceptIfDefaultConstructorNotNoexcept | , | ||
| CopyAssignOverLargerVectorDestroysExcess | , | ||
| CopyAssignOverLargerVectorFromInitListDestroysExcess | , | ||
| CopyAssignOverSmallerVectorCopiesElements | , | ||
| CopyAssignOverSmallerVectorFromInitListCopiesElements | , | ||
| CopyAssignmentIsConditionallyNoexcept | , | ||
| CopyingVectorCopiesElements | , | ||
| Data | , | ||
| DefaultEmplaceIsConditionallyNoexcept | , | ||
| DefaultTryConstructNoexceptEvenIfDefaultConstructorNotNoexcept | , | ||
| EmplaceAtPositionIsConditionallyNoexcept | , | ||
| EmplaceBackIsConditionallyNoexcept | , | ||
| EmplaceInsert | , | ||
| EmptyIfJustStorage | , | ||
| EmptyIsNoexcept | , | ||
| EmptybyDefault | , | ||
| EraseIsNoexceptIfTypeHasNoexceptMove | , | ||
| FailToCopyViaTryConstructFromLargerWithMoreElements | , | ||
| FailToMoveViaTryConstructFromLargerWithMoreElements | , | ||
| IndexOperatorIsNoexcept | , | ||
| IndexOperatorOnConstVectorIsNoexcept | , | ||
| IndexOperatorOnConstVectorReturnsConstReference | , | ||
| IndexOperatorReturnsReference | , | ||
| InitialSizeIsZero | , | ||
| InputIteratorRangeAssignmentIsConditionallyNoexcept | , | ||
| InputIteratorRangeConstructionIsConditionallyNoexcept | , | ||
| InputIteratorRangeTryConstructionIsConditionallyNoexcept | , | ||
| InsertFromIteratorRangeInMiddle | , | ||
| InsertFromIteratorRangeIsConditionallyNoexcept | , | ||
| InsertIsConditionallyNoexcept | , | ||
| InsertNAtEndInsertsElements | , | ||
| InsertNInMiddleInsertsElements | , | ||
| InsertWithCountIsConditionallyNoexcept | , | ||
| IteratorRangeAssignmentIsConditionallyNoexcept | , | ||
| IteratorRangeConstructionIsConditionallyNoexcept | , | ||
| IteratorRangeTryConstructionIsConditionallyNoexcept | , | ||
| IteratorTypedefs | , | ||
| MaxSizeEqualsCapacity | , | ||
| MoveAssignOverLargerVectorDestroysExcess | , | ||
| MoveAssignOverSmallerVectorMovesElements | , | ||
| MoveAssignmentIsConditionallyNoexcept | , | ||
| MovingVectorMovesElements | , | ||
| MovingVectorWithNewStorageMovesElements | , | ||
| NoStorageDataIsNull | , | ||
| NotConstructibleWithSizeAndSourceIfDataNotCopyable | , | ||
| NotCopyConstructible | , | ||
| NotCopyConstructibleIfDataTypeNotCopyConstructible | , | ||
| NotMoveConstructibleIfDataTypeNotMoveConstructible | , | ||
| PopBackIsNoexcept | , | ||
| PushBackIsConditionallyNoexcept | , | ||
| ResizeIsConditionallyNoexcept | , | ||
| ResizeWithValueIsConditionallyNoexcept | , | ||
| ResizingFromLargeToSmallLeavesElements | , | ||
| ResizingFromSmallToLargeConstructsElementsAsCopiesOfSpecified | , | ||
| RetrievingAValueWithAtReturnsValueAfterPushBack | , | ||
| RetrievingAValueWithAtThrowsOnEmpty | , | ||
| ReverseIteration | , | ||
| SecondPushBackChangesLastValue | , | ||
| SizeIsCorrect | , | ||
| SizeIsNoexcept | , | ||
| StorageOnlyTryConstructNoexceptEvenIfDefaultConstructorNotNoexcept | , | ||
| SwapNoexceptMatchesElementType | , | ||
| TryConstructFromTooLargeInitializerListReturnsEmpty | , | ||
| Typedefs | , | ||
| ZeroSizeVectorIsEmpty | ) |
| arene::base::testing::REGISTER_TYPED_TEST_SUITE_P | ( | InlineVectorDeathTest | , |
| PushBackBeyondMaxSizeIsPreconditionViolation | , | ||
| PushBackOnZeroSizeVectorIsPreconditionViolation | , | ||
| InsertWhenAtCapacityIsPreconditionViolation | , | ||
| ConstructingWithOutOfRangeSizeIsPreconditionViolation | , | ||
| ConstructingWithOutOfRangeSizeAndSourceIsPreconditionViolation | , | ||
| ConstructingWithTooManyInitializersIsPreconditionViolation | , | ||
| AssignIsPreconditionViolationIfSizeOverCapacity | , | ||
| IndexOperatorOutOfRange | , | ||
| EmplaceBackIsPreconditionViolationIfFull | , | ||
| InsertNIsPreconditionViolationIfTooManyItems | , | ||
| ConstructWithExcessiveSizeViaNormalConstructIsAlwaysPreconditionViolation | , | ||
| DereferencingInvalidIteratorIsPreconditionViolation | , | ||
| AddingToInvalidIteratorIsPreconditionViolation | ) |
| arene::base::testing::REGISTER_TYPED_TEST_SUITE_P | ( | InlineVectorTest | , |
| CanConstructAnEmptyVector | , | ||
| CapacityIsAsSpecified | , | ||
| CapacityIsNoexcept | , | ||
| InitialSizeIsZero | , | ||
| SizeIsConstexpr | , | ||
| SizeIsNoexcept | , | ||
| CanPushBackAValue | , | ||
| AfterPushBackCanGetLastElement | , | ||
| AfterPushBackVectorIsNotEmpty | , | ||
| SecondPushBackChangesLastValue | , | ||
| PushBackIsConditionallyNoexceptRvalue | , | ||
| PushBackIsConditionallyNoexceptLvalue | , | ||
| EmptyIsConstexpr | , | ||
| EmptyIsNoexcept | , | ||
| RetrievingAValueWithAtThrowsOnEmpty | , | ||
| RetrievingAValueWithAtReturnsValueAfterPushBack | , | ||
| AtReturnsReference | , | ||
| AtOnConstVectorReturnsConstReference | , | ||
| CanAccessMultipleValuesWithAt | , | ||
| AtIndexSizeOrLargerThrows | , | ||
| CanAccessMultipleValuesWithAtWithConstVec | , | ||
| AtIndexSizeOrLargerThrowsWithConstVec | , | ||
| MaxSizeEqualsCapacity | , | ||
| ZeroSizeVectorIsEmpty | , | ||
| BackReturnsReference | , | ||
| ConstBackReturnsConstReference | , | ||
| BackIsNoexcept | , | ||
| CanPushBack | , | ||
| CanConstructFromInitializerList | , | ||
| CanConstructFromInitializerListConstexpr | , | ||
| CanUseBack | , | ||
| CanGetFront | , | ||
| Front | , | ||
| CanGetIterator | , | ||
| CanIterateOverValues | , | ||
| CanIterateOverConstValues | , | ||
| IteratorTypedefs | , | ||
| Typedefs | , | ||
| Iteration | , | ||
| ConstIteration | , | ||
| CanEraseAtBeginning | , | ||
| CanEraseInMiddle | , | ||
| CanErase | , | ||
| CanEraseRange | , | ||
| CanConstructWithSize | , | ||
| CanConstructWithSizeAndValue | , | ||
| CopyingVectorCopiesElements | , | ||
| MovingVectorMovesElements | , | ||
| CopyAssignOverSmallerVectorCopiesElements | , | ||
| CopyAssignOverLargerVectorDestroysExcess | , | ||
| CopyingIsConditionallyDefined | , | ||
| MoveAssignOverSmallerVectorMovesElements | , | ||
| MoveAssignOverLargerVectorDestroysExcess | , | ||
| MovingIsConditionallyDefined | , | ||
| CanPopBack | , | ||
| PopBackIsNoexcept | , | ||
| PopBackIsUsable | , | ||
| EraseIsNoexceptIfTypeHasNoexceptMove | , | ||
| CanInsertInEmptyVector | , | ||
| CanInsertAtEndOfExistingVector | , | ||
| CanInsertInMiddleOfExistingVector | , | ||
| ResizeZeroCapacityVecToZeroIsOk | , | ||
| ResizeNonZeroCapacityVecToZeroIsOk | , | ||
| ResizeNonZeroCapacityVecToOtherIsOk | , | ||
| ResizeIsConditionallyNoexcept | , | ||
| ResizeWithValueIsConditionallyNoexcept | , | ||
| ResizingFromLargeToSmallLeavesElements | , | ||
| ResizingFromSmallToLargeConstructsElementsAsCopiesOfSpecified | , | ||
| CanInitializeWithSizeAndValue | , | ||
| CanInsert | , | ||
| CanConstructFromIteratorRange | , | ||
| IteratorRangeConstructionIsConditionallyNoexcept | , | ||
| InputIteratorRangeConstructionIsConditionallyNoexcept | , | ||
| CanConstructFromIteratorRangeConstexpr | , | ||
| CopyAssignOverSmallerVectorFromInitListCopiesElements | , | ||
| CopyAssignOverLargerVectorFromInitListDestroysExcess | , | ||
| CanAssignFromIteratorRange | , | ||
| IteratorRangeAssignmentIsConditionallyNoexcept | , | ||
| CanAssignFromInputIteratorRange | , | ||
| InputIteratorRangeAssignmentIsConditionallyNoexcept | , | ||
| CanAssignFromInitListUsingAssignFunction | , | ||
| AssignFromInitListUsingAssignFunctionIsConditionallyNoexcept | , | ||
| CanAssignFromSizeAndValue | , | ||
| AssignFromSizeAndValueIsConditionallyNoexcept | , | ||
| IndexOperatorReturnsReference | , | ||
| IndexOperatorOnConstVectorReturnsConstReference | , | ||
| CanAccessMultipleValuesWithIndexOperator | , | ||
| IndexOperatorIsNoexcept | , | ||
| IndexOperatorOnConstVectorIsNoexcept | , | ||
| IndexOperator | , | ||
| Data | , | ||
| AfterClearVectorIsEmpty | , | ||
| ClearWorks | , | ||
| CanCompareForEquality | , | ||
| CanCompareForOrdering | , | ||
| CanEmplaceBack | , | ||
| CanEmplaceBackConstexpr | , | ||
| EmplaceBackIsConditionallyNoexceptRvalue | , | ||
| EmplaceBackIsConditionallyNoexceptLvalue | , | ||
| EmplaceInsert | , | ||
| CanEmplace | , | ||
| EmplaceAtPositionIsConditionallyNoexceptRvalue | , | ||
| EmplaceAtPositionIsConditionallyNoexceptLvalue | , | ||
| DefaultEmplaceIsConditionallyNoexcept | , | ||
| ADLSwapSwapsContentsForBasicTypes | , | ||
| CanSwap | , | ||
| SwapNoexceptMatchesElementType | , | ||
| InsertRvalueIsConditionallyNoexcept | , | ||
| InsertLvalueIsConditionallyNoexcept | , | ||
| InsertWithCountIsConditionallyNoexcept | , | ||
| InsertNAtEndInsertsElements | , | ||
| InsertNInMiddleInsertsElements | , | ||
| InsertFromIteratorRangeInMiddle | , | ||
| InsertFromIteratorRangeIsConditionallyNoexcept | , | ||
| CanGetCBeginAndEnd | , | ||
| ReverseIteration | , | ||
| CanConstructFromBiggerCapacityVector | , | ||
| CanAssignFromBiggerCapacityVector | , | ||
| CanDefaultConstructViaTryConstruct | , | ||
| CanConstructWithSizeViaTryConstruct | , | ||
| ConstructWithExcessiveSizeViaTryConstructFails | , | ||
| CannotTryConstructWithSizeForANonDefaultConstructibleType | , | ||
| CannotConstructWithSizeForANonDefaultConstructibleType | , | ||
| DefaultTryConstructNoexceptEvenIfDefaultConstructorNotNoexcept | , | ||
| ConstructWithSizeViaTryConstructNotNoexceptIfDefaultConstructorNotNoexcept | , | ||
| ConstructWithSizeViaNormalConstructWithDefaultConstructorNotNoexceptIsNotNoexcept | , | ||
| NotConstructibleWithSizeAndSourceIfDataNotCopyable | , | ||
| NotConstructibleFromInitializerListIfDataTypeNotCopyConstructible | , | ||
| CanTryConstructFromInitializerList | , | ||
| TryConstructFromTooLargeInitializerListReturnsEmpty | , | ||
| CanCopyViaTryConstruct | , | ||
| CanCopyViaConstruct | , | ||
| CanCopyViaTryConstructFromSmaller | , | ||
| CanCopyViaConstructFromSmaller | , | ||
| CanCopyViaTryConstructFromLargerWithFewerElements | , | ||
| FailToCopyViaTryConstructFromLargerWithMoreElements | , | ||
| CanCopyViaConstructFromLargerWithFewerElements | , | ||
| NotCopyConstructibleIfDataTypeNotCopyConstructible | , | ||
| CanMoveViaTryConstruct | , | ||
| CanMoveViaConstruct | , | ||
| FailToMoveViaTryConstructFromLargerWithMoreElements | , | ||
| NotMoveConstructibleIfDataTypeNotMoveConstructible | , | ||
| CanTryConstructFromIteratorRange | , | ||
| IteratorRangeTryConstructionIsConditionallyNoexcept | , | ||
| InputIteratorRangeTryConstructionIsConditionallyNoexcept | ) |
| auto arene::base::testing::run_property | ( | Callable | callable, |
| property_config const | config ) -> property_summary |
run a property callable against a battery of trials with generated arguments
| Callable | function object with a call operator where the first parameter is a reference to the PRNG and whose remaining parameters are generated with generator<T> |
| callable | property to exercise |
| config | seed and stopping criteria for a property run |
Repeatedly invokes callable with generated arguments until one of the following terminal conditions is reached:
property_status::failure – the run stops immediately and the failing property_error is captured in property_summary::first_failure;property_config::max_discards – the run is reported as failed;property_config::required_successes successful trials have been observed – the run is reported as passing.property_summary describing the outcome: number of successes and discards, whether the property failed, the seed actually used, and (on failure) the first failed property assertion.Callable is synthesized by the ARENE_PROPERTY or ARENE_TYPED_PROPERTY macro. It is not typically user provided.
|
constexprnoexcept |
sorts the container and then returns it
| Container | The type of a container |
| container | A container to be sorted |
container with sorted elementsstd::sort is not constexpr in C++14 arene::base::sort introduces coverage misses
|
constexprnoexcept |
Create a test deque containing a range of test values.
| T | The deque type to create an instance of |
| begin | The first index of test value to put in the deque |
| end | The after-end index of test value to put in the deque |
|
constexprnoexcept |
Create a test external vector containing a range of test values.
| T | The type to contain in the test vector |
| storage | The storage space to use for the values stored in the vector |
| begin | The first index of test value to put in the vector |
| end | The after-end index of test value to put in the vector |
|
constexprnoexcept |
Get the idx 'th test value of type T.
idx 'th element of test_value_array , wrapping to stay in bounds | T | The type to return test values of |
| idx | The index of the test value to be generated |
T ; test values with different idx may be different from each other, but may not
|
constexprnoexcept |
Create a test vector containing a range of test values.
| T | The type to contain in the test vector |
| Capacity | The capacity of inline_vector to populate (note: this is not the size / number of actual entries) |
| begin | The first index of test value to put in the vector |
| end | The after-end index of test value to put in the vector |
|
constexprnoexcept |
A version of arene::base::to_array where the individual elements are cast to the specified type.
| OutType | The element type of the output array, specified by the caller |
| InType | The element type of the input C-array, deduced from the argument |
| Size | The size of the input and output arrays, deduced from the argument |
| arr | A C-Array containing the values as instances of some type InType |
arene::base::array<OutType, Size> where the elements are constructed from the elements of arr | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorDeathTest | , |
| AddingToInvalidIteratorIsPreconditionViolation | ) |
external_vector iterator terminates the program with a precondition violation | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorDeathTest | , |
| AssignIsPreconditionViolationIfSizeOverCapacity | ) |
assign member function with a count and a value where the count is larger than the capacity of the vector terminates the program with a precondition violation | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorDeathTest | , |
| ConstructingWithOutOfRangeSizeAndSourceIsPreconditionViolation | ) |
external_vector constructor with a count and value where the count is larger than the capacity terminates the program with a precondition violation | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorDeathTest | , |
| ConstructingWithTooManyInitializersIsPreconditionViolation | ) |
external_vector constructor with an initializer list with more elements than the capacity terminates the program with a precondition violation | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorDeathTest | , |
| DereferencingInvalidIteratorIsPreconditionViolation | ) |
external_vector iterator terminates the program with a precondition violation | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorDeathTest | , |
| EmplaceBackIsPreconditionViolationIfFull | ) |
emplace_back on an external_vector<T> which has a size equal to its capacity terminates the program with a precondition violation | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorDeathTest | , |
| IndexOperatorOutOfRange | ) |
| arene::base::testing::TYPED_TEST_P | ( | ExternalVectorDeathTest | , |
| InsertNIsPreconditionViolationIfTooManyItems | ) |
insert with a count and a value to insert more elements than there are remaining spaces in the vector before it exceeds capacity terminates the program with a precondition violation. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorDeathTest | , |
| InsertWhenAtCapacityIsPreconditionViolation | ) |
insert on an external_vector with size equal to the capacity terminates the program with a precondition violation | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorDeathTest | , |
| PushBackBeyondMaxSizeIsPreconditionViolation | ) |
push_back on a vector that is at capacity terminates the program with a precondition violation. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorDeathTest | , |
| PushBackOnZeroSizeVectorIsPreconditionViolation | ) |
push_back on a zero-capacity vector terminates the program with a precondition violation | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| ADLSwapSwapsContentsForBasicTypes | ) |
swap without a namespace qualification on two external_vector instances exchanges the contents, so the elements from one have been moved to the other, and vice-versa. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| AfterClearVectorIsEmpty | ) |
external_vector which is not empty, invoking the clear method makes the vector empty | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| AfterPushBackCanGetLastElement | ) |
push_back to add an item to a default-constructed external_vector, that item can be retrieved via the back member function | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| AfterPushBackVectorIsNotEmpty | ) |
push_back to add an item to a default-constructed external_vector, the vector is no longer empty | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| AssignFromInitListUsingAssignFunctionIsConditionallyNoexcept | ) |
external_vector from an initializer list is noexcept if the element type of the vector is nothrow-copy-constructible | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| AssignFromSizeAndValueIsConditionallyNoexcept | ) |
assign member function taking a size and a value is not noexcept if the value type is not nothrow-copy-constructible | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| AtIndexSizeOrLargerThrows | ) |
at member function throws when invoked with an index that is equal to or larger than the size of the vector on an external_vector into which two elements have been stored via push_back | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| AtIndexSizeOrLargerThrowsWithConstVec | ) |
at member function throws when invoked via a const reference to a vector with an index that is equal to or larger than the size of an external_vector into which two elements have been stored via push_back | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| AtOnConstVectorReturnsConstReference | ) |
at member function on a const external_vector is a const reference to value_type | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| AtReturnsReference | ) |
at member function on a non-const external_vector is a non-const reference to value_type | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| BackIsNoexcept | ) |
back cannot throw | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| BackReturnsReference | ) |
external_vector, after one element has been added via push_back, back returns a reference to that element. After a second element has been added via push_back, back now returns a reference to the second element. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanAccessMultipleValuesWithAt | ) |
at member function returns the corresponding value stored when invoked with an index of 0 or 1 on an external_vector into which two elements have been stored via push_back | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanAccessMultipleValuesWithAtWithConstVec | ) |
at member function returns the corresponding value stored when invoked via a const reference to a vector with an index of 0 or 1 on an external_vector into which two elements have been stored via push_back. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanAccessMultipleValuesWithIndexOperator | ) |
external_vector with multiple elements, the index operator can be used with appropriate index values to access each element, and the returned reference is the same as that returned by at given the same index | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanAssignFromBiggerCapacityVector | ) |
external_vector can be assigned from an external_vector with a larger capacity, provided the number of elements in the source vector is less than the capacity of the target vector | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanAssignFromInitListUsingAssignFunction | ) |
assign member function with an initializer list sets the vector to have a size equal to the number of elements in the initializer list, and each element to be a copy of the corresponding element in the initializer list | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanAssignFromInputIteratorRange | ) |
assign member function with an iterator range specified using input iterators sets the vector to have a size equal to the number of elements in the range, and each element to be a copy of the corresponding element in the range | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanAssignFromIteratorRange | ) |
assign member function with an iterator range sets the vector to have a size equal to the number of elements in the range, and each element to be a copy of the corresponding element in the range | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanAssignFromSizeAndValue | ) |
assign member function with a count and a value sets the size of the vector to the specified count, where each element is a copy of the supplied value | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanConstructAnEmptyVector | ) |
external_vector is empty | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanConstructFromInitializerList | ) |
external_vector can be constructed from a std::initializer_list without throwing exceptions, and the size and values stored in the vector are the same as the size and values of the initializer list. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanConstructFromIteratorRange | ) |
external_vector can be constructed from an iterator range, creating a vector holding copies of the elements from the source range, with a size equal to the number of elements in the source range | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanConstructWithSizeAndValue | ) |
external_vector with a count and a value creates the specified number of elements copy-constructed from the supplied value, and sets the size of the vector to that count. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanCopyViaConstruct | ) |
external_vector with an existing external_vector copies the elements from the source vector | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanCopyViaConstructFromLargerWithFewerElements | ) |
external_vector from an existing external_vector with a larger capacity but a size that is less than or equal to the capacity of the destination type copies elements from the source vector | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanCopyViaConstructFromSmaller | ) |
external_vector from an existing external_vector with a smaller capacity returns an external_vector with the same elements as the source vector | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanCopyViaTryConstruct | ) |
try_construct with an existing external_vector returns a copy of that source vector | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanCopyViaTryConstructFromLargerWithFewerElements | ) |
try_construct with an existing external_vector with a larger capacity but a size that is less than or equal to the capacity of the destination type returns an external_vector with the same elements as the source vector | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanCopyViaTryConstructFromSmaller | ) |
try_construct with an existing external_vector with a smaller capacity returns an external_vector with the same elements as the source vector | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanDefaultConstructViaTryConstruct | ) |
try_construct can be used to construct an empty external_vector. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanEmplaceBack | ) |
emplace_back member function can be used to add an element to an external_vector. The new element is constructed with the arguments supplied to emplace_back | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanEraseAtBeginning | ) |
external_vector, invoking erase with the iterator returned from begin removes the first element, moving the remaining elements to one lower index and decreasing the size by one, and returns an iterator to the new first element. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanEraseInMiddle | ) |
external_vector, invoking erase with an iterator referring to an element that is neither the first or last element removes that element, moves the following elements to one lower index, reduces the size by one, and returns an iterator to the element that replaced the erased element. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanEraseRange | ) |
erase with an iterator range referring to elements in the same external_vector, removes those elements, moves the following elements to take their place, and returns an iterator with the same offset from the beginning of the vector as the first erased element | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanGetCBeginAndEnd | ) |
cbegin and cend return const_iterators to the corresponding locations of the external_vector. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanGetFront | ) |
external_vector initialized from an initializer list, the front member function can be used to retrieve the first value, which must be equal to the first value of the vector as retrieved via at(0) | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanGetIterator | ) |
begin and end member functions of an external_vector must return an iterator, and they must be equal for a default-constructed vector | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanInsertAtEndOfExistingVector | ) |
external_vector with existing elements, and the iterator returned from end, insert can add an element to the end of the vector, increasing the size by one | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanInsertInEmptyVector | ) |
external_vector, and the iterator returned from begin, insert can add an element to the vector, setting the size to one. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanInsertInMiddleOfExistingVector | ) |
external_vector with existing elements, and an iterator to an existing element in the vector, insert can add an element at the iterator position, increasing the vector size by one. The existing element at the location referenced by the iterator, and the subsequent elements, are moved to make room for the new element. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanIterateOverConstValues | ) |
const external_vector constructed from an initializer list, the iterators returned from begin and end can be passed as an iterator pair to std::mismatch to compare the values in the vector to those in the initializer list, and the return value of the call to std::mismatch must be the end iterators of the vector and initializer list, to indicate that the values are the same. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanIterateOverValues | ) |
external_vector constructed from an initializer list, the iterators returned from begin and end can be passed as an iterator pair to std::mismatch to compare the values in the vector to those in the initializer list, and the return value of the call to std::mismatch must be the end iterators of the vector and initializer list, to indicate that the values are the same. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanMoveViaConstruct | ) |
external_vector from an rvalue external_vector move-constructs the elements from the source to the new vector. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanMoveViaTryConstruct | ) |
try_construct with an rvalue external_vector constructs a new external_vector, and move-constructs the elements from the source to the new vector. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CannotConstructWithSizeForANonDefaultConstructibleType | ) |
external_vector constructor with a number of elements is not considered for overload resolution if the element type of the external_vector<T> is not default-constructible. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CannotTryConstructWithSizeForANonDefaultConstructibleType | ) |
try_construct with a number of elements is not considered for overload resolution if the element type of the external_vector<T> is not default-constructible. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanPopBack | ) |
pop_back on a non-empty external_vector destroys the last element and reduces the size by one. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanPushBackAValue | ) |
push_back to add an item to a default-constructed external_vector increases the size | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanTryConstructFromInitializerList | ) |
try_construct with an initializer list constructs an external_vector holding copies of the elements from the initializer list | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CanTryConstructFromIteratorRange | ) |
try_construct with an iterator range returns an external_vector with the same elements as the source range | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CapacityIsAsSpecified | ) |
external_vector is equal to the supplied template parameter | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CapacityIsNoexcept | ) |
capacity member function of external_vector is declared noexcept | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| ConstBackReturnsConstReference | ) |
external_vector, after one element has been added via push_back, back called via a const reference to the vector returns a const reference to that element. After a second element has been added via push_back, back called via a const reference to the vector now returns a const reference to the second element. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CopyAssignmentIsConditionallyNoexcept | ) |
external_vector is noexcept if and only if the stored element type is both nothrow-copy-constructible and nothrow-copy-assignable | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CopyAssignOverLargerVectorDestroysExcess | ) |
external_vector copy-assignment operator destroys the excess elements in the destination when the source vector has fewer elements than the destination vector | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CopyAssignOverLargerVectorFromInitListDestroysExcess | ) |
external_vector holding existing elements, assigning to that vector with an initializer list holding fewer elements copy assigns over the existing elements up to the size of the initializer list, and then destroys a number of elements equal to the difference between the old size of the vector and the size of the initializer list | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CopyAssignOverSmallerVectorCopiesElements | ) |
external_vector copy-assignment operator uses copy assignment for elements from the source where there is already a corresponding element in the destination, and copy construction for elements that do not have a corresponding element in the destination | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CopyAssignOverSmallerVectorFromInitListCopiesElements | ) |
external_vector holding existing elements, assigning to that vector with an initializer list holding more elements copy assigns over the existing elements, and then copy-constructs new elements to increase the size of the vector to that of the initializer list | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| CopyingVectorCopiesElements | ) |
external_vector copy constructor copies the stored elements and size from the original vector. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| Data | ) |
data member function is noexcept and returns a pointer to the first element of a non-empty vector | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| DefaultTryConstructNoexceptEvenIfDefaultConstructorNotNoexcept | ) |
try_construct function of external_vector<T> is always noexcept, even if the stored element type's default constructor can throw | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| EmplaceAtPositionIsConditionallyNoexcept | ) |
emplace with a position is noexcept if and only if the element type of the vector is nothrow-move-constructible, nothrow-move-assignable, and nothrow-constructible from the supplied arguments | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| EmplaceBackIsConditionallyNoexcept | ) |
emplace_back is noexcept if and only if the element type of the vector is nothrow-constructible from the supplied arguments | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| EmplaceInsert | ) |
emplace inserts a new value at the position indicated, constructing the new value with the supplied arguments, and returning an iterator referencing the new value | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| EmptybyDefault | ) |
external_vector is empty | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| EmptyIfJustStorage | ) |
external_vector constructed with just storage is empty | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| EmptyIsNoexcept | ) |
empty member function of external_vector is noexcept | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| EraseIsNoexceptIfTypeHasNoexceptMove | ) |
erase is noexcept if and only if the element type has noexcept move operations | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| FailToCopyViaTryConstructFromLargerWithMoreElements | ) |
try_construct with an existing external_vector with a larger capacity and a size that is larger than the capacity of the destination type returns an empty optional | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| FailToMoveViaTryConstructFromLargerWithMoreElements | ) |
try_construct with an rvalue external_vector with a larger capacity and a size that is larger than the capacity of the destination storage returns an empty optional | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| IndexOperatorIsNoexcept | ) |
noexcept | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| IndexOperatorOnConstVectorIsNoexcept | ) |
noexcept for a const vector | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| IndexOperatorOnConstVectorReturnsConstReference | ) |
const vector returns a const reference to the element type of the vector | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| IndexOperatorReturnsReference | ) |
| arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| InitialSizeIsZero | ) |
external_vector is zero | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| InputIteratorRangeAssignmentIsConditionallyNoexcept | ) |
external_vector from an input iterator range is noexcept if operations on the iterator are noexcept and the element type of the vector is nothrow-constructible from the value type of the iterator | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| InputIteratorRangeConstructionIsConditionallyNoexcept | ) |
external_vector from an input iterator range is noexcept if operations on the iterator are noexcept and the element type of the vector is nothrow-constructible from the reference type of the iterator | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| InputIteratorRangeTryConstructionIsConditionallyNoexcept | ) |
try_construct from an input iterator range is noexcept if the element type of the vector is nothrow-constructible from the iterator's reference type | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| InsertFromIteratorRangeInMiddle | ) |
insert with an iterator referring to an existing element of an external_vector and a source iterator range denoted by a pair of iterators moves the referred to element and subsequent elements to make room, and inserts the elements from the source iterator range prior to the existing element. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| InsertFromIteratorRangeIsConditionallyNoexcept | ) |
insert is noexcept if the element type of the vector is nothrow-constructible from the supplied iterator's reference type, and is nothrow-move-constructible and nothrow-move-assignable | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| InsertIsConditionallyNoexcept | ) |
insert is noexcept if the element type of the vector is nothrow-constructible from the supplied value, and is nothrow-move-constructible and nothrow-move-assignable | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| InsertNAtEndInsertsElements | ) |
insert with the end iterator of the external_vector and a count and value appends the specified number of copies of the supplied value to the end of the vector. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| InsertNInMiddleInsertsElements | ) |
insert with an iterator referring to an existing element of an external_vector and a count and value moves the referred to element and subsequent elements to make room, and inserts the specified number of copies of the supplied value prior to the existing element. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| InsertWithCountIsConditionallyNoexcept | ) |
insert is noexcept if the element type of the vector is nothrow-copy-constructible, and is nothrow-move-constructible and nothrow-move-assignable | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| IteratorRangeAssignmentIsConditionallyNoexcept | ) |
external_vector from an iterator range is noexcept if operations on the iterator are noexcept and the element type of the vector is nothrow-constructible from the reference type of the iterator | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| IteratorRangeConstructionIsConditionallyNoexcept | ) |
external_vector from an iterator range is noexcept if operations on the iterator are noexcept and the element type of the vector is nothrow-constructible from the reference type of the iterator | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| IteratorRangeTryConstructionIsConditionallyNoexcept | ) |
try_construct from an iterator range is noexcept if the element type of the vector is nothrow-constructible from the iterator's reference type | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| IteratorTypedefs | ) |
iterator type of an external_vector must have the required type aliases for a random-access iterator. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| MaxSizeEqualsCapacity | ) |
max_size member function of external_vector returns the capacity of the storage | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| MoveAssignmentIsConditionallyNoexcept | ) |
external_vector is noexcept if and only if the value type is nothrow-move-constructible and nothrow-move-assignable | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| MoveAssignOverLargerVectorDestroysExcess | ) |
external_vector move-assignment operator destroys the excess elements in the destination when the source vector has fewer elements than the destination vector | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| MoveAssignOverSmallerVectorMovesElements | ) |
external_vector move-assignment operator uses move assignment for elements from the source where there is already a corresponding element in the destination, and move construction for elements that do not have a corresponding element in the destination | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| MovingVectorMovesElements | ) |
external_vector move constructor moves the stored elements from the original vector | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| MovingVectorWithNewStorageMovesElements | ) |
external_vector move constructor with new storage moves the stored elements from the original vector | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| NoStorageDataIsNull | ) |
data returns a null pointer | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| NotConstructibleWithSizeAndSourceIfDataNotCopyable | ) |
try_construct that takes a size and source value is not considered for overload resolution if the element type of the external_vector<T> is not copy-constructible. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| NotCopyConstructible | ) |
external_vector is not copy-constructible | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| NotCopyConstructibleIfDataTypeNotCopyConstructible | ) |
external_vector is constructible with storage and an old vector if and only if the data type is copy-constructible | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| NotMoveConstructibleIfDataTypeNotMoveConstructible | ) |
external_vector is not move constructible if the element type is not move constructible | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| PopBackIsNoexcept | ) |
pop_back is declared noexcept | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| PushBackIsConditionallyNoexcept | ) |
push_back is noexcept if and only if the value type can be constructed without throwing | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| ResizeWithValueIsConditionallyNoexcept | ) |
resize with a value to copy is noexcept if and only if the copy constructor of the element type is noexcept | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| ResizingFromLargeToSmallLeavesElements | ) |
resize member function with a size and a value on a vector with more elements than the specified size sets the size of the vector to the specified count and does not construct new elements | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| ResizingFromSmallToLargeConstructsElementsAsCopiesOfSpecified | ) |
resize member function with a size and a value on a vector with fewer elements than the specified size sets the size of the vector to the specified count, and constructs a number of new elements equal to the difference between the specified size and the previous size by copy-construction from the specified value | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| RetrievingAValueWithAtReturnsValueAfterPushBack | ) |
at member function returns the value stored when invoked with an index of 0 on a external_vector into which one element has been stored via push_back | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| RetrievingAValueWithAtThrowsOnEmpty | ) |
at member function throws a std::out_of_range exception when invoked with an index of 0 on a default-constructed external_vector | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| ReverseIteration | ) |
rbegin, rend, crbegin and crend return reverse iterators to the appropriate locations in the external_vector, such that iteration forwards from rbegin or crbegin iterates through the elements of the external_vector in reverse order. | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| SecondPushBackChangesLastValue | ) |
push_back twice to add two items to a default-constructed external_vector, the size is incremented to 2, and the second item can be retrieved via the back member function | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| SizeIsCorrect | ) |
external_vector initialized from a list of values is correct | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| SizeIsNoexcept | ) |
size member function of external_vector is declared noexcept | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| StorageOnlyTryConstructNoexceptEvenIfDefaultConstructorNotNoexcept | ) |
try_construct function of external_vector<T> is always noexcept, even if the stored element type's default constructor can throw | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| SwapNoexceptMatchesElementType | ) |
external_vectors is noexcept if and only if the element type is nothrow swappable | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| TryConstructFromTooLargeInitializerListReturnsEmpty | ) |
try_construct with an initializer list holding more elements than the capacity of the external_vector returns an empty optional | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| Typedefs | ) |
external_vector must have the required type aliases for a sequence container | arene::base::testing::TYPED_TEST_P | ( | ExternalVectorTest | , |
| ZeroSizeVectorIsEmpty | ) |
size member function, and via comparing the iterators returned from begin and end | arene::base::testing::TYPED_TEST_P | ( | InlineVectorDeathTest | , |
| AddingToInvalidIteratorIsPreconditionViolation | ) |
inline_vector iterator terminates the program with a precondition violation | arene::base::testing::TYPED_TEST_P | ( | InlineVectorDeathTest | , |
| DereferencingInvalidIteratorIsPreconditionViolation | ) |
inline_vector iterator terminates the program with a precondition violation | arene::base::testing::TYPED_TEST_P | ( | InlineVectorDeathTest | , |
| EmplaceBackIsPreconditionViolationIfFull | ) |
emplace_back on an inline_vector<T> which has a size equal to its capacity terminates the program with a precondition violation | arene::base::testing::TYPED_TEST_P | ( | InlineVectorDeathTest | , |
| IndexOperatorOutOfRange | ) |
| arene::base::testing::TYPED_TEST_P | ( | InlineVectorDeathTest | , |
| PushBackBeyondMaxSizeIsPreconditionViolation | ) |
push_back on a vector that is at capacity terminates the program with a precondition violation. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorDeathTest | , |
| PushBackOnZeroSizeVectorIsPreconditionViolation | ) |
push_back on a zero-capacity vector terminates the program with a precondition violation | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| ADLSwapSwapsContentsForBasicTypes | ) |
swap without a namespace qualification on two inline_vector instances exchanges the contents, so the elements from one have been moved to the other, and vice-versa. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| AfterClearVectorIsEmpty | ) |
inline_vector which is not empty, invoking the clear method makes the vector empty | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| AfterPushBackCanGetLastElement | ) |
push_back to add an item to a default-constructed inline_vector, that item can be retrieved via the back member function | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| AfterPushBackVectorIsNotEmpty | ) |
push_back to add an item to a default-constructed inline_vector, the vector is no longer empty | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| AssignFromInitListUsingAssignFunctionIsConditionallyNoexcept | ) |
inline_vector from an initializer list is noexcept if the element type of the vector is nothrow-copy-constructible | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| AtIndexSizeOrLargerThrows | ) |
at member function throws when invoked with an index that is equal to or larger than the size of the vector on an inline_vector into which two elements have been stored via push_back | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| AtIndexSizeOrLargerThrowsWithConstVec | ) |
at member function throws when invoked via a const reference to a vector with an index that is equal to or larger than the size of an inline_vector into which two elements have been stored via push_back | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| AtOnConstVectorReturnsConstReference | ) |
at member function on a const inline_vector is a const reference to value_type | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| AtReturnsReference | ) |
at member function on a non-const inline_vector is a non-const reference to value_type | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| BackIsNoexcept | ) |
back cannot throw | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| BackReturnsReference | ) |
inline_vector, after one element has been added via push_back, back returns a reference to that element. After a second element has been added via push_back, back now returns a reference to the second element. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanAssignFromInputIteratorRange | ) |
assign member function with an iterator range specified using input iterators sets the vector to have a size equal to the number of elements in the range, and each element to be a copy of the corresponding element in the range | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanAssignFromIteratorRange | ) |
assign member function with an iterator range sets the vector to have a size equal to the number of elements in the range, and each element to be a copy of the corresponding element in the range | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanConstructAnEmptyVector | ) |
inline_vector is empty | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanConstructFromIteratorRange | ) |
inline_vector can be constructed from an iterator range, creating a vector by moving the elements from the source range, with a size equal to the number of elements in the source range | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanDefaultConstructViaTryConstruct | ) |
try_construct can be used to construct an empty inline_vector. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanEmplaceBack | ) |
emplace_back member function can be used to add an element to an inline_vector. The new element is constructed with the arguments supplied to emplace_back | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanEraseAtBeginning | ) |
inline_vector, invoking erase with the iterator returned from begin removes the first element, moving the remaining elements to one lower index and decreasing the size by one, and returns an iterator to the new first element. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanGetCBeginAndEnd | ) |
cbegin and cend return const_iterators to the corresponding locations of the inline_vector. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanGetFront | ) |
inline_vector initialized by pushing back values, the front member function can be used to retrieve the first value, which must be equal to the first value of the vector as retrieved via at(0) | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanGetIterator | ) |
begin and end member functions of an inline_vector must return an iterator, and they must be equal for a default-constructed vector | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanInsertInEmptyVector | ) |
inline_vector, and the iterator returned from begin, insert can add an element to the vector, setting the size to one. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanIterateOverConstValues | ) |
const inline_vector constructed by pushing back values, the iterators returned from begin and end can be passed as an iterator pair to arene::base::equal to compare the values in the vector to those in the initializer list, which must return true, to indicate that the values are the same. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanIterateOverValues | ) |
inline_vector constructed by pushing back values, the iterators returned from begin and end can be passed as an iterator pair to arene::base::equal to compare the values in the vector to those in the initializer list, which must return true, to indicate that the values are the same. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanMoveViaConstruct | ) |
inline_vector from an rvalue inline_vector move-constructs the elements from the source to the new vector. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanMoveViaTryConstruct | ) |
try_construct with an rvalue inline_vector constructs a new inline_vector, and move-constructs the elements from the source to the new vector. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CannotConstructWithSizeForANonDefaultConstructibleType | ) |
inline_vector constructor with a number of elements is not considered for overload resolution if the element type of the inline_vector<T> is not default-constructible. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CannotTryConstructWithSizeForANonDefaultConstructibleType | ) |
try_construct with a number of elements is not considered for overload resolution if the element type of the inline_vector<T> is not default-constructible. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanPopBack | ) |
pop_back on a non-empty inline_vector destroys the last element and reduces the size by one. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanPushBackAValue | ) |
push_back to add an item to a default-constructed inline_vector increases the size | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CanTryConstructFromIteratorRange | ) |
try_construct with an iterator range returns an inline_vector with the same elements as the source range | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CapacityIsAsSpecified | ) |
inline_vector is equal to the supplied template parameter | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CapacityIsNoexcept | ) |
capacity member function of inline_vector is declared noexcept | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| ConstBackReturnsConstReference | ) |
inline_vector, after one element has been added via push_back, back called via a const reference to the vector returns a const reference to that element. After a second element has been added via push_back, back called via a const reference to the vector now returns a const reference to the second element. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| CopyingIsConditionallyDefined | ) |
inline_vector is noexcept if and only if the stored element type is both nothrow-copy-constructible and nothrow-copy-assignable | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| Data | ) |
data member function is noexcept and returns a pointer to the first element of a non-empty vector | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| DefaultTryConstructNoexceptEvenIfDefaultConstructorNotNoexcept | ) |
try_construct function of inline_vector<T> is always noexcept, even if the stored element type's default constructor can throw | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| EmplaceAtPositionIsConditionallyNoexceptRvalue | ) |
emplace with a position is noexcept if and only if the element type of the vector is nothrow-move-constructible, nothrow-move-assignable, and nothrow-constructible from the supplied arguments | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| EmplaceBackIsConditionallyNoexceptRvalue | ) |
emplace_back is noexcept if and only if the element type of the vector is nothrow-constructible from the supplied arguments | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| EmplaceInsert | ) |
emplace inserts a new value at the position indicated, constructing the new value with the supplied arguments, and returning an iterator referencing the new value | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| EmptyIsConstexpr | ) |
inline_vector is empty in a constexpr context | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| EmptyIsNoexcept | ) |
empty member function of inline_vector is noexcept | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| EraseIsNoexceptIfTypeHasNoexceptMove | ) |
erase is noexcept if and only if the element type has noexcept move assignment | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| FailToMoveViaTryConstructFromLargerWithMoreElements | ) |
try_construct with an rvalue inline_vector with a larger capacity and a size that is larger than the capacity of the destination type returns an empty optional | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| IndexOperatorIsNoexcept | ) |
noexcept | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| IndexOperatorOnConstVectorIsNoexcept | ) |
noexcept for a const vector | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| IndexOperatorOnConstVectorReturnsConstReference | ) |
const vector returns a const reference to the element type of the vector | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| IndexOperatorReturnsReference | ) |
| arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| InitialSizeIsZero | ) |
inline_vector is zero | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| InputIteratorRangeConstructionIsConditionallyNoexcept | ) |
inline_vector from an input iterator range is noexcept if operations on the iterator are noexcept and the element type of the vector is nothrow-constructible from the reference type of the iterator | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| InsertRvalueIsConditionallyNoexcept | ) |
insert of an rvalue is noexcept if the element type of the vector is nothrow-constructible from the supplied value, and is nothrow-move-constructible and nothrow-move-assignable | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| IteratorRangeAssignmentIsConditionallyNoexcept | ) |
inline_vector from an iterator range is noexcept if operations on the iterator are noexcept and the element type of the vector is nothrow-constructible and nothrow-assignable from the reference type of the iterator | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| IteratorRangeConstructionIsConditionallyNoexcept | ) |
inline_vector from an iterator range is noexcept if operations on the iterator are noexcept and the element type of the vector is nothrow-constructible from the reference type of the iterator | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| IteratorTypedefs | ) |
iterator type of an inline_vector must have the required type aliases for a random-access iterator. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| MaxSizeEqualsCapacity | ) |
max_size member function of inline_vector returns the capacity specified as a template parameter. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| MoveAssignOverLargerVectorDestroysExcess | ) |
inline_vector move-assignment operator destroys the excess elements in the destination when the source vector has fewer elements than the destination vector | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| MoveAssignOverSmallerVectorMovesElements | ) |
inline_vector move-assignment operator uses move assignment for elements from the source where there is already a corresponding element in the destination, and move construction for elements that do not have a corresponding element in the destination | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| MovingIsConditionallyDefined | ) |
inline_vector is noexcept if and only if the value type is nothrow-move-constructible and nothrow-move-assignable | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| MovingVectorMovesElements | ) |
inline_vector move constructor moves the stored elements from the original vector | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| NotConstructibleFromInitializerListIfDataTypeNotCopyConstructible | ) |
try_construct that takes an initializer list is not considered for overload resolution if the element type of the inline_vector is not copy-constructible. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| NotConstructibleWithSizeAndSourceIfDataNotCopyable | ) |
try_construct that takes a size and source value is not considered for overload resolution if the element type of the inline_vector<T> is not copy-constructible. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| NotCopyConstructibleIfDataTypeNotCopyConstructible | ) |
inline_vector is not copy-constructible if the data type is not copy-constructible | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| NotMoveConstructibleIfDataTypeNotMoveConstructible | ) |
inline_vector is not move constructible if the element type is not move constructible | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| PopBackIsNoexcept | ) |
pop_back is declared noexcept | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| PushBackIsConditionallyNoexceptRvalue | ) |
push_back of an rvalue is noexcept if and only if the value type can be constructed without throwing from an rvalue | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| RetrievingAValueWithAtReturnsValueAfterPushBack | ) |
at member function returns the value stored when invoked with an index of 0 on a inline_vector into which one element has been stored via push_back | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| RetrievingAValueWithAtThrowsOnEmpty | ) |
at member function throws a std::out_of_range exception when invoked with an index of 0 on a default-constructed inline_vector | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| ReverseIteration | ) |
rbegin, rend, crbegin and crend return reverse iterators to the appropriate locations in the inline_vector, such that iteration forwards from rbegin or crbegin iterates through the elements of the inline_vector in reverse order. | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| SizeIsConstexpr | ) |
inline_vector initialized from a list of values is correct in a constexpr context | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| SizeIsNoexcept | ) |
size member function of inline_vector is declared noexcept | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| SwapNoexceptMatchesElementType | ) |
inline_vectors is noexcept if and only if the element type is nothrow swappable AND the element type is nothrow move constructible | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| Typedefs | ) |
inline_vector must have the required type aliases for a sequence container | arene::base::testing::TYPED_TEST_P | ( | InlineVectorTest | , |
| ZeroSizeVectorIsEmpty | ) |
size member function, and via comparing the iterators returned from begin and end | arene::base::testing::TYPED_TEST_SUITE_P | ( | ExternalVectorDeathTest | ) |
| arene::base::testing::TYPED_TEST_SUITE_P | ( | ExternalVectorTest | ) |
| arene::base::testing::TYPED_TEST_SUITE_P | ( | InlineVectorDeathTest | ) |
| arene::base::testing::TYPED_TEST_SUITE_P | ( | InlineVectorTest | ) |
|
constexprnoexcept |
obtain the nth unique arene::base::testing::test_value
| T | the type to return the test values of |
| N | the index of the test value to obtain |
arene::base::testing::test_value<T>(n) Obtains test_value<T>(n) and ensures that the values test_value<T>(0), ..., test_value<T>(n) are unique.
If the values are not unique and this can be determined at compile-time, this function fails to compile.
If the values are not unique and this cannot be determined at compile-time, a call to this function calls std::terminate.
test_value<T> to be regular invocable
|
constexpr |
Push back multiple values into a vector.
| Vector | The type of the vector |
| Values | The type of the values |
| vec | The vector to push back into |
| values | the values to push back |
|
constexpr |
|
constexpr |
Check whether or not a given type's test_value function works in constexpr contexts.
| T | The type to check |
|
constexpr |
Check whether or not a given type's test_value function works in constexpr contexts.
| T | The type to check |
|
constexpr |
True if a type is copy constructible and copy assignable, false otherwise.
| T | the type to check |
|
constexpr |
A type trait to tell if the given type parameter is fully comparable or not for the purposes of these tests
| T | The type to check |
|
constexpr |
A type trait to check if a type is list-initializable using a brace-enclosed list of values with a given type.
| T | Type to check |
| ElementType | Type to use for the elements of the brace-enclosed initializer list |
|
externconstexpr |
A function object returning a std::initializer_list of one test_value per index in the given pack.
| T | The type for which an initializer list is requested |
| Indices | A pack of indices, one for each test value in the initializer list |
std::initializer_list<T> containing one test value per index
|
extern |
An array used in the default implementation of test_value ; by default it's empty and unusable.
| T | The type of which this is an array of test values |
|
externconstexpr |
A partial specialization of test_value_array for built-in floating point numbers to make it easier to use.
| T | The type of which this is an array of test values |
|
externconstexpr |
A partial specialization of test_value_array for built-in signed integers to make it easier to use.
| T | The type of which this is an array of test values |
|
externconstexpr |
A partial specialization of test_value_array for built-in unsigned integers to make it easier to use.
| T | The type of which this is an array of test values |