,ParentCluster(ElementToClone.ParentCluster) ///< \todo not exactly
{
// add a clone of the list
- auto Itr = ElementToClone.myBuffers.begin();
auto myItr = myBuffers.begin();
- while (Itr != ElementToClone.myBuffers.end()) {
- *myItr = (*Itr)->Clone();
- ++Itr; ++myItr;
+ for (const auto& buffer : ElementToClone.myBuffers) {
+ *myItr = buffer->Clone();
+ ++myItr;
}
}
return 0;
} else {
assert(TrackNumber < 0x4000);
- binary BlockHead[5], *cursor = BlockHead;
+ binary BlockHead[5];
+ auto cursor = BlockHead;
unsigned int i;
if (myBuffers.size() == 1) {
}
}
- binary *const BufferEnd = BufferStart + GetSize();
+ const auto BufferEnd = BufferStart + GetSize();
const size_t NumFrames = myBuffers.size();
// Sanity checks for frame pointers and boundaries.
for (size_t Index = 0; Index < NumFrames; ++Index) {
- binary *const FrameStart = myBuffers[Index]->Buffer();
- binary *const FrameEnd = FrameStart + myBuffers[Index]->Size();
- binary *const ExpectedEnd = (Index + 1) < NumFrames ? myBuffers[Index + 1]->Buffer() : BufferEnd;
+ const auto FrameStart = myBuffers[Index]->Buffer();
+ const auto FrameEnd = FrameStart + myBuffers[Index]->Size();
+ const auto ExpectedEnd = (Index + 1) < NumFrames ? myBuffers[Index + 1]->Buffer() : BufferEnd;
if ((FrameStart < BufferStart) || (FrameEnd > BufferEnd) || (FrameEnd != ExpectedEnd))
throw SafeReadIOCallback::EndOfStreamX(0);
Result = GetSize();
}
- } catch (SafeReadIOCallback::EndOfStreamX &) {
+ } catch (const SafeReadIOCallback::EndOfStreamX&) {
SetValueIsSet(false);
myBuffers.clear();
void KaxInternalBlock::ReleaseFrames()
{
// free the allocated Frames
- int i;
- for (i=myBuffers.size()-1; i>=0; i--) {
+ for (int i=myBuffers.size()-1; i>=0; i--) {
if (myBuffers[i] != nullptr) {
myBuffers[i]->FreeBuffer(*myBuffers[i]);
delete myBuffers[i];
,bSilentTracksUsed(ElementToClone.bSilentTracksUsed)
{
// update the parent of each children
- auto Itr = begin();
- while (Itr != end()) {
- if (EbmlId(**Itr) == EBML_ID(KaxBlockGroup)) {
- static_cast<KaxBlockGroup *>(*Itr)->SetParent(*this);
- } else if (EbmlId(**Itr) == EBML_ID(KaxBlock)) {
- static_cast<KaxBlock *>(*Itr)->SetParent(*this);
- } else if (EbmlId(**Itr) == EBML_ID(KaxBlockVirtual)) {
- static_cast<KaxBlockVirtual *>(*Itr)->SetParent(*this);
+ for (const auto& child : *this) {
+ if (EbmlId(*child) == EBML_ID(KaxBlockGroup)) {
+ static_cast<KaxBlockGroup *>(child)->SetParent(*this);
+ } else if (EbmlId(*child) == EBML_ID(KaxBlock)) {
+ static_cast<KaxBlock *>(child)->SetParent(*this);
+ } else if (EbmlId(*child) == EBML_ID(KaxBlockVirtual)) {
+ static_cast<KaxBlockVirtual *>(child)->SetParent(*this);
}
- ++Itr;
}
}
uint64 aPrevTime = 0;
uint64 aNextTime = EBML_PRETTYLONGINT(0xFFFFFFFFFFFF);
- EBML_MASTER_CONST_ITERATOR Itr;
- for (Itr = begin(); Itr != end(); ++Itr) {
- if (EbmlId(*(*Itr)) == EBML_ID(KaxCuePoint)) {
- auto tmp = static_cast<const KaxCuePoint *>(*Itr);
+ for (const auto& e : *this) {
+ if (EbmlId(*e) == EBML_ID(KaxCuePoint)) {
+ auto tmp = static_cast<const KaxCuePoint *>(e);
// check the tile
auto aTime = static_cast<const KaxCueTime *>(tmp->FindFirstElt(EBML_INFO(KaxCueTime)));
if (aTime != nullptr) {
// handle reference use
if (BlockReference.ReferenceCount() != 0) {
- unsigned int i;
- for (i=0; i<BlockReference.ReferenceCount(); i++) {
+ for (unsigned int i=0; i<BlockReference.ReferenceCount(); i++) {
auto & NewRefs = AddNewChild<KaxCueReference>(NewPositions);
NewRefs.AddReference(BlockReference.Reference(i).RefBlock(), GlobalTimecodeScale);
}
// parse all the Entries and find the first to match the type
auto aElt = static_cast<KaxSeek *>(FindFirstElt(EBML_INFO(KaxSeek)));
while (aElt != nullptr) {
- KaxSeekID * aId = nullptr;
- auto it = std::find_if(aElt->begin(), aElt->end(), [&](EbmlElement *Elt)
+ auto it = std::find_if(aElt->begin(), aElt->end(), [&](auto Elt)
{ return (EbmlId(*Elt) == EBML_ID(KaxSeekID)); });
if (it != aElt->end()) {
- aId = static_cast<KaxSeekID*>(*it);
+ const auto aId = static_cast<KaxSeekID*>(*it);
const auto aEbmlId = EbmlId(aId->GetBuffer(), aId->GetSize());
if (aEbmlId == EBML_INFO_ID(Callbacks)) {
return aElt;
:EbmlMaster(ElementToClone)
{
// update the parent of each children
- auto Itr = begin();
- while (Itr != end()) {
- if (EbmlId(**Itr) == EBML_ID(KaxCluster)) {
- static_cast<KaxCluster *>(*Itr)->SetParent(*this);
- }
- ++Itr;
- }
+ for (const auto& child : *this)
+ if (EbmlId(*child) == EBML_ID(KaxCluster))
+ static_cast<KaxCluster *>(child)->SetParent(*this);
}