mirror of
https://github.com/biojppm/rapidyaml.git
synced 2026-01-18 21:41:18 +01:00
[fix] ensure deprecated message is shown
This commit is contained in:
@@ -19,7 +19,7 @@
|
|||||||
nr = cnr; // ERROR: cannot obtain NodeRef from ConstNodeRef
|
nr = cnr; // ERROR: cannot obtain NodeRef from ConstNodeRef
|
||||||
cnr = nr; // ok
|
cnr = nr; // ok
|
||||||
```
|
```
|
||||||
Naturally, use of `ConstNodeRef` needs to be propagated through client code. One such place is when deserializing types:
|
The use of `ConstNodeRef` also needs to be propagated through client code. One such place is when deserializing types:
|
||||||
```c++
|
```c++
|
||||||
// needs to be changed from:
|
// needs to be changed from:
|
||||||
template<class T> bool read(ryml::NodeRef const& n, T *var);
|
template<class T> bool read(ryml::NodeRef const& n, T *var);
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
```
|
```
|
||||||
- The initial version of `ConstNodeRef/NodeRef` had the problem that const methods in the CRTP base did not participate in overload resolution ([#294](https://github.com/biojppm/rapidyaml/issues/294)), preventing calls from `const NodeRef` objects. This was fixed by moving non-const methods to the CRTP base and disabling them with SFINAE ([PR#295](https://github.com/biojppm/rapidyaml/pull/295)).
|
- The initial version of `ConstNodeRef/NodeRef` had the problem that const methods in the CRTP base did not participate in overload resolution ([#294](https://github.com/biojppm/rapidyaml/issues/294)), preventing calls from `const NodeRef` objects. This was fixed by moving non-const methods to the CRTP base and disabling them with SFINAE ([PR#295](https://github.com/biojppm/rapidyaml/pull/295)).
|
||||||
- Also added disambiguation iteration methods: `.cbegin()`, `.cend()`, `.cchildren()`, `.csiblings()` ([PR#295](https://github.com/biojppm/rapidyaml/pull/295)).
|
- Also added disambiguation iteration methods: `.cbegin()`, `.cend()`, `.cchildren()`, `.csiblings()` ([PR#295](https://github.com/biojppm/rapidyaml/pull/295)).
|
||||||
- Deprecate `emit()` and `emitrs()` ([#120](https://github.com/biojppm/rapidyaml/issues/120), [PR#303](https://github.com/biojppm/rapidyaml/pull/303)): use `emit_yaml()` and `emitrs_yaml()` instead. This was done to improve compatibility with Qt, which leaks a macro named `emit`. For more information, see .
|
- Deprecate `emit()` and `emitrs()` ([#120](https://github.com/biojppm/rapidyaml/issues/120), [PR#303](https://github.com/biojppm/rapidyaml/pull/303)): use `emit_yaml()` and `emitrs_yaml()` instead. This was done to improve compatibility with Qt, which leaks a macro named `emit`. For more information, see [#120](https://github.com/biojppm/rapidyaml/issues/120).
|
||||||
|
|
||||||
|
|
||||||
### Performance improvements
|
### Performance improvements
|
||||||
|
|||||||
@@ -44,9 +44,9 @@
|
|||||||
# define RYML_DEPRECATED(msg) [[deprecated(msg)]]
|
# define RYML_DEPRECATED(msg) [[deprecated(msg)]]
|
||||||
#else
|
#else
|
||||||
# if defined(_MSC_VER)
|
# if defined(_MSC_VER)
|
||||||
# define RYML_DEPRECATED(msg) __declspec(deprecated)
|
# define RYML_DEPRECATED(msg) __declspec(deprecated(msg))
|
||||||
# else // defined(__GNUC__) || defined(__clang__)
|
# else // defined(__GNUC__) || defined(__clang__)
|
||||||
# define RYML_DEPRECATED(msg) __attribute__((deprecated))
|
# define RYML_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ public:
|
|||||||
/** @{ */
|
/** @{ */
|
||||||
|
|
||||||
// READ THE NOTE ABOVE!
|
// READ THE NOTE ABOVE!
|
||||||
#define RYML_DONT_PARSE_SUBSTR_IN_ARENA "Do not pass a (mutable) substr to parse_in_arena(); if you have a substr, it should be parsed in place. Consider using parse_in_place() instead, or convert the buffer to csubstr prior to calling. This function is deliberately left undefined and will cause a compiler error."
|
#define RYML_DONT_PARSE_SUBSTR_IN_ARENA "Do not pass a (mutable) substr to parse_in_arena(); if you have a substr, it should be parsed in place. Consider using parse_in_place() instead, or convert the buffer to csubstr prior to calling. This function is deliberately left undefined and will cause a linker error."
|
||||||
RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) Tree parse_in_arena(csubstr filename, substr csrc);
|
RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) Tree parse_in_arena(csubstr filename, substr csrc);
|
||||||
RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) void parse_in_arena(csubstr filename, substr csrc, Tree *t);
|
RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) void parse_in_arena(csubstr filename, substr csrc, Tree *t);
|
||||||
RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) void parse_in_arena(csubstr filename, substr csrc, Tree *t, size_t node_id);
|
RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) void parse_in_arena(csubstr filename, substr csrc, Tree *t, size_t node_id);
|
||||||
|
|||||||
Reference in New Issue
Block a user