Comments (6)
Since it seems to fit with both the design of the library and the code we decided to implement a getter called basic_value::variant()
instead of basic_value::visit()
, which is more flexible.
from json.
It seems to be easy, please try with the latest commit - and let's hope that I didn't miss any important reason why it can't always be so easy :-)
from json.
Are we sure we want to do it this way? We could also expose the variant with an accessor (getter) and instead of v.visit( vis );
you'd write std::visit( vis, v.variant() );
. Benefit: You can have visitors to visit multiple variants at once, the exposed variant can be queried for .index()
, etc. and you can use other standard methods on it. I guess the real question we need to ask is: How much is m_variant
an implementation detail or how much do we want to expose it?
(I even considered deriving from std::variant
briefly, but that might have other implications.)
from json.
alternatively, specializing or providing the interface needed for std::visit (std::get and index I believe?)
from json.
Unfortunately that is not allowed, std::get
is not a customization point from the standard's point of view. (I would have preferred it, but yeah, not allowed)
from json.
@d-frey Yes, how far do we want to expose the variant? I guess at this point there aren't too many reasons to keep it private? We advertise as being standard containers based, we use the standard string classes, so we might as well complete the picture. And then offering a getter could replace visit()
.
from json.
Related Issues (20)
- How to write cbor/jaxn/msgpack and other file ? HOT 1
- demangle.hpp build failure for MSVC HOT 1
- How can we improve tao-json performance ? HOT 2
- transforming unsigned to chrono::duration HOT 2
- the conan package at https://conan.io/center/taocpp-json missing to/from_nolhmann.hpp files HOT 2
- Stack-overflow occured when parsing a bad json file HOT 2
- why isn't to/from_nolhmann.hpp files are excluded from contrib folder on release HOT 1
- Binding questions HOT 14
- Issues using 1.0.0-beta.13 with C++20 HOT 5
- About the first stable version of Taojson HOT 1
- looks like `tao::json::value::operator[]` doesn't accept string as a key HOT 3
- simple json program won't compile on raspberry pi bullseye HOT 6
- feature request: std::string_view as first argument to TAO_JSON_BIND_REQUIRED HOT 3
- `rewind_mode::dontcare` not implemented in PEGTL? HOT 1
- Reset Event consumer? HOT 2
- Question: conditionally group bindings in a trait?
- json main cannot be compiled with PEGTL main
- Question: nesting binding::object in one binding trait definition possible/supported? HOT 3
- traits: ability to define what optional means HOT 7
- Benchmarks? HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from json.