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/STIssue.h>
29 #include <ripple/protocol/STObject.h>
30 #include <ripple/protocol/STPathSet.h>
31 #include <ripple/protocol/STVector256.h>
32 #include <ripple/protocol/impl/STVar.h>
49 if (other.
p_ !=
nullptr)
113 Throw<std::runtime_error>(
"Maximum nesting depth of STVar exceeded");
114 switch (name.fieldType)
117 construct<STBase>(name);
120 construct<STUInt8>(sit, name);
123 construct<STUInt16>(sit, name);
126 construct<STUInt32>(sit, name);
129 construct<STUInt64>(sit, name);
132 construct<STAmount>(sit, name);
135 construct<STUInt128>(sit, name);
138 construct<STUInt160>(sit, name);
141 construct<STUInt256>(sit, name);
144 construct<STVector256>(sit, name);
147 construct<STBlob>(sit, name);
150 construct<STAccount>(sit, name);
153 construct<STPathSet>(sit, name);
156 construct<STObject>(sit, name, depth);
159 construct<STArray>(sit, name, depth);
162 construct<STIssue>(sit, name);
165 Throw<std::runtime_error>(
"Unknown object type");
175 construct<STBase>(name);
178 construct<STUInt8>(name);
181 construct<STUInt16>(name);
184 construct<STUInt32>(name);
187 construct<STUInt64>(name);
190 construct<STAmount>(name);
193 construct<STUInt128>(name);
196 construct<STUInt160>(name);
199 construct<STUInt256>(name);
202 construct<STVector256>(name);
205 construct<STBlob>(name);
208 construct<STAccount>(name);
211 construct<STPathSet>(name);
214 construct<STObject>(name);
217 construct<STArray>(name);
220 construct<STIssue>(name);
223 Throw<std::runtime_error>(
"Unknown object type");