layers: Remove use of map at() function from descriptor_set class
diff --git a/layers/descriptor_sets.cpp b/layers/descriptor_sets.cpp
index f4d896d..0f80c5f 100644
--- a/layers/descriptor_sets.cpp
+++ b/layers/descriptor_sets.cpp
@@ -65,9 +65,11 @@
 }
 VkDescriptorSetLayoutBinding const *
 cvdescriptorset::DescriptorSetLayout::GetDescriptorSetLayoutBindingPtrFromBinding(const uint32_t binding) const {
-    if (!binding_to_index_map_.count(binding))
-        return nullptr;
-    return bindings_.at(binding_to_index_map_.at(binding))->ptr();
+    const auto &bi_itr = binding_to_index_map_.find(binding);
+    if (bi_itr != binding_to_index_map_.end()) {
+        return bindings_[bi_itr->second]->ptr();
+    }
+    return nullptr;
 }
 VkDescriptorSetLayoutBinding const *
 cvdescriptorset::DescriptorSetLayout::GetDescriptorSetLayoutBindingPtrFromIndex(const uint32_t index) const {
@@ -77,9 +79,11 @@
 }
 // Return descriptorCount for given binding, 0 if index is unavailable
 uint32_t cvdescriptorset::DescriptorSetLayout::GetDescriptorCountFromBinding(const uint32_t binding) const {
-    if (!binding_to_index_map_.count(binding))
-        return 0;
-    return bindings_.at(binding_to_index_map_.at(binding))->descriptorCount;
+    const auto &bi_itr = binding_to_index_map_.find(binding);
+    if (bi_itr != binding_to_index_map_.end()) {
+        return bindings_[bi_itr->second]->descriptorCount;
+    }
+    return 0;
 }
 // Return descriptorCount for given index, 0 if index is unavailable
 uint32_t cvdescriptorset::DescriptorSetLayout::GetDescriptorCountFromIndex(const uint32_t index) const {
@@ -90,7 +94,11 @@
 // For the given binding, return descriptorType
 VkDescriptorType cvdescriptorset::DescriptorSetLayout::GetTypeFromBinding(const uint32_t binding) const {
     assert(binding_to_index_map_.count(binding));
-    return bindings_.at(binding_to_index_map_.at(binding))->descriptorType;
+    const auto &bi_itr = binding_to_index_map_.find(binding);
+    if (bi_itr != binding_to_index_map_.end()) {
+        return bindings_[bi_itr->second]->descriptorType;
+    }
+    return VK_DESCRIPTOR_TYPE_MAX_ENUM;
 }
 // For the given index, return descriptorType
 VkDescriptorType cvdescriptorset::DescriptorSetLayout::GetTypeFromIndex(const uint32_t index) const {
@@ -112,22 +120,40 @@
 // For the given binding, return stageFlags
 VkShaderStageFlags cvdescriptorset::DescriptorSetLayout::GetStageFlagsFromBinding(const uint32_t binding) const {
     assert(binding_to_index_map_.count(binding));
-    return bindings_.at(binding_to_index_map_.at(binding))->stageFlags;
+    const auto &bi_itr = binding_to_index_map_.find(binding);
+    if (bi_itr != binding_to_index_map_.end()) {
+        return bindings_[bi_itr->second]->stageFlags;
+    }
+    return VkShaderStageFlags(0);
 }
 // For the given binding, return start index
 uint32_t cvdescriptorset::DescriptorSetLayout::GetGlobalStartIndexFromBinding(const uint32_t binding) const {
     assert(binding_to_global_start_index_map_.count(binding));
-    return binding_to_global_start_index_map_.at(binding);
+    const auto &btgsi_itr = binding_to_global_start_index_map_.find(binding);
+    if (btgsi_itr != binding_to_global_start_index_map_.end()) {
+        return btgsi_itr->second;
+    }
+    // In error case max uint32_t so index is out of bounds to break ASAP
+    return 0xFFFFFFFF;
 }
 // For the given binding, return end index
 uint32_t cvdescriptorset::DescriptorSetLayout::GetGlobalEndIndexFromBinding(const uint32_t binding) const {
     assert(binding_to_global_end_index_map_.count(binding));
-    return binding_to_global_end_index_map_.at(binding);
+    const auto &btgei_itr = binding_to_global_end_index_map_.find(binding);
+    if (btgei_itr != binding_to_global_end_index_map_.end()) {
+        return btgei_itr->second;
+    }
+    // In error case max uint32_t so index is out of bounds to break ASAP
+    return 0xFFFFFFFF;
 }
 // For given binding, return ptr to ImmutableSampler array
 VkSampler const *cvdescriptorset::DescriptorSetLayout::GetImmutableSamplerPtrFromBinding(const uint32_t binding) const {
     assert(binding_to_index_map_.count(binding));
-    return bindings_.at(binding_to_index_map_.at(binding))->pImmutableSamplers;
+    const auto &bi_itr = binding_to_index_map_.find(binding);
+    if (bi_itr != binding_to_index_map_.end()) {
+        return bindings_[bi_itr->second]->pImmutableSamplers;
+    }
+    return nullptr;
 }
 // For given index, return ptr to ImmutableSampler array
 VkSampler const *cvdescriptorset::DescriptorSetLayout::GetImmutableSamplerPtrFromIndex(const uint32_t index) const {
@@ -185,15 +211,22 @@
 bool cvdescriptorset::DescriptorSetLayout::IsNextBindingConsistent(const uint32_t binding) const {
     if (!binding_to_index_map_.count(binding + 1))
         return false;
-    auto type = bindings_.at(binding_to_index_map_.at(binding))->descriptorType;
-    auto stage_flags = bindings_.at(binding_to_index_map_.at(binding))->stageFlags;
-    auto immut_samp = bindings_.at(binding_to_index_map_.at(binding))->pImmutableSamplers ? true : false;
-    if ((type != bindings_.at(binding_to_index_map_.at(binding + 1))->descriptorType) ||
-        (stage_flags != bindings_.at(binding_to_index_map_.at(binding + 1))->stageFlags) ||
-        (immut_samp != (bindings_.at(binding_to_index_map_.at(binding + 1))->pImmutableSamplers ? true : false))) {
-        return false;
+    auto const &bi_itr = binding_to_index_map_.find(binding);
+    if (bi_itr != binding_to_index_map_.end()) {
+        const auto &next_bi_itr = binding_to_index_map_.find(binding + 1);
+        if (next_bi_itr != binding_to_index_map_.end()) {
+            auto type = bindings_[bi_itr->second]->descriptorType;
+            auto stage_flags = bindings_[bi_itr->second]->stageFlags;
+            auto immut_samp = bindings_[bi_itr->second]->pImmutableSamplers ? true : false;
+            if ((type != bindings_[next_bi_itr->second]->descriptorType) ||
+                (stage_flags != bindings_[next_bi_itr->second]->stageFlags) ||
+                (immut_samp != (bindings_[next_bi_itr->second]->pImmutableSamplers ? true : false))) {
+                return false;
+            }
+            return true;
+        }
     }
-    return true;
+    return false;
 }
 
 cvdescriptorset::DescriptorSet::DescriptorSet(const VkDescriptorSet set, const DescriptorSetLayout *layout,
@@ -367,9 +400,11 @@
                 for (uint32_t i = 0; i < p_layout_->GetDescriptorCountFromBinding(binding); ++i) {
                     if (descriptors_[start_idx + i]->updated) {
                         auto bufferview = static_cast<TexelDescriptor *>(descriptors_[start_idx + i].get())->GetBufferView();
-                        auto buffer = buffer_view_map_->at(bufferview).buffer;
-                        buffer_set->insert(buffer);
-                        num_updates++;
+                        const auto &buff_pair = buffer_view_map_->find(bufferview);
+                        if (buff_pair != buffer_view_map_->end()) {
+                            buffer_set->insert(buff_pair->second.buffer);
+                            num_updates++;
+                        }
                     }
                 }
             } else if (GeneralBuffer == descriptors_[start_idx]->descriptor_class) {