6 #include "testing/testing.h"
7 #include <forward_list>
30 char *
ptr = &(*vec)[0];
33 const char magic = 42;
65 std::array<float, 5> values = {5.4f, 7.3f, -8.1f, 5.0f, 0.0f};
104 std::forward_list<int> list;
137 EXPECT_NE(vec1.
data(), vec2.
data());
151 EXPECT_NE(vec1.
data(), vec2.
data());
162 EXPECT_NE(vec1.
data(), vec2.
data());
286 std::forward_list<int> list = {8, 9};
287 vec.
extend(list.begin(), list.end());
289 EXPECT_EQ_ARRAY(vec.
data(),
Span({3, 4, 5, 8, 9}).
data(), 5);
296 for (
int value : vec) {
305 for (
int i = 0; i < 100; i++) {
309 for (
int i = 0; i < 100; i++) {
310 EXPECT_EQ(vec[i],
static_cast<int>(i * 5));
427 int array[] = {3, 4, 5, 6};
446 a.append_n_times(5, 3);
447 a.append_n_times(2, 2);
459 vec.
append(std::make_unique<int>());
460 vec.
append(std::make_unique<int>());
461 vec.
append(std::make_unique<int>());
462 vec.
append(std::make_unique<int>());
465 std::unique_ptr<int> &
a = vec.
last();
466 std::unique_ptr<int> b = vec.
pop_last();
496 if (
this == &other) {
506 if (
this == &other) {
518 EXPECT_TRUE(vec[0].default_constructed);
519 EXPECT_TRUE(vec[1].default_constructed);
520 EXPECT_TRUE(vec[2].default_constructed);
526 EXPECT_TRUE(vec[0].copy_constructed);
527 EXPECT_TRUE(vec[1].copy_constructed);
528 EXPECT_TRUE(vec[2].copy_constructed);
536 EXPECT_TRUE(vec[0].copy_constructed);
543 EXPECT_TRUE(vec[0].move_constructed);
550 EXPECT_TRUE(dst[0].copy_constructed);
551 EXPECT_TRUE(dst[1].copy_constructed);
558 EXPECT_TRUE(dst[0].copy_constructed);
559 EXPECT_TRUE(dst[1].copy_constructed);
566 EXPECT_TRUE(dst[0].move_constructed);
567 EXPECT_TRUE(dst[1].move_constructed);
575 EXPECT_TRUE(dst[0].default_constructed);
576 EXPECT_FALSE(dst[0].move_constructed);
577 EXPECT_FALSE(dst[0].copy_constructed);
582 std::string long_string =
"012345678901234567890123456789";
589 vec.
resize(5, long_string);
622 for (
int i = 0; i < 100; i++) {
654 EXPECT_EQ_ARRAY(vec.
data(),
Span({6, 7, 1, 2, 3}).
data(), 5);
662 EXPECT_EQ_ARRAY(vec.
data(),
Span({1, 2, 3, 6, 7}).
data(), 5);
670 EXPECT_EQ_ARRAY(vec.
data(),
Span({1, 6, 7, 2, 3}).
data(), 5);
685 vec.
append(std::make_unique<int>(1));
686 vec.
append(std::make_unique<int>(2));
687 vec.
insert(1, std::make_unique<int>(30));
699 EXPECT_EQ_ARRAY(vec.
data(),
Span({7, 8, 1, 2, 3}).
data(), 5);
706 for (
auto it = vec.
rbegin(); it != vec.
rend(); ++it) {
710 EXPECT_EQ_ARRAY(reversed_vec.
data(),
Span({7, 6, 5, 4}).
data(), 4);
722 std::array<ExceptionThrower, 5> values;
723 values[3].throw_during_copy =
true;
730 vec[2].throw_during_move =
true;
740 EXPECT_ANY_THROW({ vec.
append(value); });
749 std::array<ExceptionThrower, 10> values;
750 values[6].throw_during_copy =
true;
751 EXPECT_ANY_THROW({ vec.
extend(values); });
758 std::array<ExceptionThrower, 5> values;
759 values[3].throw_during_copy =
true;
760 EXPECT_ANY_THROW({ vec.
insert(7, values); });
767 vec[8].throw_during_move =
true;
768 std::array<ExceptionThrower, 5> values;
769 EXPECT_ANY_THROW({ vec.
insert(3, values); });
775 vec.
last().throw_during_move =
true;
776 EXPECT_ANY_THROW({ vec.
pop_last(); });
783 vec.
last().throw_during_move =
true;
791 vec[8].throw_during_move =
true;
792 EXPECT_ANY_THROW({ vec.
remove(2); });
823 vec[5].throw_during_move =
true;
824 EXPECT_ANY_THROW({ vec.
remove(2, 3); });
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
Strict compiler flags for areas of code we want to ensure don't do conversions without us knowing abo...
Group RGB to Bright Vector Camera Vector Combine Material Light Line Style Layer Add Ambient Diffuse Glossy Refraction Transparent Toon Principled Hair Volume Principled Light Particle Volume Image Sky Noise Wave Voronoi Brick Texture Vector Combine Vertex Separate Vector White RGB Map Separate Set Z Dilate Combine Combine Color Channel Split ID Combine Luminance Directional Alpha Distance Hue Movie Ellipse Bokeh View Corner Anti Mix RGB Hue Separate TEX_NODE_PROC TEX_NODE_PROC TEX_NODE_PROC TEX_NODE_PROC TEX_NODE_PROC Boolean Random Edge Subdivision Point Object Attribute Attribute Fill
ATTR_WARN_UNUSED_RESULT const BMVert * v
constexpr const T * data() const
constexpr const T * begin() const
std::reverse_iterator< T * > rbegin()
void remove_and_reorder(const int64_t index)
int64_t append_and_get_index(const T &value)
void append(const T &value)
void insert(const int64_t insert_index, const T &value)
void remove(const int64_t index)
void remove_first_occurrence_and_reorder(const T &value)
void resize(const int64_t new_size)
int64_t first_index_of(const T &value) const
std::reverse_iterator< T * > rend()
void reserve(const int64_t min_capacity)
void extend(Span< T > array)
void prepend(const T &&value)
void extend_non_duplicates(Span< T > array)
void append_non_duplicates(const T &value)
void fill(const T &value) const
int64_t first_index_of_try(const T &value) const
TypeConstructMock(const TypeConstructMock &UNUSED(other))
TypeConstructMock & operator=(TypeConstructMock &&other) noexcept
TypeConstructMock & operator=(const TypeConstructMock &other)
TypeConstructMock(TypeConstructMock &&UNUSED(other)) noexcept
static Vector< int > return_by_value_helper()
TEST(array, DefaultConstructor)
_W64 unsigned int uintptr_t
static int magic(const Tex *tex, const float texvec[3], TexResult *texres)