diff options
Diffstat (limited to 'src/buffer_manager.cc')
| -rw-r--r-- | src/buffer_manager.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/buffer_manager.cc b/src/buffer_manager.cc index 14e6f723..d482f28a 100644 --- a/src/buffer_manager.cc +++ b/src/buffer_manager.cc @@ -42,7 +42,7 @@ void BufferManager::unregister_buffer(Buffer& buffer) assert(false); } -Buffer* BufferManager::get_buffer(const String& name) +Buffer* BufferManager::get_buffer_ifp(const String& name) { for (auto& buf : m_buffers) { @@ -52,6 +52,14 @@ Buffer* BufferManager::get_buffer(const String& name) return nullptr; } +Buffer& BufferManager::get_buffer(const String& name) +{ + Buffer* res = get_buffer_ifp(name); + if (not res) + throw runtime_error("no such buffer '" + name + "'"); + return *res; +} + void BufferManager::set_last_used_buffer(Buffer& buffer) { auto it = m_buffers.begin(); |
