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