15#ifndef WSFPPROXYVISITOR_HPP
16#define WSFPPROXYVISITOR_HPP
33 template<
typename FUNC>
36 std::vector<std::pair<WsfPProxyValue, WsfPProxyValue>> stack;
37 stack.push_back(std::make_pair(aParent, aValue));
38 while (!stack.empty())
40 auto top = stack.back();
43 if (aFunc(val, top.first))
53 for (
size_t i = 0; i < listPtr->
Size(); ++i)
55 stack.push_back(std::make_pair(val, listPtr->
Get(i)));
66 for (
size_t i = 0; i < memberCount; ++i)
79 for (
auto i = vals.begin(); i != vals.end(); ++i)
81 stack.push_back(std::make_pair(val, i->second));
95 template<
typename FUNC>
111 for (
size_t i = 0; i < listPtr->
Size(); ++i)
129 for (
size_t i = 0; i < memberCount; ++i)
148 for (
auto i = vals.begin(); i != vals.end(); ++i)
150 const std::string& valName = i->first;
Definition WsfPProxyList.hpp:34
size_t Size()
Definition WsfPProxyList.cpp:25
WsfPProxyValue Get(size_t aIndex)
Definition WsfPProxyList.cpp:67
Definition WsfPProxyNode.hpp:60
WsfPProxyValue GetValue() const
Definition WsfPProxyNode.cpp:79
WsfPProxyNode & ToParent()
Definition WsfPProxyNode.hpp:228
Definition WsfPProxyObjectMap.hpp:36
std::map< std::string, WsfPProxyValue > & GetValues()
Definition WsfPProxyObjectMap.hpp:74
Definition WsfPProxyStructType.hpp:33
WsfPProxyValue GetAtIndex(void *aDataPtr, size_t aIndex) const override
Definition WsfPProxyStructType.hpp:97
size_t GetMemberCount() const
Definition WsfPProxyStructType.hpp:147
Definition WsfPProxyType.hpp:37
int mTypeKind
Definition WsfPProxyType.hpp:56
Definition WsfPProxyValue.hpp:33
WsfPProxyList * GetList() const
Definition WsfPProxyValue.cpp:67
WsfPProxyObjectMap * GetObjectMap() const
Definition WsfPProxyValue.cpp:76
bool IsUnset() const
Definition WsfPProxyValue.cpp:151
const WsfPProxyType * GetType() const
Definition WsfPProxyValue.hpp:61
void * GetDataPtr() const
Definition WsfPProxyValue.hpp:60
Definition WsfPProxyVisitor.hpp:27
static void VisitNodes(FUNC &aFunc, WsfPProxyNode aNode)
Definition WsfPProxyVisitor.hpp:96
static void Visit(FUNC &aFunc, WsfPProxyValue aValue, WsfPProxyValue aParent=WsfPProxyValue())
Definition WsfPProxyVisitor.hpp:34
@ cOBJECT_MAP
Definition WsfPProxyCommon.hpp:42
@ cLIST
Definition WsfPProxyCommon.hpp:41
@ cSTRUCT
Definition WsfPProxyCommon.hpp:40