inline bool JsonObject::operator ==(const JsonObject& object) const { if(m_members.size() != object.m_members.size()) { return false; } for(const auto& member : m_members) { boost::optional<const JsonValue&> value = object.Get(member.first); if(!value.is_initialized() || !(*value == *member.second)) { return false; } } return true; }