Go to the documentation of this file.
28 #ifndef RTTR_VARIANT_SEQUENTIAL_VIEW_H_
29 #define RTTR_VARIANT_SEQUENTIAL_VIEW_H_
31 #include "rttr/detail/base/core_prerequisites.h"
32 #include "rttr/detail/misc/misc_type_traits.h"
34 #include "rttr/detail/variant_sequential_view/variant_sequential_view_private.h"
95 class RTTR_API variant_sequential_view
105 variant_sequential_view();
110 variant_sequential_view(
const variant_sequential_view& other);
117 ~variant_sequential_view() RTTR_NOEXCEPT;
132 bool is_valid() const RTTR_NOEXCEPT;
141 explicit operator
bool() const RTTR_NOEXCEPT;
156 type get_type() const RTTR_NOEXCEPT;
165 type get_value_type() const RTTR_NOEXCEPT;
172 bool is_empty() const RTTR_NOEXCEPT;
183 bool is_dynamic() const RTTR_NOEXCEPT;
196 std::
size_t get_rank() const RTTR_NOEXCEPT;
209 type get_rank_type(std::
size_t index) const RTTR_NOEXCEPT;
216 std::
size_t get_size() const RTTR_NOEXCEPT;
225 bool set_size(std::
size_t size) const RTTR_NOEXCEPT;
254 bool set_value(std::
size_t index,
argument arg);
266 variant get_value(std::
size_t index) const;
340 const variant operator*()
const;
348 const variant get_data()
const;
417 const_iterator(
const detail::variant_sequential_view_private* view) RTTR_NOEXCEPT;
422 const detail::variant_sequential_view_private* m_view;
423 detail::iterator_data m_itr;
429 detail::variant_sequential_view_private m_view;
434 #endif // RTTR_VARIANT_SEQUENTIAL_VIEW_H_
The variant_sequential_view describes a class that refers to an sequence container (e....
Definition: variant_sequential_view.h:118
std::basic_string< CharT, Traits > operator+(basic_string_view< CharT, Traits > lhs, const std::basic_string< CharT, Traits > &rhs)
Definition: access_levels.h:32
detail::enum_data< Enum_Type > value(string_view, Enum_Type value)
The value function should be used to add a mapping from enum name to value during the registration pr...
The variant_sequential_view::const_iterator allows iteration over an sequential container in a varian...
Definition: variant_sequential_view.h:333
constexpr bool operator==(basic_string_view< CharT, Traits > lhs, basic_string_view< CharT, Traits > rhs) noexcept
Compares the two views lhs and rhs.
The variant class allows to store data of any type and convert between these types transparently.
Definition: variant.h:220
The type class holds the type information for any arbitrary object.
Definition: type.h:193
constexpr bool operator!=(basic_string_view< CharT, Traits > lhs, basic_string_view< CharT, Traits > rhs) noexcept
Compares the two views lhs and rhs.
The argument class is used for forwarding arguments to properties or methods.
Definition: argument.h:74