Skip to content

Commit

Permalink
Format everything with clang-format
Browse files Browse the repository at this point in the history
  • Loading branch information
arximboldi committed May 1, 2020
1 parent f742654 commit 1ecd9f6
Show file tree
Hide file tree
Showing 114 changed files with 5,238 additions and 4,212 deletions.
45 changes: 22 additions & 23 deletions example/array/array.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,49 +7,48 @@
//

#include <immer/array.hpp>

#include <cassert>

int main()
{
{
// include:push-back/start
// include:push-back/start
auto v1 = immer::array<int>{1};
auto v2 = v1.push_back(8);

assert((v1 == immer::array<int>{1}));
assert((v2 == immer::array<int>{1,8}));
// include:push-back/end
assert((v2 == immer::array<int>{1, 8}));
// include:push-back/end
}

{
// include:set/start
auto v1 = immer::array<int>{1,2,3};
auto v2 = v1.set(0,5);
// include:set/start
auto v1 = immer::array<int>{1, 2, 3};
auto v2 = v1.set(0, 5);

assert((v1 == immer::array<int>{1,2,3}));
assert((v2 == immer::array<int>{5,2,3}));
// include:set/end
assert((v1 == immer::array<int>{1, 2, 3}));
assert((v2 == immer::array<int>{5, 2, 3}));
// include:set/end
}

{
// include:update/start
auto v1 = immer::array<int>{1,2,3,4};
auto v2 = v1.update(2, [&] (auto l) {
return ++l;
});

assert((v1 == immer::array<int>{1,2,3,4}));
assert((v2 == immer::array<int>{1,2,4,4}));
// include:update/end
// include:update/start
auto v1 = immer::array<int>{1, 2, 3, 4};
auto v2 = v1.update(2, [&](auto l) { return ++l; });

assert((v1 == immer::array<int>{1, 2, 3, 4}));
assert((v2 == immer::array<int>{1, 2, 4, 4}));
// include:update/end
}

{
// include:take/start
auto v1 = immer::array<int>{1,2,3,4,5,6};
// include:take/start
auto v1 = immer::array<int>{1, 2, 3, 4, 5, 6};
auto v2 = v1.take(3);

assert((v1 == immer::array<int>{1,2,3,4,5,6}));
assert((v2 == immer::array<int>{1,2,3}));
// include:take/end
assert((v1 == immer::array<int>{1, 2, 3, 4, 5, 6}));
assert((v2 == immer::array<int>{1, 2, 3}));
// include:take/end
}
}
9 changes: 4 additions & 5 deletions example/box/box.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,19 @@
//

#include <immer/box.hpp>

#include <cassert>
#include <string>

int main()
{
{
// include:update/start
// include:update/start
auto v1 = immer::box<std::string>{"hello"};
auto v2 = v1.update([&] (auto l) {
return l + ", world!";
});
auto v2 = v1.update([&](auto l) { return l + ", world!"; });

assert((v1 == immer::box<std::string>{"hello"}));
assert((v2 == immer::box<std::string>{"hello, world!"}));
// include:update/end
// include:update/end
}
}
93 changes: 46 additions & 47 deletions example/flex-vector/flex-vector.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,98 +7,97 @@
//

#include <immer/flex_vector.hpp>

#include <cassert>

int main()
{
{
// include:push-back/start
// include:push-back/start
auto v1 = immer::flex_vector<int>{1};
auto v2 = v1.push_back(8);

assert((v1 == immer::flex_vector<int>{1}));
assert((v2 == immer::flex_vector<int>{1,8}));
// include:push-back/end
assert((v2 == immer::flex_vector<int>{1, 8}));
// include:push-back/end
}
{
// include:push-front/start
// include:push-front/start
auto v1 = immer::flex_vector<int>{1};
auto v2 = v1.push_front(8);

assert((v1 == immer::flex_vector<int>{1}));
assert((v2 == immer::flex_vector<int>{8,1}));
// include:push-front/end
assert((v2 == immer::flex_vector<int>{8, 1}));
// include:push-front/end
}

{
// include:set/start
auto v1 = immer::flex_vector<int>{1,2,3};
auto v2 = v1.set(0,5);
// include:set/start
auto v1 = immer::flex_vector<int>{1, 2, 3};
auto v2 = v1.set(0, 5);

assert((v1 == immer::flex_vector<int>{1,2,3}));
assert((v2 == immer::flex_vector<int>{5,2,3}));
// include:set/end
assert((v1 == immer::flex_vector<int>{1, 2, 3}));
assert((v2 == immer::flex_vector<int>{5, 2, 3}));
// include:set/end
}

{
// include:update/start
auto v1 = immer::flex_vector<int>{1,2,3,4};
auto v2 = v1.update(2, [&] (auto l) {
return ++l;
});

assert((v1 == immer::flex_vector<int>{1,2,3,4}));
assert((v2 == immer::flex_vector<int>{1,2,4,4}));
// include:update/end
// include:update/start
auto v1 = immer::flex_vector<int>{1, 2, 3, 4};
auto v2 = v1.update(2, [&](auto l) { return ++l; });

assert((v1 == immer::flex_vector<int>{1, 2, 3, 4}));
assert((v2 == immer::flex_vector<int>{1, 2, 4, 4}));
// include:update/end
}

{
// include:take/start
auto v1 = immer::flex_vector<int>{1,2,3,4,5,6};
// include:take/start
auto v1 = immer::flex_vector<int>{1, 2, 3, 4, 5, 6};
auto v2 = v1.take(3);

assert((v1 == immer::flex_vector<int>{1,2,3,4,5,6}));
assert((v2 == immer::flex_vector<int>{1,2,3}));
// include:take/end
assert((v1 == immer::flex_vector<int>{1, 2, 3, 4, 5, 6}));
assert((v2 == immer::flex_vector<int>{1, 2, 3}));
// include:take/end
}

{
// include:drop/start
auto v1 = immer::flex_vector<int>{1,2,3,4,5,6};
// include:drop/start
auto v1 = immer::flex_vector<int>{1, 2, 3, 4, 5, 6};
auto v2 = v1.drop(3);

assert((v1 == immer::flex_vector<int>{1,2,3,4,5,6}));
assert((v2 == immer::flex_vector<int>{4,5,6}));
// include:drop/end
assert((v1 == immer::flex_vector<int>{1, 2, 3, 4, 5, 6}));
assert((v2 == immer::flex_vector<int>{4, 5, 6}));
// include:drop/end
}

{
// include:insert/start
auto v1 = immer::flex_vector<int>{1,2,3};
auto v2 = v1.insert(0,0);
// include:insert/start
auto v1 = immer::flex_vector<int>{1, 2, 3};
auto v2 = v1.insert(0, 0);

assert((v1 == immer::flex_vector<int>{1,2,3}));
assert((v2 == immer::flex_vector<int>{0,1,2,3}));
// include:insert/end
assert((v1 == immer::flex_vector<int>{1, 2, 3}));
assert((v2 == immer::flex_vector<int>{0, 1, 2, 3}));
// include:insert/end
}

{
// include:erase/start
auto v1 = immer::flex_vector<int>{1,2,3,4,5};
// include:erase/start
auto v1 = immer::flex_vector<int>{1, 2, 3, 4, 5};
auto v2 = v1.erase(2);

assert((v1 == immer::flex_vector<int>{1,2,3,4,5}));
assert((v2 == immer::flex_vector<int>{1,2,4,5}));
// include:erase/end
assert((v1 == immer::flex_vector<int>{1, 2, 3, 4, 5}));
assert((v2 == immer::flex_vector<int>{1, 2, 4, 5}));
// include:erase/end
}

{
// include:concat/start
auto v1 = immer::flex_vector<int>{1,2,3};
// include:concat/start
auto v1 = immer::flex_vector<int>{1, 2, 3};
auto v2 = v1 + v1;

assert((v1 == immer::flex_vector<int>{1,2,3}));
assert((v2 == immer::flex_vector<int>{1,2,3,1,2,3}));
// include:concat/end
assert((v1 == immer::flex_vector<int>{1, 2, 3}));
assert((v2 == immer::flex_vector<int>{1, 2, 3, 1, 2, 3}));
// include:concat/end
}
}
20 changes: 11 additions & 9 deletions example/vector/fizzbuzz.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,28 @@
//

#include <immer/vector.hpp>
#include <string>

#include <iostream>
#include <string>

// include:fizzbuzz/start
immer::vector<std::string> fizzbuzz(immer::vector<std::string> v, int first, int last)
immer::vector<std::string>
fizzbuzz(immer::vector<std::string> v, int first, int last)
{
for (auto i = first; i < last; ++i)
v = std::move(v).push_back(
i % 15 == 0 ? "FizzBuzz" :
i % 5 == 0 ? "Bizz" :
i % 3 == 0 ? "Fizz" :
/* else */ std::to_string(i));
i % 15 == 0 ? "FizzBuzz"
: i % 5 == 0 ? "Bizz"
: i % 3 == 0 ? "Fizz" :
/* else */ std::to_string(i));
return v;
}
// include:fizzbuzz/end

int main()
{
auto v = fizzbuzz({}, 0, 100);
std::copy(v.begin(), v.end(),
std::ostream_iterator<std::string>{
std::cout, "\n"});
std::copy(v.begin(),
v.end(),
std::ostream_iterator<std::string>{std::cout, "\n"});
}
19 changes: 9 additions & 10 deletions example/vector/gc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,17 @@
// include:example/start
#include <immer/heap/gc_heap.hpp>
#include <immer/heap/heap_policy.hpp>
#include <immer/refcount/no_refcount_policy.hpp>
#include <immer/memory_policy.hpp>
#include <immer/refcount/no_refcount_policy.hpp>
#include <immer/vector.hpp>

#include <iostream>

// declare a memory policy for using a tracing garbage collector
using gc_policy = immer::memory_policy<
immer::heap_policy<immer::gc_heap>,
immer::no_refcount_policy,
immer::gc_transience_policy,
false>;
using gc_policy = immer::memory_policy<immer::heap_policy<immer::gc_heap>,
immer::no_refcount_policy,
immer::gc_transience_policy,
false>;

// alias the vector type so we are not concerned about memory policies
// in the places where we actually use it
Expand All @@ -29,10 +28,10 @@ using my_vector = immer::vector<T, gc_policy>;

int main()
{
auto v = my_vector<const char*>()
.push_back("hello, ")
.push_back("world!\n");
auto v =
my_vector<const char*>().push_back("hello, ").push_back("world!\n");

for (auto s : v) std::cout << s;
for (auto s : v)
std::cout << s;
}
// include:example/end
4 changes: 1 addition & 3 deletions example/vector/iota-move.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,5 @@ immer::vector<int> myiota(immer::vector<int> v, int first, int last)
int main()
{
auto v = myiota({}, 0, 100);
std::copy(v.begin(), v.end(),
std::ostream_iterator<int>{
std::cout, "\n"});
std::copy(v.begin(), v.end(), std::ostream_iterator<int>{std::cout, "\n"});
}
4 changes: 1 addition & 3 deletions example/vector/iota-slow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,5 @@ immer::vector<int> myiota(immer::vector<int> v, int first, int last)
int main()
{
auto v = myiota({}, 0, 100);
std::copy(v.begin(), v.end(),
std::ostream_iterator<int>{
std::cout, "\n"});
std::copy(v.begin(), v.end(), std::ostream_iterator<int>{std::cout, "\n"});
}
12 changes: 5 additions & 7 deletions example/vector/iota-transient-std.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,22 @@

#include <immer/vector.hpp>
#include <immer/vector_transient.hpp>
#include <iostream>

#include <algorithm>
#include <iostream>

// include:myiota/start
immer::vector<int> myiota(immer::vector<int> v, int first, int last)
{
auto t = v.transient();
std::generate_n(std::back_inserter(t),
last - first,
[&] { return first++; });
std::generate_n(
std::back_inserter(t), last - first, [&] { return first++; });
return t.persistent();
}
// include:myiota/end

int main()
{
auto v = myiota({}, 0, 100);
std::copy(v.begin(), v.end(),
std::ostream_iterator<int>{
std::cout, "\n"});
std::copy(v.begin(), v.end(), std::ostream_iterator<int>{std::cout, "\n"});
}
4 changes: 1 addition & 3 deletions example/vector/iota-transient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,5 @@ immer::vector<int> myiota(immer::vector<int> v, int first, int last)
int main()
{
auto v = myiota({}, 0, 100);
std::copy(v.begin(), v.end(),
std::ostream_iterator<int>{
std::cout, "\n"});
std::copy(v.begin(), v.end(), std::ostream_iterator<int>{std::cout, "\n"});
}
4 changes: 2 additions & 2 deletions example/vector/move.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
// See accompanying file LICENSE or copy at http://boost.org/LICENSE_1_0.txt
//

#include <immer/vector.hpp>
#include <cassert>
#include <immer/vector.hpp>

// include:move-bad/start
immer::vector<int> do_stuff(const immer::vector<int> v)
Expand All @@ -25,7 +25,7 @@ immer::vector<int> do_stuff_better(immer::vector<int> v)

int main()
{
auto v = immer::vector<int>{};
auto v = immer::vector<int>{};
auto v1 = do_stuff(v);
auto v2 = do_stuff_better(v);
assert(v1.size() == 1);
Expand Down
Loading

0 comments on commit 1ecd9f6

Please sign in to comment.