diff --git a/src/frame/frame_base.cpp b/src/frame/frame_base.cpp index 549b1435222c8cda2c0615a54632d6c8c5b63840..4b278bf8bf8ef16eca8ea61ed4702d85358b6730 100644 --- a/src/frame/frame_base.cpp +++ b/src/frame/frame_base.cpp @@ -21,13 +21,11 @@ FrameBase::FrameBase(const TimeStamp& _ts, frame_id_(++frame_id_count_), time_stamp_(_ts) { - for (const auto& pair_key_vec : _state) - { - const auto& key = pair_key_vec.first; - const auto& vec = pair_key_vec.second; - - StateBlockPtr sb = FactoryStateBlock::create(string(1,key), vec, false); // false = non fixed + assert(_state.includesStructure(_frame_structure) && "_state does not include all keys of _frame_structure"); + for (auto key : getStructure()) + { + StateBlockPtr sb = FactoryStateBlock::create(string(1,key), _state.at(key), false); // false = non fixed addStateBlock(key, sb, getProblem()); } }