Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Replace getters for reference to node values #481

Merged
merged 5 commits into from
Feb 5, 2025

Conversation

fktn-k
Copy link
Owner

@fktn-k fktn-k commented Feb 4, 2025

This PR added the following new functions to replace the existing get_value_ref() function. See reference pages for each of them for detailed information and example usages.

Also, get_value_ref() has been deprecated and will be removed in a future update.
See migration guide in the reference page for get_value_ref().

The reasons for the deprecation:

  • too verbose interface
    Although this function seems to take arbitrary types for reference, the accepted types are actually only (const) sequence_type&, (const) mapping_type&, (const) boolean_type&, (const) integer_type&, (const) float_number_type& and (const) string_type&.
  • not easy to understand until a library user gets used to the interface.
    Due to explicit reference type specification, the resulting code becomes unnecessarily long and seemingly complex in contrast to the internal implementation, i.e., just returning a reference to an appropriate type.

Pull Request Checklist

Read the CONTRIBUTING.md file for detailed information.

  • Changes are described in the pull request or in a referenced issue.
  • The test suite compiles and runs without any error.
  • The code coverage on your branch is 100%.
  • The documentation is updated if you added/changed a feature.

Please don't

  • The C++11 support varies between different compilers and versions. Please note the list of supported compilers. Some compilers like GCC 4.7 (and earlier), Clang 3.3 (and earlier), or Microsoft Visual Studio 13.0 and earlier are known not to work due to missing or incomplete C++11 support. Please refrain from proposing changes that work around these compiler's limitations with #ifdefs or other means.
  • Please refrain from proposing changes that would break YAML specifications. If you propose a conformant extension of YAML to be supported by the library, please motivate this extension.
  • Please do not open pull requests that address multiple issues.

@fktn-k fktn-k added the new feature new feature possibly with public API changes label Feb 4, 2025
@fktn-k fktn-k added this to the Release v0.4.3 milestone Feb 4, 2025
@fktn-k fktn-k self-assigned this Feb 4, 2025
Copy link

github-actions bot commented Feb 4, 2025

:octocat: Upload Coverage Event Notification

Coverage data has been uploaded for the commit ddae4e6cacf7bbce86d0f6062e256a7b7b8054be.
You can download the artifact which contains the same file uploaded to the Coveralls and its HTML version.

Name fkYAML_coverage.pr481.zip
ID 2542127107
URL https://github.com/fktn-k/fkYAML/actions/runs/13162136756/artifacts/2542127107

@fktn-k fktn-k merged commit 06dec7b into develop Feb 5, 2025
164 checks passed
@fktn-k fktn-k deleted the replace_value_ref_getters branch February 5, 2025 23:57
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
new feature new feature possibly with public API changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant