16 template <
typename Stream,
typename Operation>
19 static_assert(!IS_TRIVIALLY_CONSTRUCTIBLE<nontrivial_t>::value,
20 "expected nontrivial_t to not be trivially constructible");
23 static_assert(IS_TRIVIALLY_CONSTRUCTIBLE<trivial_t>::value,
24 "expected trivial_t to be trivially constructible");
30 for (
auto x = 0; x < 1000; ++x) {
44 for (
auto x = 0; x < 1000; ++x) {
61 for (
auto x = 0; x < 1000; ++x) {
76 for (
auto x = 0; x < 900; ++x) {
80 for (
auto x = 0; x < 101; ++x) {
85 for (
auto x = 0; x < 1000; ++x) {
92 #define PREVECTOR_TEST(name, nontrivops, trivops) \ 93 static void Prevector ## name ## Nontrivial(benchmark::State& state) { \ 94 Prevector ## name<nontrivial_t>(state); \ 96 BENCHMARK(Prevector ## name ## Nontrivial, nontrivops); \ 97 static void Prevector ## name ## Trivial(benchmark::State& state) { \ 98 Prevector ## name<trivial_t>(state); \ 100 BENCHMARK(Prevector ## name ## Trivial, trivops);
void resize(size_type new_size)
Double ended buffer combining vector and stream-like interfaces.
#define PREVECTOR_TEST(name, nontrivops, trivops)
#define ADD_SERIALIZE_METHODS
Implement three methods for serializable objects.
Implements a drop-in replacement for std::vector<T> which stores up to N elements directly (without h...
ADD_SERIALIZE_METHODS void SerializationOp(Stream &s, Operation ser_action)