20 #include <ripple/basics/contract.h>
21 #include <ripple/protocol/STAccount.h>
22 #include <ripple/protocol/STAmount.h>
23 #include <ripple/protocol/STArray.h>
24 #include <ripple/protocol/STBase.h>
25 #include <ripple/protocol/STBitString.h>
26 #include <ripple/protocol/STBlob.h>
27 #include <ripple/protocol/STInteger.h>
28 #include <ripple/protocol/STObject.h>
29 #include <ripple/protocol/STPathSet.h>
30 #include <ripple/protocol/STVector256.h>
31 #include <ripple/protocol/impl/STVar.h>
48 if (other.
p_ !=
nullptr)
112 Throw<std::runtime_error>(
"Maximum nesting depth of STVar exceeded");
113 switch (name.fieldType)
116 construct<STBase>(name);
119 construct<STUInt8>(sit, name);
122 construct<STUInt16>(sit, name);
125 construct<STUInt32>(sit, name);
128 construct<STUInt64>(sit, name);
131 construct<STAmount>(sit, name);
134 construct<STUInt128>(sit, name);
137 construct<STUInt160>(sit, name);
140 construct<STUInt256>(sit, name);
143 construct<STVector256>(sit, name);
146 construct<STBlob>(sit, name);
149 construct<STAccount>(sit, name);
152 construct<STPathSet>(sit, name);
155 construct<STObject>(sit, name, depth);
158 construct<STArray>(sit, name, depth);
161 Throw<std::runtime_error>(
"Unknown object type");
171 construct<STBase>(name);
174 construct<STUInt8>(name);
177 construct<STUInt16>(name);
180 construct<STUInt32>(name);
183 construct<STUInt64>(name);
186 construct<STAmount>(name);
189 construct<STUInt128>(name);
192 construct<STUInt160>(name);
195 construct<STUInt256>(name);
198 construct<STVector256>(name);
201 construct<STBlob>(name);
204 construct<STAccount>(name);
207 construct<STPathSet>(name);
210 construct<STObject>(name);
213 construct<STArray>(name);
216 Throw<std::runtime_error>(
"Unknown object type");