Skip to content

Commit 1b2a68e

Browse files
committed
List: Add data() method
1 parent ae122fc commit 1b2a68e

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

include/scratchcpp/list.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ class LIBSCRATCHCPP_EXPORT List : public Entity
3737
Monitor *monitor() const;
3838
void setMonitor(Monitor *monitor);
3939

40+
/*! Returns a pointer to the raw list data. */
41+
inline ValueData *data() const { return m_dataPtr->data(); }
42+
4043
/*! Returns the list size. */
4144
inline size_t size() const { return m_size; }
4245

test/scratch_classes/list_test.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,23 @@ TEST(ListTest, Monitor)
4040
ASSERT_EQ(list.monitor(), &monitor);
4141
}
4242

43+
TEST(ListTest, Data)
44+
{
45+
List list("", "");
46+
list.append("Lorem");
47+
list.append("ipsum");
48+
list.append("dolor");
49+
list.append("sit");
50+
list.append("amet");
51+
52+
ValueData *data = list.data();
53+
ASSERT_EQ(&data[0], &list[0]);
54+
ASSERT_EQ(&data[1], &list[1]);
55+
ASSERT_EQ(&data[2], &list[2]);
56+
ASSERT_EQ(&data[3], &list[3]);
57+
ASSERT_EQ(&data[4], &list[4]);
58+
}
59+
4360
TEST(ListTest, Size)
4461
{
4562
List list("", "test list");

0 commit comments

Comments
 (0)