1//
2// immer: immutable data structures for C++
3// Copyright (C) 2016, 2017, 2018 Juan Pedro Bolivar Puente
4//
5// This software is distributed under the Boost Software License, Version 1.0.
6// See accompanying file LICENSE or copy at http://boost.org/LICENSE_1_0.txt
7//
8
9#include <immer/flex_vector.hpp>
10#include <immer/flex_vector_transient.hpp>
11#include <immer/vector.hpp>
12#include <immer/vector_transient.hpp>
13#include <immer/heap/gc_heap.hpp>
14#include <immer/refcount/no_refcount_policy.hpp>
15
16using gc_memory = immer::memory_policy<
17 immer::heap_policy<immer::gc_heap>,
18 immer::no_refcount_policy,
19 immer::gc_transience_policy,
20 false>;
21
22template <typename T>
23using test_flex_vector_t = immer::flex_vector<T, gc_memory, 3u>;
24
25template <typename T>
26using test_vector_t = immer::vector<T, gc_memory, 3u>;
27
28template <typename T>
29using test_flex_vector_transient_t = immer::flex_vector_transient<T, gc_memory, 3u>;
30
31#define FLEX_VECTOR_T test_flex_vector_t
32#define FLEX_VECTOR_TRANSIENT_T test_flex_vector_transient_t
33#define VECTOR_T test_vector_t
34#include "generic.ipp"
35