19 #ifndef PDB_ATTACCESSLAMBDACREATIONFUNCTIONS_H
20 #define PDB_ATTACCESSLAMBDACREATIONFUNCTIONS_H
41 template <
typename ReturnType,
typename ClassType>
48 PDB_COUT <<
"makeLambdaUsingMember: input type code is " << var.getExactTypeInfoValue() << std::endl;
65 #define makeLambdaFromMember(VAR, MEMBER) \
66 (makeLambdaUsingMember( \
67 getTypeName<std::remove_reference<decltype(*VAR)>::type>(), \
68 std::string(#MEMBER), \
69 getTypeName<typename std::remove_reference<decltype(VAR->MEMBER)>::type>(), \
71 (decltype(VAR->MEMBER)*)someRandomPointer, \
72 ((char*)&(((std::remove_reference<decltype(*VAR)>::type*)someRandomPointer)->MEMBER)) - \
73 (char*)someRandomPointer))
77 #endif //PDB_ATTACCESSLAMBDACREATIONFUNCTIONS_H
LambdaTree< Ptr< ReturnType > > makeLambdaUsingMember(std::string inputTypeName, std::string attName, std::string attType, Handle< ClassType > &var, ReturnType *member, size_t offset)