Advertisement
Guest User

Untitled

a guest
Apr 10th, 2020
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.40 KB | None | 0 0
  1. struct TTestData {
  2.     TA A;
  3.     TB B;
  4.     ... // next fields
  5. };
  6.  
  7. struct TTestState : private TTestData {
  8.     ... // some mutable methods
  9.     const TTestData& GetData() const {
  10.         return *static_cast<const TTestData*>(this);
  11.     }
  12. };
  13.  
  14. void SomeTest {
  15.     TTestState test;
  16.     const auto& [a, b, ...] = test.GetData();
  17.     test.MutableMethod1(...)
  18.         .MutableMethod2(...)
  19.         ...
  20.         .MutableMethodN(...);
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement