std::ostream& ossimNitfJ2klraTag::print(std::ostream& out, const std::string& prefix) const { std::string pfx = prefix; pfx += getTagName(); pfx += "."; out << setiosflags(ios::left) << pfx << std::setw(24) << "CETAG:" << getTagName() << "\n" << pfx << std::setw(24) << "CEL:" << getTagLength() << "\n" << pfx << std::setw(24) << "ORIG:" << m_orig << "\n" << pfx << std::setw(24) << "NLEVELS_O:" << m_levels_o << "\n" << pfx << std::setw(24) << "NBANDS_O:" << m_bands_o << "\n" << pfx << std::setw(24) << "NLAYERS_O:" << m_layers_o << "\n"; ossim_uint32 size = m_layer.size(); for ( ossim_uint32 i = 0; i < size; ++i ) { out << pfx << "LAYER_ID[" << i << std::setw(14) << "]:" << m_layer[i].m_layer_id << "\n" << pfx << "BITRATE[" << i << std::setw(15) << "]:" << m_layer[i].m_bitrate << "\n"; } // Conditional: if ( isParsed() ) { out << pfx << std::setw(24) << "NLEVELS_I:" << m_nlevels_i << "\n" << pfx << std::setw(24) << "NBANDS_I_SIZE:" << m_nbands_i << "\n" << pfx << std::setw(24) << "NLAYERS_I:" << m_nlayers_i << "\n"; } return out; }
PassRefPtr<FunctionBodyNode> Worklist::waitAndGetParsedNode(ParsingKey key) { { MutexLocker locker(m_lock); PlanMap::iterator iter = m_plans.find(key); if (iter == m_plans.end()) return 0; if (iter->value->stage == Plan::Parsed) return iter->value->body.release(); m_update = false; } do { while (!m_update) {} } while (!isParsed(key)); { MutexLocker locker(m_lock); PlanMap::iterator iter = m_plans.find(key); RELEASE_ASSERT(iter != m_plans.end()); return iter->value->body.release(); } }
void ossimNitfJ2klraTag::writeStream(std::ostream& out) { out.write(m_orig, ORIG_SIZE); out.write(m_levels_o, NLEVELS_O_SIZE); out.write(m_bands_o, NBANDS_O_SIZE); out.write(m_layers_o, NLAYERS_O_SIZE); ossim_uint32 size = m_layer.size(); for ( ossim_uint32 i = 0; i < size; ++i ) { out.write(m_layer[i].m_layer_id, LAYER_ID_SIZE); out.write(m_layer[i].m_bitrate, BITRATE_SIZE); } // Conditional: if ( isParsed() ) { out.write(m_nlevels_i, NLEVELS_I_SIZE); out.write(m_nbands_i, NBANDS_I_SIZE); out.write(m_nlayers_i, NLAYERS_I_SIZE); } }
void ossimNitfJ2klraTag::parseStream(std::istream& in) { clearFields(); in.read(m_orig, ORIG_SIZE); in.read(m_levels_o, NLEVELS_O_SIZE); in.read(m_bands_o, NBANDS_O_SIZE); in.read(m_layers_o, NLAYERS_O_SIZE); ossim_uint32 layers = getNumberOfLayersOriginal(); if ( layers && (layers < 1000) ) // 999 max { m_layer.resize(layers); for ( ossim_uint32 i = 0; i < layers; ++i ) { in.read(m_layer[i].m_layer_id, LAYER_ID_SIZE); in.read(m_layer[i].m_bitrate, BITRATE_SIZE); m_layer[i].m_layer_id[LAYER_ID_SIZE] = '\0'; m_layer[i].m_bitrate[BITRATE_SIZE] = '\0'; } } else { m_layer.clear(); } // Conditional: if ( isParsed() ) { in.read(m_nlevels_i, NLEVELS_I_SIZE); in.read(m_nbands_i, NBANDS_I_SIZE); in.read(m_nlayers_i, NLAYERS_I_SIZE); } // Set the base tag length. setTagLength( getSizeInBytes() ); }