Commit cb89acaa authored by Tomáš Jakubec's avatar Tomáš Jakubec
Browse files

member approach

parent 0c727f16
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
#include "../debug/Debug.h"
#include "../Unstructured_mesh/UnstructuredMesh/UnstructuredMesh.h"
#include "../Unstructured_mesh/UnstructuredMesh/MeshDataContainer/MemberApproach.h"
#include <functional>
#include <type_traits>
#include <iostream>
#include <list>
@@ -359,5 +360,9 @@ int main()
    DBGVAR(b2.first,b2.second);
    testMemberRef();

    std::function<int(int)> fce = [&b1](int i){return b1.data + 42 + i;};

    std::cout << fce(2);

    return 0;
}
+14 −0
Original line number Diff line number Diff line
@@ -3,6 +3,20 @@
#include <type_traits>
#include <utility>

template<typename Class, typename MA>
class MemberApproachBase{

    auto getValue(Class* c){
        return static_cast<MA*>(this)->getValue(c);
    }

    template<typename ValueType>
    void setValue(Class* c, const ValueType& val) {
        static_cast<MA*>(this)->setValue(c, val);
    }
};


template <typename Class, typename ValueType>
class MemberApproach{
public:
+1 −1
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.10.0, 2019-10-22T14:43:15. -->
<!-- Written by QtCreator 4.10.0, 2019-10-23T11:26:05. -->
<qtcreator>
 <data>
  <variable>EnvironmentId</variable>