/// \return An std::pair containing a bool (set to true if the name
/// was found, or false otherwise) and the address associated with
/// the name (which is undefined if the name was not found).
- NamedAddressResult getNamedAddress(const char* name) {
+ NamedAddressResult getNamedAddress(const char* name) const {
// This public method implements common validation. The actual
// work specific to the derived segment is delegated to the
// corresponding protected method.
virtual bool setNamedAddressImpl(const char* name, void* addr) = 0;
/// \brief Implementation of getNamedAddress beyond common validation.
- virtual NamedAddressResult getNamedAddressImpl(const char* name) = 0;
+ virtual NamedAddressResult getNamedAddressImpl(const char* name) const = 0;
/// \brief Implementation of clearNamedAddress beyond common validation.
virtual bool clearNamedAddressImpl(const char* name) = 0;
}
MemorySegment::NamedAddressResult
-MemorySegmentLocal::getNamedAddressImpl(const char* name) {
- std::map<std::string, void*>::iterator found = named_addrs_.find(name);
+MemorySegmentLocal::getNamedAddressImpl(const char* name) const {
+ std::map<std::string, void*>::const_iterator found =
+ named_addrs_.find(name);
if (found != named_addrs_.end()) {
return (NamedAddressResult(true, found->second));
}
///
/// There's a small chance this method could throw std::bad_alloc.
/// It should be considered a fatal error.
- virtual NamedAddressResult getNamedAddressImpl(const char* name);
+ virtual NamedAddressResult getNamedAddressImpl(const char* name) const;
/// \brief Local segment version of setNamedAddress.
///
}
MemorySegment::NamedAddressResult
-MemorySegmentMapped::getNamedAddressImpl(const char* name) {
+MemorySegmentMapped::getNamedAddressImpl(const char* name) const {
offset_ptr<void>* storage =
impl_->base_sgmt_->find<offset_ptr<void> >(name).first;
if (storage) {
/// \brief Mapped segment version of getNamedAddress.
///
/// This version never throws.
- virtual NamedAddressResult getNamedAddressImpl(const char* name);
+ virtual NamedAddressResult getNamedAddressImpl(const char* name) const;
/// \brief Mapped segment version of clearNamedAddress.
///