Menu

#548 Enhance vector expansion syntax

v1.1.x
closed
None
v1.1.3
New Functionality
2021-03-22
2020-12-01
Erik Hänel
No

Enhance the vector expansion syntax by enabling recursive expressions like

{A:B,C,D:E,...}

Analysis:

Modifying ParserBase::evaluateVectorExpansion() by adding a envelopping loop for each argument will do most of the trick. However, there's a small but significant issue with StringView and MutableStringView, because the first is not yet convertable to the latter. A solution might be to add a make_mutable() member function, which will return a MutableStringView by const_casting the const away. Second possibility would be to drop the StringView support and using plain std::strings.

Implementation:

  • Implementation: The implementation was processed as a combination of the two possibilities mentioned by the analysis.
  • Revision: [r803]
  • Implementation test: Different vector expansions were calculated without any deviations.

Documentation:

  • [x] ChangesLog updated
  • [x] Code changes commented
  • Documentation articles:
    • [x] corresponding documentation articles updated
    • [ ] new documentation articles created
    • [ ] not needed
  • Language files:
    • [ ] corresponding language files updated
    • [x] not needed

Tests:

Added to the SW tests. Tests run without any deviation.

Related

Commit: [r803]

Discussion

  • Erik Hänel

    Erik Hänel - 2020-12-01
    • status: open --> accepted
     
  • Erik Hänel

    Erik Hänel - 2020-12-02
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,3 +1,25 @@
     Enhance the vector expansion syntax by enabling recursive expressions like 
    
         {A:B,C,D:E,...}
    +
    +###Analysis:
    +(*Describe, what's the issue and which changes have to be made*)
    +
    +###Implementation:
    +* Implementation: (*Describe, what you've changed*) 
    +* Revision: [rXXX]
    +* Implementation test: (*Describe the type of test, which you performed, and if it was successful*)
    +
    +###Documentation:
    +* [ ] ChangesLog updated
    +* [ ] Code changes commented
    +* **Documentation articles:**
    
    +    * [ ] corresponding documentation articles updated
    +    * [ ] new documentation articles created
    +    * [ ] not needed
    +* **Language files:**
    +    * [ ] corresponding language files updated
    +    * [ ] not needed
    +
    +###Tests:
    +(*Describe, which tests you performed and their outcome*)
    
    • status: accepted --> analyzing
     
  • Erik Hänel

    Erik Hänel - 2020-12-03
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -3,7 +3,7 @@
         {A:B,C,D:E,...}
    
     ###Analysis:
    -(*Describe, what's the issue and which changes have to be made*)
    +Modifying `ParserBase::evaluateVectorExpansion()` by adding a envelopping loop for each argument will do most of the trick. However, there's a small but significant issue with `StringView` and `MutableStringView`, because the first is not yet convertable to the latter. A solution might be to add a `make_mutable()` member function, which will return a `MutableStringView` by `const_cast`ing the `const` away. Second possibility would be to drop the `StringView` support and using plain `std::string`s.
    
     ###Implementation:
    
     * Implementation: (*Describe, what you've changed*) 
    
    • status: analyzing --> implementing
     
  • Erik Hänel

    Erik Hänel - 2020-12-03
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -6,20 +6,20 @@
     Modifying `ParserBase::evaluateVectorExpansion()` by adding a envelopping loop for each argument will do most of the trick. However, there's a small but significant issue with `StringView` and `MutableStringView`, because the first is not yet convertable to the latter. A solution might be to add a `make_mutable()` member function, which will return a `MutableStringView` by `const_cast`ing the `const` away. Second possibility would be to drop the `StringView` support and using plain `std::string`s.
    
     ###Implementation:
    -* Implementation: (*Describe, what you've changed*) 
    -* Revision: [rXXX]
    -* Implementation test: (*Describe the type of test, which you performed, and if it was successful*)
    +* Implementation: The implementation was processed as a combination of the two possibilities mentioned by the analysis.
    +* Revision: [r803]
    +* Implementation test: Different vector expansions were calculated without any deviations.
    
     ###Documentation:
    -* [ ] ChangesLog updated
    -* [ ] Code changes commented
    +* [x] ChangesLog updated
    +* [x] Code changes commented
    
     * **Documentation articles:**
    -    * [ ] corresponding documentation articles updated
    +    * [x] corresponding documentation articles updated
         * [ ] new documentation articles created
         * [ ] not needed
     * **Language files:**
         * [ ] corresponding language files updated
    -    * [ ] not needed
    +    * [x] not needed
    
     ###Tests:
     (*Describe, which tests you performed and their outcome*)
    
    • status: implementing --> testing
     

    Related

    Commit: [r803]

  • Erik Hänel

    Erik Hänel - 2021-03-22
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -22,4 +22,4 @@
    
         * [x] not needed
    
     ###Tests:
    -(*Describe, which tests you performed and their outcome*)
    +Added to the SW tests. Tests run without any deviation.
    
    • status: testing --> closed
     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB