Arene Base
Fundamental Utilities For Safety Critical C++
Loading...
Searching...
No Matches
Test List
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, PushFrontOneElement, is_double_ended< TypeParam >)
Given a default-constructed inline_deque with plenty of capacity, an element can be inserted via push_front, which causes a size increase
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, EmplaceFrontReturnsReference, is_double_ended< TypeParam >)
Emplacing an element into the front of an inline_deque returns a reference to the emplaced element
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, FrontPushedElementIsCorrect, is_double_ended< TypeParam >)
Given a default-constructed inline_deque with plenty of capacity, an element can be inserted via push_front and then inspected
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, PushFrontWithinCapacity, is_double_ended< TypeParam >)
Given a default-constructed inline_deque, elements can be inserted via push_front within its capacity, making the size be equal to capacity
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeDeathTest, PushFrontMoreThanCapacity, is_double_ended< TypeParam >)
Inserting any element beyond an inline_deque's capacity terminates the application with a precondition violation or wraps, depending on its parameters
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, PushFrontDetailCoverage, !is_double_ended< TypeParam >)
For deques with a single-ended public interface, the unexposed functions in the other direction still work. This test is needed for coverage purposes.
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, InsertConstraints, !TypeParam::wrapping_allowed)
The constraints and exception specifications for the insert functions are correct
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, CopyInsertOne, !TypeParam::wrapping_allowed &&std::is_copy_constructible< typename TypeParam::value_type >::value &&std::is_copy_assignable< typename TypeParam::value_type >::value)
The copy-based one-element version of insert inserts a copy of the value at the requested position
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, MoveInsertOne, !TypeParam::wrapping_allowed &&std::is_move_constructible< typename TypeParam::value_type >::value &&std::is_move_assignable< typename TypeParam::value_type >::value)
The move-based one-element version of insert inserts the value at the requested position
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, CopyInsertOneAtEnd, !TypeParam::wrapping_allowed &&std::is_copy_constructible< typename TypeParam::value_type >::value &&std::is_copy_assignable< typename TypeParam::value_type >::value)
The copy-based one-element version of insert can insert a value at the end
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, MoveInsertOneAtEnd, !TypeParam::wrapping_allowed &&std::is_move_constructible< typename TypeParam::value_type >::value &&std::is_move_assignable< typename TypeParam::value_type >::value)
The move-based one-element version of insert can insert a value at the end
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeDeathTest, NonWrappingInsertOneWhenFull, !TypeParam::wrapping_allowed &&std::is_move_constructible< typename TypeParam::value_type >::value &&std::is_move_assignable< typename TypeParam::value_type >::value)
Calling the one-element version of insert when a non-wrapping deque is full terminates the application
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, GoCircularFromFront, is_double_ended< TypeParam >)
inline_deque has circular or ring-buffer behavior, such that when previously inserted elements via push_front are removed via pop_back, then space in the fixed-capacity storage of the deque is made available for new elements to be inserted
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, BasicFunctionFromFront, is_double_ended< TypeParam > &&TypeParam::capacity >=2)
basic inline_deque functionality, inserting elements via push_front observing them with back, verifying that it doesn't remove elements, removing with pop_back, and checking the correct dequeing order (namely, FIFO) is preserved with the operations
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, BasicFunctionFromBack, TypeParam::capacity >=2)
basic inline_deque functionality, inserting elements via push_back observing them with front, verifying that it doesn't remove elements, removing with pop_front, and checking the correct dequeing order (namely, FIFO) is preserved with the operations
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, CanObserveAndModifyFromFront, is_double_ended< TypeParam > &&TypeParam::capacity >=2)
inline_deque's back can also be used to modify the least-recently inserted element inplace
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, CanObserveAndModifyFromBack, TypeParam::capacity >=2)
inline_deque's front can also be used to modify the least-recently inserted element inplace
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, PushFrontCopiesLvalues, is_double_ended< TypeParam > &&std::is_copy_constructible< TypeParam >::value)
Pushing lvalue data onto the front of an inline_deque copies it
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, PushBackCopiesLvalues, std::is_copy_constructible< TypeParam >::value)
Pushing lvalue data onto the back of an inline_deque copies it
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeDeathTest, PopBackWhenEmpty, is_double_ended< TypeParam >)
when the inline_deque is empty, pop_back terminates the application with a precondition violation
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, CanConstructAtCompileTime, InlineDequeTest< TypeParam >::constexpr_compatible)
inline_deque can be used at compile-time, asserting properties statically
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, CopyConstructFromRange, std::is_copy_constructible< TypeParam >::value)
inline_deque can be constructed from a range of T using iterators
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, ConstructFromInitializerList, std::is_copy_constructible< TypeParam >::value)
inline_deque can be constructed from an initializer list of T
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, ConstructFromEmptyList, std::is_copy_constructible< TypeParam >::value)
inline_deque can be constructed from an empty initializer list
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeDeathTest, CopyConstructFromBackwardRange, std::is_copy_constructible< TypeParam >::value)
inline_deque crashes when copy constructed from a random-access range in the wrong order
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, TryCopyConstructFromBackwardRange, std::is_copy_constructible< TypeParam >::value)
try_construct returns empty when copy constructing from a random-access range in the wrong order
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeDeathTest, CopyConstructFromOversizedRange, std::is_copy_constructible< TypeParam >::value)
inline_deque crashes when copy constructed from a range that's too large to fit within the capacity
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, TryCopyConstructFromOversizedRange, std::is_copy_constructible< TypeParam >::value)
try_construct returns empty when copy constructing from a range that's too large to fit within the capacity
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeDeathTest, ConstructFromOversizedInitializerList, std::is_copy_constructible< TypeParam >::value)
inline_deque crashes when copy constructed from an initializer list that's too large to fit in the capacity
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, TryConstructFromOversizedInitializerList, std::is_copy_constructible< TypeParam >::value)
try_construct returns empty when constructing from an initializer list that's too large for the capacity
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, CanCopyConstruct, std::is_copy_constructible< TypeParam >::value)
inline_deque copy-construction works as expected
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, CanCopyTryConstruct, std::is_copy_constructible< TypeParam >::value)
inline_deque copy-construction works as expected when invoked via try_construct
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, CanCopyAssign, std::is_copy_assignable< TypeParam >::value)
inline_deque copy-assignment works as expected
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, SelfCopyAssign, std::is_copy_assignable< TypeParam >::value)
inline_deque self copy-assignment does nothing
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, CopyAssignIntoPartiallyFull, std::is_copy_assignable< TypeParam >::value)
Copy assignment works into a partially full target
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, CopyAssignFromPartiallyFull, std::is_copy_assignable< TypeParam >::value)
Copy assignment works from a partially full input
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, IteratorsNotInvalidatedByPopFront, TypeParam::capacity() >=2U)
Using pop_front() only invalidates iterators and references to the first element
Member arene::base::CONDITIONAL_TYPED_TEST_P (InlineDequeTest, IteratorsNotInvalidatedByPopBack, is_double_ended< TypeParam > &&TypeParam::capacity() >=3U)
Using pop_back() only invalidates iterators and references to the last element and end()
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, SecondPushBackChangesLastValue, TypeParam::capacity >=2)
After using 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
Member 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanAccessMultipleValuesWithAt, TypeParam::capacity >=2)
The 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanAccessMultipleValuesWithAtWithConstVec, TypeParam::capacity >=2)
The 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.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanPushBack, InlineVectorTest< TypeParam >::constexpr_compatible)
In a 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)
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanConstructFromInitializerList, std::is_copy_constructible< typename TypeParam::value_type >::value)
An 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.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanConstructFromInitializerListConstexpr, InlineVectorTest< TypeParam >::constexpr_compatible &&std::is_copy_constructible< typename TypeParam::value_type >::value)
An inline_vector can be constructed from a std::initializer_list in a constexpr context, and the elements are those from the initializer list
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (ExternalVectorTest, CanConstructWithSize, std::is_default_constructible< TypeParam >{})
Constructing with just a size creates a vector with that many default-constructed elements
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanUseBack, InlineVectorTest< TypeParam >::constexpr_compatible)
Given a 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, Front, InlineVectorTest< TypeParam >::constexpr_compatible)
Given an instance of 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, Iteration, InlineVectorTest< TypeParam >::constexpr_compatible)
It is possible to iterate over the values in a mutable inline_vector using a ranged-for loop in a constexpr context.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, ConstIteration, InlineVectorTest< TypeParam >::constexpr_compatible)
It is possible to iterate over the values in a const inline_vector using a ranged-for loop in a constexpr context.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanEraseInMiddle, TypeParam::capacity >=2)
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, and returns an iterator to the element that replaced the erased element.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanErase, InlineVectorTest< TypeParam >::constexpr_compatible &&TypeParam::capacity >=4)
In a 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.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (ExternalVectorDeathTest, ConstructingWithOutOfRangeSizeIsPreconditionViolation, std::is_default_constructible< TypeParam >{})
Invoking the external_vector constructor with a count larger than the capacity terminates the program with a precondition violation
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanEraseRange, TypeParam::capacity >=5)
Invoking 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanConstructWithSize, std::is_default_constructible< typename TypeParam::value_type >{})
Constructing with just a size creates a vector with that many default-constructed elements
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanConstructWithSizeAndValue, std::is_copy_constructible< typename TypeParam::value_type >::value)
Constructing an 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.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CopyingVectorCopiesElements, std::is_copy_constructible< typename TypeParam::value_type >::value)
The inline_vector copy constructor copies the stored elements and size from the original vector.
Member 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CopyAssignOverSmallerVectorCopiesElements, is_copyable_v< typename TypeParam::value_type >)
The 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CopyAssignOverLargerVectorDestroysExcess, is_copyable_v< typename TypeParam::value_type >)
The inline_vector copy-assignment operator destroys the excess elements in the destination when the source vector has fewer elements than the destination vector
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, PopBackIsUsable, InlineVectorTest< TypeParam >::constexpr_compatible)
In a constexpr context, pop_back removes the last element of a non-empty vector
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanInsertAtEndOfExistingVector, TypeParam::capacity >=2)
Given an 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanInsertInMiddleOfExistingVector, TypeParam::capacity >=3)
Given an 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.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorDeathTest, InsertWhenAtCapacityIsPreconditionViolation, std::is_default_constructible< typename TypeParam::value_type >::value)
Invoking insert on an inline_vector with size equal to the capacity terminates the program with a precondition violation
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorDeathTest, ConstructingWithOutOfRangeSizeIsPreconditionViolation, std::is_default_constructible< typename TypeParam::value_type >{})
Invoking the inline_vector constructor with a count larger than the capacity terminates the program with a precondition violation
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorDeathTest, ConstructingWithOutOfRangeSizeAndSourceIsPreconditionViolation, std::is_copy_constructible< typename TypeParam::value_type >::value)
Invoking the inline_vector constructor with a count and value where the count is larger than the capacity terminates the program with a precondition violation
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorDeathTest, ConstructingWithTooManyInitializersIsPreconditionViolation, std::is_copy_constructible< typename TypeParam::value_type >::value)
Invoking the inline_vector constructor with an initializer list with more elements than the capacity terminates the program with a precondition violation
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, ResizeZeroCapacityVecToZeroIsOk, InlineVectorTest< TypeParam >::constexpr_compatible)
In a constexpr context, invoking resize with a count of zero on an inline_vector with a capacity of zero does nothing
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, ResizeNonZeroCapacityVecToZeroIsOk, InlineVectorTest< TypeParam >::constexpr_compatible &&std::is_default_constructible< typename TypeParam::value_type >{})
In a 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, ResizeNonZeroCapacityVecToOtherIsOk, InlineVectorTest< TypeParam >::constexpr_compatible &&std::is_default_constructible< typename TypeParam::value_type >{})
In a 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
Member 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
Member 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, ResizingFromLargeToSmallLeavesElements, std::is_copy_constructible< typename TypeParam::value_type >::value)
Invoking the 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, ResizingFromSmallToLargeConstructsElementsAsCopiesOfSpecified, std::is_copy_constructible< typename TypeParam::value_type >::value)
Invoking the 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanInitializeWithSizeAndValue, InlineVectorTest< TypeParam >::constexpr_compatible &&std::is_copy_constructible< typename TypeParam::value_type >::value)
In a 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanInsert, InlineVectorTest< TypeParam >::constexpr_compatible &&TypeParam::capacity >=3)
In a 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.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (ExternalVectorTest, CanCompareForOrdering, is_fully_comparable_v< TypeParam >)
Two instances of 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.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanConstructFromIteratorRangeConstexpr, InlineVectorTest< TypeParam >::constexpr_compatible &&std::is_copy_constructible< typename TypeParam::value_type >::value)
In a 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CopyAssignOverSmallerVectorFromInitListCopiesElements, is_copyable_v< typename TypeParam::value_type >)
Given an 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CopyAssignOverLargerVectorFromInitListDestroysExcess, is_copyable_v< typename TypeParam::value_type >)
Given an 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (ExternalVectorTest, DefaultEmplaceIsConditionallyNoexcept, std::is_default_constructible< TypeParam >{})
Emplacing using the default constructor has the right exception specification. This test is separate from the ones above due to a bug in GCC8 which tries to instantiate the emplace_back and emplace functions before checking their exception specifications, which fails for types that are not default-constructible.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanAssignFromInitListUsingAssignFunction, is_copyable_v< typename TypeParam::value_type >)
Invoking the 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, InputIteratorRangeAssignmentIsConditionallyNoexcept, is_copyable_v< typename TypeParam::value_type >)
Assignment of an 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanAssignFromSizeAndValue, is_copyable_v< typename TypeParam::value_type >)
Invoking the 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, AssignFromSizeAndValueIsConditionallyNoexcept, is_copyable_v< typename TypeParam::value_type >)
The assign member function taking a size and a value is not noexcept if the value type is not nothrow-copy-constructible
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorDeathTest, AssignIsPreconditionViolationIfSizeOverCapacity, is_copyable_v< typename TypeParam::value_type >)
Invoking the 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanAccessMultipleValuesWithIndexOperator, TypeParam::capacity >=2)
Given an 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, IndexOperator, InlineVectorTest< TypeParam >::constexpr_compatible &&TypeParam::capacity >=2)
The index operator can be used to access the elements of an inline_vector in a constexpr context.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, ClearWorks, InlineVectorTest< TypeParam >::constexpr_compatible)
In a constexpr context, given an inline_vector which is not empty, invoking the clear method makes the vector empty
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanCompareForEquality, InlineVectorTest< TypeParam >::constexpr_compatible &&TypeParam::capacity >=4)
Two instances of 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.
Member 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
Member 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.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanCompareForOrdering, InlineVectorTest< TypeParam >::constexpr_compatible &&is_fully_comparable_v< typename TypeParam::value_type > &&TypeParam::capacity >=4)
Two instances of 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.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanEmplaceBackConstexpr, InlineVectorTest< TypeParam >::constexpr_compatible)
In a 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (ExternalVectorTest, ConstructWithSizeViaTryConstructNotNoexceptIfDefaultConstructorNotNoexcept, std::is_default_constructible< TypeParam >{})
The 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (ExternalVectorTest, ConstructWithSizeViaNormalConstructWithDefaultConstructorNotNoexceptIsNotNoexcept, std::is_default_constructible< TypeParam >{})
The constructor of external_vector that takes a number of elements is not noexcept if the default constructor of the stored element type is not noexcept
Member 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (ExternalVectorDeathTest, ConstructWithExcessiveSizeViaNormalConstructIsAlwaysPreconditionViolation, std::is_default_constructible< TypeParam >{})
Specifying a number of elements larger than the capacity of an external_vector when invoking the constructor terminates the program with a precondition violation
Member 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.
Member 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, DefaultEmplaceIsConditionallyNoexcept, std::is_default_constructible< typename TypeParam::value_type >{})
Emplacing using the default constructor has the right exception specification. This test is separate from the ones above due to a bug in GCC8 which tries to instantiate the emplace_back and emplace functions before checking their exception specifications, which fails for types that are not default-constructible.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanSwap, InlineVectorTest< TypeParam >::constexpr_compatible)
In a constexpr context, two inline_vector instances can be swapped with an unqualified call to swap.
Member 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
Member 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorDeathTest, InsertNIsPreconditionViolationIfTooManyItems, is_copyable_v< typename TypeParam::value_type >)
Invoking 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.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, InsertNAtEndInsertsElements, is_copyable_v< typename TypeParam::value_type > &&TypeParam::capacity >=7)
Invoking 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.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, InsertNInMiddleInsertsElements, is_copyable_v< typename TypeParam::value_type > &&TypeParam::capacity >=7)
Invoking 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.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, InsertFromIteratorRangeInMiddle, TypeParam::capacity >=11)
Invoking 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.
Member 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanConstructFromBiggerCapacityVector, InlineVectorTest< TypeParam >::constexpr_compatible &&std::is_copy_constructible< typename TypeParam::value_type >::value)
An 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanAssignFromBiggerCapacityVector, is_copyable_v< typename TypeParam::value_type >)
An 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
Member 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
Member 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.
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, ConstructWithSizeViaTryConstructNotNoexceptIfDefaultConstructorNotNoexcept, std::is_default_constructible< typename TypeParam::value_type >{})
The 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, ConstructWithSizeViaNormalConstructWithDefaultConstructorNotNoexceptIsNotNoexcept, std::is_default_constructible< typename TypeParam::value_type >{})
The constructor of inline_vector that takes a number of elements is not noexcept if the default constructor of the stored element type is not noexcept
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorDeathTest, ConstructWithExcessiveSizeViaNormalConstructIsAlwaysPreconditionViolation, std::is_default_constructible< typename TypeParam::value_type >{})
Specifying a number of elements larger than the capacity of an inline_vector when invoking the constructor terminates the program with a precondition violation
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanTryConstructFromInitializerList, std::is_copy_constructible< typename TypeParam::value_type >::value)
Invoking try_construct with an initializer list constructs an inline_vector holding copies of the elements from the initializer list
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, TryConstructFromTooLargeInitializerListReturnsEmpty, std::is_copy_constructible< typename TypeParam::value_type >::value)
Invoking try_construct with an initializer list holding more elements than the capacity of the inline_vector returns an empty optional
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanCopyViaTryConstruct, std::is_copy_constructible< typename TypeParam::value_type >::value)
Invoking try_construct with an existing inline_vector returns a copy of that source vector
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanCopyViaConstruct, std::is_copy_constructible< typename TypeParam::value_type >::value)
Constructing an inline_vector with an existing inline_vector copies the elements from the source vector
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanCopyViaTryConstructFromSmaller, std::is_copy_constructible< typename TypeParam::value_type >::value)
Invoking try_construct with an existing inline_vector with a smaller capacity returns an inline_vector with the same elements as the source vector
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanCopyViaConstructFromSmaller, std::is_copy_constructible< typename TypeParam::value_type >::value)
Constructing an inline_vector from an existing inline_vector with a smaller capacity returns an inline_vector with the same elements as the source vector
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanCopyViaTryConstructFromLargerWithFewerElements, std::is_copy_constructible< typename TypeParam::value_type >::value)
Invoking 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, FailToCopyViaTryConstructFromLargerWithMoreElements, std::is_copy_constructible< typename TypeParam::value_type >::value)
Invoking 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
Member arene::base::testing::CONDITIONAL_TYPED_TEST_P (InlineVectorTest, CanCopyViaConstructFromLargerWithFewerElements, std::is_copy_constructible< typename TypeParam::value_type >::value)
Constructing an 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
Member 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
Member 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanConstructAnEmptyVector)
A default-constructed external_vector is empty
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CapacityIsAsSpecified)
The capacity of a default-constructed external_vector is equal to the supplied template parameter
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CapacityIsNoexcept)
The capacity member function of external_vector is declared noexcept
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, InitialSizeIsZero)
The size of a default-constructed external_vector is zero
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, NoStorageDataIsNull)
With no storage, data returns a null pointer
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, SizeIsCorrect)
The size of an external_vector initialized from a list of values is correct
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, SizeIsNoexcept)
The size member function of external_vector is declared noexcept
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanPushBackAValue)
Using push_back to add an item to a default-constructed external_vector increases the size
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, AfterPushBackCanGetLastElement)
After using push_back to add an item to a default-constructed external_vector, that item can be retrieved via the back member function
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, AfterPushBackVectorIsNotEmpty)
After using push_back to add an item to a default-constructed external_vector, the vector is no longer empty
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, SecondPushBackChangesLastValue)
After using 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, PushBackIsConditionallyNoexcept)
push_back is noexcept if and only if the value type can be constructed without throwing
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, EmptybyDefault)
A default-constructed external_vector is empty
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, EmptyIfJustStorage)
A external_vector constructed with just storage is empty
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, EmptyIsNoexcept)
The empty member function of external_vector is noexcept
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, RetrievingAValueWithAtThrowsOnEmpty)
The at member function throws a std::out_of_range exception when invoked with an index of 0 on a default-constructed external_vector
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, RetrievingAValueWithAtReturnsValueAfterPushBack)
The 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, AtReturnsReference)
The return type of the at member function on a non-const external_vector is a non-const reference to value_type
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, AtOnConstVectorReturnsConstReference)
The return type of the at member function on a const external_vector is a const reference to value_type
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanAccessMultipleValuesWithAt)
The 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, AtIndexSizeOrLargerThrows)
The 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanAccessMultipleValuesWithAtWithConstVec)
The 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.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, AtIndexSizeOrLargerThrowsWithConstVec)
The 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, MaxSizeEqualsCapacity)
The max_size member function of external_vector returns the capacity of the storage
Member arene::base::testing::TYPED_TEST_P (ExternalVectorDeathTest, PushBackBeyondMaxSizeIsPreconditionViolation)
Invoking push_back on a vector that is at capacity terminates the program with a precondition violation.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, ZeroSizeVectorIsEmpty)
The size of a default-constructed vector with a capacity of zero is zero, when obtained via the size member function, and via comparing the iterators returned from begin and end
Member arene::base::testing::TYPED_TEST_P (ExternalVectorDeathTest, PushBackOnZeroSizeVectorIsPreconditionViolation)
Invoking push_back on a zero-capacity vector terminates the program with a precondition violation
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanConstructAnEmptyVector)
A default-constructed inline_vector is empty
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CapacityIsAsSpecified)
The capacity of a default-constructed inline_vector is equal to the supplied template parameter
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, BackReturnsReference)
Given a default-constructed 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.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CapacityIsNoexcept)
The capacity member function of inline_vector is declared noexcept
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, InitialSizeIsZero)
The size of a default-constructed inline_vector is zero
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, ConstBackReturnsConstReference)
Given a default-constructed 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.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, SizeIsConstexpr)
The size of an inline_vector initialized from a list of values is correct in a constexpr context
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, BackIsNoexcept)
Invoking back cannot throw
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, SizeIsNoexcept)
The size member function of inline_vector is declared noexcept
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanPushBackAValue)
Using push_back to add an item to a default-constructed inline_vector increases the size
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanConstructFromInitializerList)
An 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.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, AfterPushBackCanGetLastElement)
After using push_back to add an item to a default-constructed inline_vector, that item can be retrieved via the back member function
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanGetFront)
Given an 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)
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, AfterPushBackVectorIsNotEmpty)
After using push_back to add an item to a default-constructed inline_vector, the vector is no longer empty
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanGetIterator)
The begin and end member functions of an external_vector must return an iterator, and they must be equal for a default-constructed vector
Member 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanIterateOverValues)
Given an 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.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanIterateOverConstValues)
Given a 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.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, EmptyIsConstexpr)
A default-constructed inline_vector is empty in a constexpr context
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, EmptyIsNoexcept)
The empty member function of inline_vector is noexcept
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, RetrievingAValueWithAtThrowsOnEmpty)
The at member function throws a std::out_of_range exception when invoked with an index of 0 on a default-constructed inline_vector
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, RetrievingAValueWithAtReturnsValueAfterPushBack)
The 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, AtReturnsReference)
The return type of the at member function on a non-const inline_vector is a non-const reference to value_type
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, AtOnConstVectorReturnsConstReference)
The return type of the at member function on a const inline_vector is a const reference to value_type
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, AtIndexSizeOrLargerThrows)
The 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, AtIndexSizeOrLargerThrowsWithConstVec)
The 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, MaxSizeEqualsCapacity)
The max_size member function of inline_vector returns the capacity specified as a template parameter.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, IteratorTypedefs)
The iterator type of an external_vector must have the required type aliases for a random-access iterator.
Member arene::base::testing::TYPED_TEST_P (InlineVectorDeathTest, PushBackBeyondMaxSizeIsPreconditionViolation)
Invoking push_back on a vector that is at capacity terminates the program with a precondition violation.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, ZeroSizeVectorIsEmpty)
The size of a default-constructed vector with a capacity of zero is zero, when obtained via the size member function, and via comparing the iterators returned from begin and end
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, Typedefs)
external_vector must have the required type aliases for a sequence container
Member arene::base::testing::TYPED_TEST_P (InlineVectorDeathTest, PushBackOnZeroSizeVectorIsPreconditionViolation)
Invoking push_back on a zero-capacity vector terminates the program with a precondition violation
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, BackReturnsReference)
Given a default-constructed 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.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, ConstBackReturnsConstReference)
Given a default-constructed 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.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanEraseAtBeginning)
Given a non-empty 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.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, BackIsNoexcept)
Invoking back cannot throw
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanEraseInMiddle)
Given a non-empty 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.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanEraseRange)
Invoking 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanConstructWithSizeAndValue)
Constructing an 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.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CopyingVectorCopiesElements)
The external_vector copy constructor copies the stored elements and size from the original vector.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanGetFront)
Given an 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)
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, MovingVectorMovesElements)
The external_vector move constructor moves the stored elements from the original vector
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, MovingVectorWithNewStorageMovesElements)
The external_vector move constructor with new storage moves the stored elements from the original vector
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CopyAssignOverSmallerVectorCopiesElements)
The 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanGetIterator)
The begin and end member functions of an inline_vector must return an iterator, and they must be equal for a default-constructed vector
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CopyAssignOverLargerVectorDestroysExcess)
The external_vector copy-assignment operator destroys the excess elements in the destination when the source vector has fewer elements than the destination vector
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanIterateOverValues)
Given an 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.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CopyAssignmentIsConditionallyNoexcept)
Copy-assignment for external_vector is noexcept if and only if the stored element type is both nothrow-copy-constructible and nothrow-copy-assignable
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanIterateOverConstValues)
Given a 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.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, IteratorTypedefs)
The iterator type of an inline_vector must have the required type aliases for a random-access iterator.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, MoveAssignOverSmallerVectorMovesElements)
The 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, Typedefs)
inline_vector must have the required type aliases for a sequence container
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, MoveAssignOverLargerVectorDestroysExcess)
The external_vector move-assignment operator destroys the excess elements in the destination when the source vector has fewer elements than the destination vector
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, MoveAssignmentIsConditionallyNoexcept)
Move-assignment for external_vector is noexcept if and only if the value type is nothrow-move-constructible and nothrow-move-assignable
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanPopBack)
Invoking pop_back on a non-empty external_vector destroys the last element and reduces the size by one.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, PopBackIsNoexcept)
pop_back is declared noexcept
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, EraseIsNoexceptIfTypeHasNoexceptMove)
erase is noexcept if and only if the element type has noexcept move operations
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanEraseAtBeginning)
Given a non-empty 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.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanInsertInEmptyVector)
Given an empty external_vector, and the iterator returned from begin, insert can add an element to the vector, setting the size to one.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanInsertAtEndOfExistingVector)
Given an 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanInsertInMiddleOfExistingVector)
Given an 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.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorDeathTest, InsertWhenAtCapacityIsPreconditionViolation)
Invoking insert on an external_vector with size equal to the capacity terminates the program with a precondition violation
Member arene::base::testing::TYPED_TEST_P (ExternalVectorDeathTest, ConstructingWithOutOfRangeSizeAndSourceIsPreconditionViolation)
Invoking the external_vector constructor with a count and value where the count is larger than the capacity terminates the program with a precondition violation
Member arene::base::testing::TYPED_TEST_P (ExternalVectorDeathTest, ConstructingWithTooManyInitializersIsPreconditionViolation)
Invoking the external_vector constructor with an initializer list with more elements than the capacity terminates the program with a precondition violation
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, MovingVectorMovesElements)
The inline_vector move constructor moves the stored elements from the original vector
Member 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, ResizingFromLargeToSmallLeavesElements)
Invoking the 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, ResizingFromSmallToLargeConstructsElementsAsCopiesOfSpecified)
Invoking the 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CopyingIsConditionallyDefined)
Copy-assignment for inline_vector is noexcept if and only if the stored element type is both nothrow-copy-constructible and nothrow-copy-assignable
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanConstructFromIteratorRange)
An 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, MoveAssignOverSmallerVectorMovesElements)
The 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, IteratorRangeConstructionIsConditionallyNoexcept)
Construction of an 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, MoveAssignOverLargerVectorDestroysExcess)
The inline_vector move-assignment operator destroys the excess elements in the destination when the source vector has fewer elements than the destination vector
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, InputIteratorRangeConstructionIsConditionallyNoexcept)
Construction of an 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, MovingIsConditionallyDefined)
Move-assignment for inline_vector is noexcept if and only if the value type is nothrow-move-constructible and nothrow-move-assignable
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CopyAssignOverSmallerVectorFromInitListCopiesElements)
Given an 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanPopBack)
Invoking pop_back on a non-empty inline_vector destroys the last element and reduces the size by one.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, PopBackIsNoexcept)
pop_back is declared noexcept
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CopyAssignOverLargerVectorFromInitListDestroysExcess)
Given an 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, EraseIsNoexceptIfTypeHasNoexceptMove)
erase is noexcept if and only if the element type has noexcept move assignment
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanAssignFromIteratorRange)
Invoking the 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanInsertInEmptyVector)
Given an empty inline_vector, and the iterator returned from begin, insert can add an element to the vector, setting the size to one.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, IteratorRangeAssignmentIsConditionallyNoexcept)
Assignment of an 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanAssignFromInitListUsingAssignFunction)
Invoking the 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, AssignFromInitListUsingAssignFunctionIsConditionallyNoexcept)
Assignment of an external_vector from an initializer list is noexcept if the element type of the vector is nothrow-copy-constructible
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanAssignFromInputIteratorRange)
Invoking the 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, InputIteratorRangeAssignmentIsConditionallyNoexcept)
Assignment of an 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanAssignFromSizeAndValue)
Invoking the 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, AssignFromSizeAndValueIsConditionallyNoexcept)
The assign member function taking a size and a value is not noexcept if the value type is not nothrow-copy-constructible
Member arene::base::testing::TYPED_TEST_P (ExternalVectorDeathTest, AssignIsPreconditionViolationIfSizeOverCapacity)
Invoking the 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, IndexOperatorReturnsReference)
The index operator returns a reference to the element type of the vector
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, IndexOperatorOnConstVectorReturnsConstReference)
The index operator for a const vector returns a const reference to the element type of the vector
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanAccessMultipleValuesWithIndexOperator)
Given an 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, IndexOperatorIsNoexcept)
The index operator is noexcept
Member arene::base::testing::TYPED_TEST_P (ExternalVectorDeathTest, IndexOperatorOutOfRange)
Passing an index that is equal to or larger than the size of the vector terminates the program with a precondition violation
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, IndexOperatorOnConstVectorIsNoexcept)
The index operator is noexcept for a const vector
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, Data)
The data member function is noexcept and returns a pointer to the first element of a non-empty vector
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, AfterClearVectorIsEmpty)
Given an external_vector which is not empty, invoking the clear method makes the vector empty
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanConstructFromIteratorRange)
An 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, IteratorRangeConstructionIsConditionallyNoexcept)
Construction of an 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, InputIteratorRangeConstructionIsConditionallyNoexcept)
Construction of an 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanEmplaceBack)
The 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
Member 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
Member 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanAssignFromIteratorRange)
Invoking the 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, IteratorRangeAssignmentIsConditionallyNoexcept)
Assignment of an 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorDeathTest, EmplaceBackIsPreconditionViolationIfFull)
Invoking emplace_back on an external_vector<T> which has a size equal to its capacity terminates the program with a precondition violation
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, ADLSwapSwapsContentsForBasicTypes)
Invoking 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.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, AssignFromInitListUsingAssignFunctionIsConditionallyNoexcept)
Assignment of an inline_vector from an initializer list is noexcept if the element type of the vector is nothrow-copy-constructible
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, SwapNoexceptMatchesElementType)
Swapping two external_vectors is noexcept if and only if the element type is nothrow swappable
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanAssignFromInputIteratorRange)
Invoking the 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
Member 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
Member 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, EmplaceInsert)
Invoking 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorDeathTest, InsertNIsPreconditionViolationIfTooManyItems)
Invoking 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.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, InsertNAtEndInsertsElements)
Invoking 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.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, InsertNInMiddleInsertsElements)
Invoking 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.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, IndexOperatorReturnsReference)
The index operator returns a reference to the element type of the vector
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, IndexOperatorOnConstVectorReturnsConstReference)
The index operator for a const vector returns a const reference to the element type of the vector
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, InsertFromIteratorRangeInMiddle)
Invoking 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.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, IndexOperatorIsNoexcept)
The index operator is noexcept
Member 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorDeathTest, IndexOperatorOutOfRange)
Passing an index that is equal to or larger than the size of the vector terminates the program with a precondition violation
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, IndexOperatorOnConstVectorIsNoexcept)
The index operator is noexcept for a const vector
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanGetCBeginAndEnd)
cbegin and cend return const_iterators to the corresponding locations of the external_vector.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, Data)
The data member function is noexcept and returns a pointer to the first element of a non-empty vector
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, AfterClearVectorIsEmpty)
Given an inline_vector which is not empty, invoking the clear method makes the vector empty
Member 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.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanAssignFromBiggerCapacityVector)
An 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanDefaultConstructViaTryConstruct)
try_construct can be used to construct an empty external_vector.
Member 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.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CannotConstructWithSizeForANonDefaultConstructibleType)
The 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.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanEmplaceBack)
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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, DefaultTryConstructNoexceptEvenIfDefaultConstructorNotNoexcept)
The default constructor and corresponding try_construct function of external_vector<T> is always noexcept, even if the stored element type's default constructor can throw
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, StorageOnlyTryConstructNoexceptEvenIfDefaultConstructorNotNoexcept)
The constructor with just storage and corresponding try_construct function of external_vector<T> is always noexcept, even if the stored element type's default constructor can throw
Member 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
Member 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, NotConstructibleWithSizeAndSourceIfDataNotCopyable)
The overload of 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.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanTryConstructFromInitializerList)
Invoking try_construct with an initializer list constructs an external_vector holding copies of the elements from the initializer list
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, EmplaceInsert)
Invoking 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, TryConstructFromTooLargeInitializerListReturnsEmpty)
Invoking try_construct with an initializer list holding more elements than the capacity of the external_vector returns an empty optional
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanCopyViaTryConstruct)
Invoking try_construct with an existing external_vector returns a copy of that source vector
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanCopyViaConstruct)
Constructing an external_vector with an existing external_vector copies the elements from the source vector
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanCopyViaTryConstructFromSmaller)
Invoking try_construct with an existing external_vector with a smaller capacity returns an external_vector with the same elements as the source vector
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanCopyViaConstructFromSmaller)
Constructing an external_vector from an existing external_vector with a smaller capacity returns an external_vector with the same elements as the source vector
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanCopyViaTryConstructFromLargerWithFewerElements)
Invoking 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorDeathTest, EmplaceBackIsPreconditionViolationIfFull)
Invoking emplace_back on an inline_vector<T> which has a size equal to its capacity terminates the program with a precondition violation
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, FailToCopyViaTryConstructFromLargerWithMoreElements)
Invoking 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, ADLSwapSwapsContentsForBasicTypes)
Invoking 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.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanCopyViaConstructFromLargerWithFewerElements)
Constructing an 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, NotCopyConstructible)
external_vector is not copy-constructible
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, SwapNoexceptMatchesElementType)
Swapping two inline_vectors is noexcept if and only if the element type is nothrow swappable AND the element type is nothrow move constructible
Member 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
Member 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanMoveViaTryConstruct)
Invoking try_construct with an rvalue external_vector constructs a new external_vector, and move-constructs the elements from the source to the new vector.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanMoveViaConstruct)
Constructing an external_vector from an rvalue external_vector move-constructs the elements from the source to the new vector.
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, FailToMoveViaTryConstructFromLargerWithMoreElements)
Invoking 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, NotMoveConstructibleIfDataTypeNotMoveConstructible)
external_vector is not move constructible if the element type is not move constructible
Member arene::base::testing::TYPED_TEST_P (ExternalVectorTest, CanTryConstructFromIteratorRange)
Invoking try_construct with an iterator range returns an external_vector with the same elements as the source range
Member 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
Member 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
Member arene::base::testing::TYPED_TEST_P (ExternalVectorDeathTest, DereferencingInvalidIteratorIsPreconditionViolation)
Dereferencing a default-constructed external_vector iterator terminates the program with a precondition violation
Member arene::base::testing::TYPED_TEST_P (ExternalVectorDeathTest, AddingToInvalidIteratorIsPreconditionViolation)
Iterator arithmetic on a default-constructed external_vector iterator terminates the program with a precondition violation
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanGetCBeginAndEnd)
cbegin and cend return const_iterators to the corresponding locations of the inline_vector.
Member 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.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanDefaultConstructViaTryConstruct)
try_construct can be used to construct an empty inline_vector.
Member 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.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CannotConstructWithSizeForANonDefaultConstructibleType)
The 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.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, DefaultTryConstructNoexceptEvenIfDefaultConstructorNotNoexcept)
The default constructor and corresponding try_construct function of inline_vector<T> is always noexcept, even if the stored element type's default constructor can throw
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, NotConstructibleWithSizeAndSourceIfDataNotCopyable)
The overload of 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.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, NotConstructibleFromInitializerListIfDataTypeNotCopyConstructible)
The overload of 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.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, NotCopyConstructibleIfDataTypeNotCopyConstructible)
inline_vector is not copy-constructible if the data type is not copy-constructible
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanMoveViaTryConstruct)
Invoking try_construct with an rvalue inline_vector constructs a new inline_vector, and move-constructs the elements from the source to the new vector.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanMoveViaConstruct)
Constructing an inline_vector from an rvalue inline_vector move-constructs the elements from the source to the new vector.
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, FailToMoveViaTryConstructFromLargerWithMoreElements)
Invoking 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
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, NotMoveConstructibleIfDataTypeNotMoveConstructible)
inline_vector is not move constructible if the element type is not move constructible
Member arene::base::testing::TYPED_TEST_P (InlineVectorTest, CanTryConstructFromIteratorRange)
Invoking try_construct with an iterator range returns an inline_vector with the same elements as the source range
Member arene::base::testing::TYPED_TEST_P (InlineVectorDeathTest, DereferencingInvalidIteratorIsPreconditionViolation)
Dereferencing a default-constructed inline_vector iterator terminates the program with a precondition violation
Member arene::base::testing::TYPED_TEST_P (InlineVectorDeathTest, AddingToInvalidIteratorIsPreconditionViolation)
Iterator arithmetic on a default-constructed inline_vector iterator terminates the program with a precondition violation
Member arene::base::TYPED_TEST_P (InlineDequeTest, CanConstruct)
A default-constructed inline_deque has size equal to zero
Member arene::base::TYPED_TEST_P (InlineDequeTest, CapacityIsAsSpecified)
The capacity of a default-constructed inline_deque is equal to the supplied template parameter
Member arene::base::TYPED_TEST_P (InlineDequeTest, CapacityIsNoexcept)
The capacity member function of inline_deque is declared noexcept
Member arene::base::TYPED_TEST_P (InlineDequeTest, SizeIsNoexcept)
The size member function of inline_deque is declared noexcept
Member arene::base::TYPED_TEST_P (InlineDequeTest, PushBackOneElement)
Given a default-constructed inline_deque with plenty of capacity, an element can be inserted via push_back, which causes a size increase
Member arene::base::TYPED_TEST_P (InlineDequeTest, EmplaceBackReturnsReference)
Emplacing an element into the back of an inline_deque returns a reference to the emplaced element
Member arene::base::TYPED_TEST_P (InlineDequeTest, BackPushedElementIsCorrect)
Given a default-constructed inline_deque with plenty of capacity, an element can be inserted via push_back and then inspected
Member arene::base::TYPED_TEST_P (InlineDequeTest, PushBackWithinCapacity)
Given a default-constructed inline_deque, elements can be inserted via push_back within its capacity, making the size be equal to capacity
Member arene::base::TYPED_TEST_P (InlineDequeDeathTest, PushBackMoreThanCapacity)
Inserting any element beyond an inline_deque's capacity terminates the application with a precondition violation or wraps, depending on its parameters
Member arene::base::TYPED_TEST_P (InlineDequeTest, GoCircularFromBack)
inline_deque has circular or ring-buffer behavior, such that when previously inserted elements via push_back are removed via pop_front, then space in the fixed-capacity storage of the deque is made available for new elements to be inserted
Member arene::base::TYPED_TEST_P (InlineDequeDeathTest, BackWhenEmpty)
when the inline_deque is empty, back terminates the application with a precondition violation
Member arene::base::TYPED_TEST_P (InlineDequeDeathTest, ConstBackWhenEmpty)
when the inline_deque is empty, the const overload of back terminates the application with a precondition violation
Member arene::base::TYPED_TEST_P (InlineDequeDeathTest, PopFrontWhenEmpty)
when the inline_deque is empty, pop_front terminates the application with a precondition violation
Member arene::base::TYPED_TEST_P (InlineDequeDeathTest, FrontWhenEmpty)
when the inline_deque is empty, front terminates the application with a precondition violation
Member arene::base::TYPED_TEST_P (InlineDequeDeathTest, ConstFrontWhenEmpty)
when the inline_deque is empty, the const overload of front terminates the application with a precondition violation
Member arene::base::TYPED_TEST_P (InlineDequeTest, NotCopyConstructibleIfDataTypeNotCopyConstructible)
inline_deque is not copy-constructible if the data type is not copy-constructible
Member arene::base::TYPED_TEST_P (InlineDequeTest, NotMoveConstructibleIfDataTypeNotMoveConstructible)
inline_deque is not move-constructible if the data type is not move-constructible
Member arene::base::TYPED_TEST_P (InlineDequeTest, NotCopyAssignableIfDataTypeNotCopyConstructibleAndCopyAssignable)
inline_deque is not copy-assignable if the data type is not copy-constructible
Member arene::base::TYPED_TEST_P (InlineDequeTest, NotMoveAssignableIfDataTypeNotMoveConstructibleAndMoveAssignable)
inline_deque is not move-assignable if the data type is not move-constructible
Member arene::base::TYPED_TEST_P (InlineDequeTest, RangeConstructionSfinae)
inline_deque range construction is enabled or disabled appropriately based on the arguments
Member arene::base::TYPED_TEST_P (InlineDequeTest, RangeConstructionNoexcept)
inline_deque range construction has the correct noexcept specification
Member arene::base::TYPED_TEST_P (InlineDequeTest, MoveConstructFromRange)
inline_deque can be constructed from a range of T using iterators
Member arene::base::TYPED_TEST_P (InlineDequeTest, InitializerListConstructionSfinae)
inline_deque initializer list construction is enabled or disabled appropriately based on the value type
Member arene::base::TYPED_TEST_P (InlineDequeTest, InitializerListConstructionNoexcept)
inline_deque initializer list construction has the correct noexcept specification
Member arene::base::TYPED_TEST_P (InlineDequeDeathTest, MoveConstructFromBackwardRange)
inline_deque crashes when move constructed from a range with the iterators in the wrong order
Member arene::base::TYPED_TEST_P (InlineDequeTest, TryMoveConstructFromBackwardRange)
try_construct returns empty when move constructing from a range with the iterators in the wrong order
Member arene::base::TYPED_TEST_P (InlineDequeDeathTest, MoveConstructFromOversizedRange)
inline_deque crashes when move constructed from a range that's too large to fit within the capacity
Member arene::base::TYPED_TEST_P (InlineDequeTest, TryMoveConstructFromOversizedRange)
try_construct returns empty when move constructing from a range that's too large to fit within the capacity
Member arene::base::TYPED_TEST_P (InlineDequeTest, CanMoveConstruct)
inline_deque move-construction works as expected
Member arene::base::TYPED_TEST_P (InlineDequeTest, CanMoveTryConstruct)
inline_deque move-construction works as expected when invoked via try_construct
Member arene::base::TYPED_TEST_P (InlineDequeTest, CanMoveAssign)
inline_deque move-assignment works as expected
Member arene::base::TYPED_TEST_P (InlineDequeTest, SelfMoveAssign)
inline_deque self move-assignment does nothing
Member arene::base::TYPED_TEST_P (InlineDequeTest, MoveAssignIntoPartiallyFull)
Move assignment works into a partially full target
Member arene::base::TYPED_TEST_P (InlineDequeTest, MoveAssignFromPartiallyFull)
Move assignment works from a partially full input
Member arene::base::TYPED_TEST_P (InlineDequeTest, IteratorsAreRandomAccessAndNoexcept)
Both const and non-const iterator types for a deque are random access, and creating them is noexcept
Member arene::base::TYPED_TEST_P (InlineDequeTest, NonConstIteratorsImplicitlyConvertibleToConst)
Non-const iterators are implicitly convertible to the corresponding const iterator, but not vice versa
Member arene::base::TYPED_TEST_P (InlineDequeTest, InspectWithIterators)
Inspecting a deque using its iterators yields the elements from front to back
Member arene::base::TYPED_TEST_P (InlineDequeTest, IteratorsWrapAround)
Inspecting a deque using its iterators yields the elements from front to back, even when wrapping around
Member arene::base::TYPED_TEST_P (InlineDequeTest, MutableIteratorsWork)
The elements of a deque can be changed using its mutable iterators
Member arene::base::TYPED_TEST_P (InlineDequeTest, InspectWithReverseIterators)
Inspecting a deque using its reverse iterators yields the elements from back to front
Member arene::base::TYPED_TEST_P (InlineDequeTest, MutableReverseIteratorsWork)
The elements of a deque can be changed using its mutable reverse iterators
Member arene::base::TYPED_TEST_P (InlineDequeTest, BinaryPlusEquivalentToPlusEquals)
Using binary operator+ on an iterator gives the same result as using operator+= on a copy of it
Member arene::base::TYPED_TEST_P (InlineDequeTest, BinaryMinusEquivalentToMinusEquals)
Using binary operator- on an iterator and a difference gives the same result as using operator-= on them
Member arene::base::TYPED_TEST_P (InlineDequeTest, IteratorBracketOperatorEquivalentToBinaryPlus)
Using operator[] on an iterator gives the same result as using binary operator+ and unary operator*
Member arene::base::TYPED_TEST_P (InlineDequeTest, ContainerBracketOperatorEquivalentToIteratorBracketOperator)
Using operator[] on the deque gives the same result as using operator[] on begin()
Member arene::base::TYPED_TEST_P (InlineDequeTest, AnyIteratorDifferenceReturnsDistance)
Binary operator- between any two iterators returns the distance between them
Member arene::base::TYPED_TEST_P (InlineDequeTest, IteratorForwardMovementIsTheSameAsRepeatedIncrementing)
Incrementing an iterator all at once is the same as repeatedly incrementing it one step
Member arene::base::TYPED_TEST_P (InlineDequeTest, IteratorBackwardMovementIsTheSameAsRepeatedDecrementing)
Decrementing an iterator all at once is the same as repeatedly decrementing it one step
Member arene::base::TYPED_TEST_P (InlineDequeTest, IteratorsIncrementedOutOfBoundsBecomeEnd)
Incrementing an iterator by exactly enough to go out of bounds causes it to become the end iterator
Member arene::base::TYPED_TEST_P (InlineDequeTest, EmptyDequeBeginEqualsEnd)
When created on an empty deque, the begin and end pair of each iterator type equal each other
Member arene::base::TYPED_TEST_P (InlineDequeTest, IteratorsAreOrdered)
Iterators to the same deque are ordered with respect to each other in the way they're supposed to be
Member arene::base::TYPED_TEST_P (InlineDequeDeathTest, DereferencingEndIteratorIsPreconditionViolation)
Dereferencing the end iterator of any iterator type causes a crash
Member arene::base::TYPED_TEST_P (InlineDequeDeathTest, DereferencingBeginOfEmptyDequeIsPreconditionViolation)
When created on an empty deque, dereferencing the begin iterator of any iterator type causes a crash
Member arene::base::TYPED_TEST_P (InlineDequeDeathTest, DefaultConstructedIteratorCantBeUsed)
Default-constructed instances of any deque's iterators cause crashes when incremented or dereferenced
Member arene::base::TYPED_TEST_P (InlineDequeDeathTest, DefaultConstructedConstIteratorCantBeUsed)
Default-constructed instances of any deque's const iterators cause crashes when incremented or dereferenced
Member arene::base::TYPED_TEST_P (InlineDequeDeathTest, IteratorOrderingFromDifferentDequesIsPreconditionViolation)
Trying to compare iterators for ordering when they come from two different deques causes a crash
Member arene::base::TYPED_TEST_P (InlineDequeDeathTest, SubtractingIteratorByMinimumValueIsPreconditionViolation)
Trying to subtract the most negative possible difference from an iterator causes a precondition violation