Files
scylla/idl/idl_test.idl.hh
Benny Halevy da4f0aae37 idl-compiler: add include statements
For generating #include directives in the generated files,
so we don't have to hand-craft include the dependencies
in the right order.

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
2022-08-08 08:02:27 +03:00

91 lines
1.9 KiB
C++

/*
* Copyright 2016-present ScyllaDB
*/
/*
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
// TODO: test final types more
#include "idl/uuid.idl.hh"
class simple_compound {
uint32_t foo;
uint32_t bar;
};
class writable_final_simple_compound final stub [[writable]] {
uint32_t foo;
uint32_t bar;
};
class writable_simple_compound stub [[writable]] {
uint32_t foo;
uint32_t bar;
};
struct wrapped_vector {
std::vector<simple_compound> vector;
};
struct vectors_of_compounds {
std::vector<simple_compound> first;
wrapped_vector second;
};
struct writable_wrapped_vector stub [[writable]] {
std::vector<simple_compound> vector;
};
struct writable_vectors_of_compounds stub [[writable]] {
std::vector<writable_simple_compound> first;
writable_wrapped_vector second;
};
struct writable_vector stub [[writable]] {
std::vector<simple_compound> vector;
};
struct writable_variants stub [[writable]] {
int id;
boost::variant<writable_vector, simple_compound, writable_final_simple_compound> first;
boost::variant<writable_vector, simple_compound, writable_final_simple_compound> second;
boost::variant<writable_vector, simple_compound, writable_final_simple_compound> third;
};
struct compound_with_optional {
std::optional<simple_compound> first;
simple_compound second;
};
class non_final_composite_test_object {
simple_compound x();
};
class final_composite_test_object final {
simple_compound x();
};
struct empty_struct { };
struct empty_final_struct final { };
struct just_a_variant stub [[writable]] {
std::variant<writable_simple_compound, simple_compound> variant;
};
template <typename T>
struct const_template_arg_wrapper {
T x;
}
struct const_template_arg_test_object {
std::vector<const_template_arg_wrapper<const simple_compound>> first;
};
struct frozen_object stub [[writable]] {
utils::UUID id;
};