@@ -75,7 +75,7 @@ class meta_sequence_container {
7575private:
7676 const meta_ctx *ctx{};
7777 internal::meta_type_node (*value_type_node)(const internal::meta_context &){};
78- size_type (*vtable)(const operation, const void *, void *, iterator *){};
78+ size_type (*vtable)(const operation, const void *, const void *, iterator *){};
7979 any storage{};
8080};
8181
@@ -1782,15 +1782,15 @@ class meta_associative_container::meta_iterator final {
17821782 * @return True in case of success, false otherwise.
17831783 */
17841784inline bool meta_sequence_container::resize (const size_type sz) {
1785- return (storage.policy () != any_policy::cref) && vtable (operation::resize, &sz, storage.data (), nullptr );
1785+ return (storage.policy () != any_policy::cref) && vtable (operation::resize, storage.data (), &sz , nullptr );
17861786}
17871787
17881788/* *
17891789 * @brief Clears the content of a container.
17901790 * @return True in case of success, false otherwise.
17911791 */
17921792inline bool meta_sequence_container::clear () {
1793- return (storage.policy () != any_policy::cref) && vtable (operation::clear, nullptr , storage.data (), nullptr );
1793+ return (storage.policy () != any_policy::cref) && vtable (operation::clear, storage.data (), nullptr , nullptr );
17941794}
17951795
17961796/* *
@@ -1799,7 +1799,7 @@ inline bool meta_sequence_container::clear() {
17991799 * @return True in case of success, false otherwise.
18001800 */
18011801inline bool meta_sequence_container::reserve (const size_type sz) {
1802- return (storage.policy () != any_policy::cref) && vtable (operation::reserve, &sz, storage.data (), nullptr );
1802+ return (storage.policy () != any_policy::cref) && vtable (operation::reserve, storage.data (), &sz , nullptr );
18031803}
18041804
18051805/* *
@@ -1808,8 +1808,7 @@ inline bool meta_sequence_container::reserve(const size_type sz) {
18081808 */
18091809[[nodiscard]] inline meta_sequence_container::iterator meta_sequence_container::begin () {
18101810 iterator it{*ctx};
1811- const void *data = std::as_const (storage).data ();
1812- vtable (operation::begin, data, storage.policy () == any_policy::cref ? nullptr : const_cast <void *>(data), &it);
1811+ vtable (storage.policy () == any_policy::cref ? operation::cbegin : operation::begin, std::as_const (storage).data (), nullptr , &it);
18131812 return it;
18141813}
18151814
@@ -1819,8 +1818,7 @@ inline bool meta_sequence_container::reserve(const size_type sz) {
18191818 */
18201819[[nodiscard]] inline meta_sequence_container::iterator meta_sequence_container::end () {
18211820 iterator it{*ctx};
1822- const void *data = std::as_const (storage).data ();
1823- vtable (operation::end, data, storage.policy () == any_policy::cref ? nullptr : const_cast <void *>(data), &it);
1821+ vtable (storage.policy () == any_policy::cref ? operation::cend : operation::end, std::as_const (storage).data (), nullptr , &it);
18241822 return it;
18251823}
18261824
@@ -1831,7 +1829,7 @@ inline bool meta_sequence_container::reserve(const size_type sz) {
18311829 * @return A possibly invalid iterator to the inserted element.
18321830 */
18331831inline meta_sequence_container::iterator meta_sequence_container::insert (iterator it, meta_any value) {
1834- return ((storage.policy () != any_policy::cref) && vtable (operation::insert, &value, storage.data (), &it)) ? it : iterator{*ctx};
1832+ return ((storage.policy () != any_policy::cref) && vtable (operation::insert, storage.data (), &value , &it)) ? it : iterator{*ctx};
18351833}
18361834
18371835/* *
@@ -1840,7 +1838,7 @@ inline meta_sequence_container::iterator meta_sequence_container::insert(iterato
18401838 * @return A possibly invalid iterator following the last removed element.
18411839 */
18421840inline meta_sequence_container::iterator meta_sequence_container::erase (iterator it) {
1843- return ((storage.policy () != any_policy::cref) && vtable (operation::erase, nullptr , storage.data (), &it)) ? it : iterator{*ctx};
1841+ return ((storage.policy () != any_policy::cref) && vtable (operation::erase, storage.data (), nullptr , &it)) ? it : iterator{*ctx};
18441842}
18451843
18461844/* *
0 commit comments