FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

GitHub Viewer

#include "SliceOf.h" #include "SliceOf.carray.h" #include "SliceOf.store.h" #include using namespace array19; void constexpr_SliceOf_test() { constexpr static int a[3] = {1, 2, 3}; constexpr auto s = sliceOfCArray(a); static_assert(s.count() == 3); static_assert(s[1] == 2); constexpr auto sum = [&] { auto r = 0; for (auto v : s) r += v; return r; }(); static_assert(sum == 6); } TEST(SliceOf, Access) { int a[3] = {1, 2, 3}; auto s = sliceOfCArray(a); EXPECT_EQ(s.count(), 3u); EXPECT_EQ(s[1], 2); auto sum = 0; for (auto v : s) sum += v; EXPECT_EQ(sum, 6); } void mutable_SliceOf_test() { constexpr auto sa = [] { int a[] = {1, 2, 3}; auto s = amendSliceOfCArray(a); s[1] = 5; return storeSlice(s); }(); static_assert(sa[1] == 5); } TEST(SliceOf, Mutate) { int a[] = {1, 2, 3, 4}; auto s = amendSliceOfCArray(a); s[1] = 5; EXPECT_EQ(a[1], 5); auto sa = storeSlice(s); EXPECT_EQ(sa[1], 5); EXPECT_EQ(sa[3], 4); }

Back | FazBrowse Home | New Git URL