| 1211 | #endif |
| 1212 | |
| 1213 | Value::Members |
| 1214 | Value::getMemberNames() const |
| 1215 | { |
| 1216 | JSON_ASSERT( type_ == nullValue || type_ == objectValue ); |
| 1217 | if ( type_ == nullValue ) |
| 1218 | return Value::Members(); |
| 1219 | Members members; |
| 1220 | members.reserve( value_.map_->size() ); |
| 1221 | #ifndef JSON_VALUE_USE_INTERNAL_MAP |
| 1222 | ObjectValues::const_iterator it = value_.map_->begin(); |
| 1223 | ObjectValues::const_iterator itEnd = value_.map_->end(); |
| 1224 | for ( ; it != itEnd; ++it ) |
| 1225 | members.push_back( std::string( (*it).first.c_str() ) ); |
| 1226 | #else |
| 1227 | ValueInternalMap::IteratorState it; |
| 1228 | ValueInternalMap::IteratorState itEnd; |
| 1229 | value_.map_->makeBeginIterator( it ); |
| 1230 | value_.map_->makeEndIterator( itEnd ); |
| 1231 | for ( ; !ValueInternalMap::equals( it, itEnd ); ValueInternalMap::increment(it) ) |
| 1232 | members.push_back( std::string( ValueInternalMap::key( it ) ) ); |
| 1233 | #endif |
| 1234 | return members; |
| 1235 | } |
| 1236 | // |
| 1237 | //# ifdef JSON_USE_CPPTL |
| 1238 | //EnumMemberNames |