|
9 | 9 | #ifndef XWIDGETS_HOLDER_HPP
|
10 | 10 | #define XWIDGETS_HOLDER_HPP
|
11 | 11 |
|
| 12 | +#include <any> |
12 | 13 | #include <memory>
|
13 | 14 | #include <stdexcept>
|
14 | 15 | #include <string>
|
|
17 | 18 | #include <nlohmann/json.hpp>
|
18 | 19 | #include <xeus/xguid.hpp>
|
19 | 20 | #include <xeus/xmessage.hpp>
|
20 |
| -#include <xtl/xany.hpp> |
21 |
| -#include <xtl/xclosure.hpp> |
22 | 21 |
|
23 | 22 | #include "xbinary.hpp"
|
24 | 23 | #include "xwidgets_config.hpp"
|
@@ -74,8 +73,8 @@ namespace xw
|
74 | 73 | void serialize_state(nl::json& state, xeus::buffer_sequence& buffers) const;
|
75 | 74 | const std::vector<xjson_path_type>& buffer_paths() const;
|
76 | 75 |
|
77 |
| - xtl::any value() &; |
78 |
| - const xtl::any value() const&; |
| 76 | + std::any value() &; |
| 77 | + const std::any value() const&; |
79 | 78 |
|
80 | 79 | template <class D>
|
81 | 80 | D& get() &;
|
@@ -139,8 +138,8 @@ namespace xw
|
139 | 138 | virtual void serialize_state(nl::json& state, xeus::buffer_sequence& buffers) const = 0;
|
140 | 139 | virtual const std::vector<xjson_path_type>& buffer_paths() const = 0;
|
141 | 140 |
|
142 |
| - virtual xtl::any value() & = 0; |
143 |
| - virtual const xtl::any value() const& = 0; |
| 141 | + virtual std::any value() & = 0; |
| 142 | + virtual const std::any value() const& = 0; |
144 | 143 |
|
145 | 144 | protected:
|
146 | 145 |
|
@@ -196,14 +195,14 @@ namespace xw
|
196 | 195 | return m_value.buffer_paths();
|
197 | 196 | }
|
198 | 197 |
|
199 |
| - xtl::any value() & override |
| 198 | + std::any value() & override |
200 | 199 | {
|
201 |
| - return xtl::closure(m_value); |
| 200 | + return std::ref(m_value); |
202 | 201 | }
|
203 | 202 |
|
204 |
| - const xtl::any value() const& override |
| 203 | + const std::any value() const& override |
205 | 204 | {
|
206 |
| - return xtl::closure(m_value); |
| 205 | + return std::cref(m_value); |
207 | 206 | }
|
208 | 207 |
|
209 | 208 | private:
|
@@ -259,14 +258,14 @@ namespace xw
|
259 | 258 | return p_value->buffer_paths();
|
260 | 259 | }
|
261 | 260 |
|
262 |
| - xtl::any value() & override |
| 261 | + std::any value() & override |
263 | 262 | {
|
264 |
| - return xtl::closure(*p_value); |
| 263 | + return std::ref(*p_value); |
265 | 264 | }
|
266 | 265 |
|
267 |
| - const xtl::any value() const& override |
| 266 | + const std::any value() const& override |
268 | 267 | {
|
269 |
| - return xtl::closure(*p_value); |
| 268 | + return std::cref(*p_value); |
270 | 269 | }
|
271 | 270 |
|
272 | 271 | private:
|
@@ -326,14 +325,14 @@ namespace xw
|
326 | 325 | return p_value->buffer_paths();
|
327 | 326 | }
|
328 | 327 |
|
329 |
| - xtl::any value() & override |
| 328 | + std::any value() & override |
330 | 329 | {
|
331 |
| - return xtl::closure(*p_value); |
| 330 | + return std::ref(*p_value); |
332 | 331 | }
|
333 | 332 |
|
334 |
| - const xtl::any value() const& override |
| 333 | + const std::any value() const& override |
335 | 334 | {
|
336 |
| - return xtl::closure(*p_value); |
| 335 | + return std::cref(*p_value); |
337 | 336 | }
|
338 | 337 |
|
339 | 338 | private:
|
@@ -413,13 +412,13 @@ namespace xw
|
413 | 412 | template <class D>
|
414 | 413 | D& xholder::get() &
|
415 | 414 | {
|
416 |
| - return xtl::any_cast<xtl::closure_wrapper<D&>>(this->value()).get(); |
| 415 | + return std::any_cast<std::reference_wrapper<D>>(this->value()).get(); |
417 | 416 | }
|
418 | 417 |
|
419 | 418 | template <class D>
|
420 | 419 | const D& xholder::get() const&
|
421 | 420 | {
|
422 |
| - return xtl::any_cast<xtl::closure_wrapper<const D&>>(this->value()).get(); |
| 421 | + return std::any_cast<std::reference_wrapper<const D>>(this->value()).get(); |
423 | 422 | }
|
424 | 423 | }
|
425 | 424 |
|
|
0 commit comments