23 #ifndef _RECORD_DESCRIPTOR_HPP_ 24 #define _RECORD_DESCRIPTOR_HPP_ 77 void set_recdes (
const recdes &rec);
89 const recdes &get_recdes (
void)
const;
91 const char *get_data (
void)
const;
92 std::size_t get_size (
void)
const;
93 char *get_data_for_modify (
void);
96 void set_data (
const char *data, std::size_t size);
98 void set_data_to_object (
const T &t);
100 void set_record_length (std::size_t length);
101 void set_type (std::int16_t type);
108 void modify_data (std::size_t offset, std::size_t old_size, std::size_t new_size,
const char *new_data);
111 void delete_data (std::size_t offset, std::size_t data_size);
114 void insert_data (std::size_t offset, std::size_t new_size,
const char *new_data);
117 void move_data (std::size_t dest_offset, std::size_t source_offset);
121 std::size_t get_packed_size (
cubpacking::packer &packer, std::size_t curr_offset)
const override;
128 void resize_buffer (std::size_t size);
130 void set_external_buffer (
char *buf, std::size_t buf_size);
131 template <std::
size_t S>
133 void release_buffer (
char *&data, std::size_t &size);
138 void check_changes_are_permitted (
void)
const;
139 bool is_mutable ()
const;
163 template <std::
size_t S>
167 m_own_data.freemem ();
168 m_recdes.area_size = membuf.
SIZE;
169 m_recdes.data = membuf.
get_ptr ();
170 m_data_source = data_source::NEW;
173 template <
typename T>
177 set_data (reinterpret_cast<const char *> (&t),
sizeof (t));
180 #endif // !_RECORD_DESCRIPTOR_HPP_
void set_external_buffer(char *buf, std::size_t buf_size)
void set_data_to_object(const T &t)
const block_allocator PRIVATE_BLOCK_ALLOCATOR
cubmem::extensible_block m_own_data
static enum scanner_mode mode
data_source m_data_source