53 virtual std::unique_ptr<Object>
NewCopy()
const;
79 virtual std::unique_ptr<Object>
NewCopy()
const;
108 virtual std::unique_ptr<Object>
NewCopy()
const;
121 template <
class T,
class _Tc>
127 template <
class StrType>
128 const bool ToNumber(
double& out)
const;
131 const bool ToNumber<std::string>(
double& out)
const
134 double value = strtod(str.c_str(), &end);
135 if (end == str.c_str())
return false;
141 const bool ToNumber<std::wstring>(
double& out)
const
144 double value = wcstod(str.c_str(), &end);
145 if (end == str.c_str())
return false;
161 virtual std::unique_ptr<Object>
NewCopy()
const
177 success = ToNumber<T>(val);
178 if (success) out->reset(
new ObjNumber(val));
183 success = ToNumber<T>(val);
185 if (val == 0 || val == 1) out->reset(
new ObjBool(val == 1));
186 else success =
false;
210 std::vector<BYTE> data;
218 virtual std::unique_ptr<Object>
NewCopy()
const;
227 typedef std::pair<Object::unique_ptr, Object::unique_ptr>
pair_t;
228 typedef std::map<Object::unique_ptr, Object::unique_ptr>
table_t;
233 void CopyTable(
const ObjTable& other);
239 ObjTable(
const std::map<std::string, std::string>& table);
240 ObjTable(
const std::map<std::string, std::unique_ptr<Object>>& table);
241 ObjTable(
const std::vector<std::string>& data,
size_t firstkey);
249 virtual std::unique_ptr<Object>
NewCopy()
const;
252 table_t::const_iterator
begin()
const;
253 table_t::const_iterator
end()
const;
266 std::vector<DWORD>
FindSignatures(LPBYTE sigBuffer, LPBYTE sigWildCard,