| 83 | } |
| 84 | |
| 85 | bool failed() |
| 86 | { |
| 87 | for (Keys::const_iterator i = keys_.begin(); i != keys_.end(); ++i) { |
| 88 | if (!OpenDDS::DCPS::DDSTraits<T>::is_key(i->c_str())) { |
| 89 | const char* type_name = get_type_name<T>(); |
| 90 | ACE_ERROR((LM_ERROR, ACE_TEXT("ERROR: ") |
| 91 | ACE_TEXT("For DDSTraits<%C>::is_key(), expected %C to be a key, but it wasn't"), |
| 92 | type_name, i->c_str())); |
| 93 | failed_ = true; |
| 94 | } |
| 95 | } |
| 96 | failed_ |= assert_key_count<T>(keys_.size()); |
| 97 | return failed_; |
| 98 | } |
| 99 | |
| 100 | private: |
| 101 | typedef std::set<std::string> Keys; |