28 #ifndef __RTTR_ARRAY_CONTAINER_BASE_H__
29 #define __RTTR_ARRAY_CONTAINER_BASE_H__
50 virtual ~array_container_base() {};
51 virtual bool is_dynamic()
const = 0;
52 virtual std::size_t get_rank()
const = 0;
53 virtual type get_rank_type(std::size_t index)
const = 0;
54 virtual type get_type()
const = 0;
55 virtual bool is_raw_array()
const = 0;
57 virtual std::size_t get_size()
const = 0;
58 virtual std::size_t get_size(std::size_t index_1)
const = 0;
59 virtual std::size_t get_size(std::size_t index_1, std::size_t index_2)
const = 0;
60 virtual std::size_t get_size_variadic(
const std::vector<std::size_t>& index_list)
const = 0;
62 virtual bool set_size(std::size_t new_size) = 0;
63 virtual bool set_size(std::size_t new_size, std::size_t index_1) = 0;
64 virtual bool set_size(std::size_t new_size, std::size_t index_1, std::size_t index_2) = 0;
65 virtual bool set_size_variadic(std::size_t new_size,
const std::vector<std::size_t>& index_list) = 0;
67 virtual bool set_value(argument& arg) = 0;
68 virtual bool set_value(argument& arg, std::size_t index_1) = 0;
69 virtual bool set_value(argument& arg, std::size_t index_1, std::size_t index_2) = 0;
70 virtual bool set_value(argument& arg, std::size_t index_1, std::size_t index_2, std::size_t index_3) = 0;
71 virtual bool set_value_variadic(argument& arg,
const std::vector<std::size_t>& index_list) = 0;
73 virtual variant get_value(std::size_t index_1)
const = 0;
74 virtual variant get_value(std::size_t index_1, std::size_t index_2)
const = 0;
75 virtual variant get_value(std::size_t index_1, std::size_t index_2, std::size_t index_3)
const = 0;
76 virtual variant get_value_variadic(
const std::vector<std::size_t>& index_list)
const = 0;
78 virtual bool insert_value(detail::argument& arg, std::size_t index_1) = 0;
79 virtual bool insert_value(detail::argument& arg, std::size_t index_1, std::size_t index_2) = 0;
80 virtual bool insert_value(detail::argument& arg, std::size_t index_1, std::size_t index_2, std::size_t index_3) = 0;
81 virtual bool insert_value_variadic(detail::argument& arg,
const std::vector<std::size_t>& index_list) = 0;
83 virtual bool remove_value(std::size_t index_1) = 0;
84 virtual bool remove_value(std::size_t index_1, std::size_t index_2) = 0;
85 virtual bool remove_value(std::size_t index_1, std::size_t index_2, std::size_t index_3) = 0;
86 virtual bool remove_value_variadic(
const std::vector<std::size_t>& index_list) = 0;
88 virtual array_container_base* clone()
const = 0;
89 virtual void* get_ptr()
const = 0;
95 #endif // __RTTR_ARRAY_CONTAINER_BASE_H__
#define RTTR_API
Definition: core_prerequisites.h:124