diff --git a/doc/interprocess.qbk b/doc/interprocess.qbk index 741e0fd..5313a6c 100644 --- a/doc/interprocess.qbk +++ b/doc/interprocess.qbk @@ -6806,10 +6806,11 @@ thank them: * Fixed bugs: * [@https://github.com/boostorg/interprocess/issues/76 GitHub #76 (['"Cygwin compilation errors"])]. + * [@https://github.com/boostorg/interprocess/pull/83 GitHub #83 (['"Add BOOST_INTERPROCESS_FORCE_NATIVE_EMULATION option"])]. * [@https://github.com/boostorg/interprocess/pull/92 GitHub #92 (['"bufferstream: Correct MSVC compilation warning"])]. * [@https://github.com/boostorg/interprocess/pull/106 GitHub #106 (['"Use fallocate on truncate_file"])]. + * [@https://github.com/boostorg/interprocess/issues/122 GitHub #122 (['"Mark constructors/assignment/swap noexcept where possible"])]. * [@https://github.com/boostorg/interprocess/issues/126 GitHub #126 (['"_ReadWriteBarrier is deprecated warning when compiling with clang-cl.exe"])]. - * [@https://github.com/boostorg/interprocess/pull/83 GitHub #83 (['"Add BOOST_INTERPROCESS_FORCE_NATIVE_EMULATION option"])]. [endsect] diff --git a/include/boost/interprocess/exceptions.hpp b/include/boost/interprocess/exceptions.hpp index 1db7f52..f7aa7f8 100644 --- a/include/boost/interprocess/exceptions.hpp +++ b/include/boost/interprocess/exceptions.hpp @@ -36,7 +36,7 @@ namespace interprocess { class BOOST_SYMBOL_VISIBLE interprocess_exception : public std::exception { public: - interprocess_exception(const char *err) + interprocess_exception(const char *err) BOOST_NOEXCEPT : m_err(other_error) { try { m_str = err; } @@ -65,10 +65,10 @@ class BOOST_SYMBOL_VISIBLE interprocess_exception : public std::exception const char * what() const BOOST_NOEXCEPT_OR_NOTHROW BOOST_OVERRIDE { return m_str.c_str(); } - native_error_t get_native_error()const { return m_err.get_native_error(); } + native_error_t get_native_error() const BOOST_NOEXCEPT { return m_err.get_native_error(); } // Note: a value of other_error implies a library (rather than system) error - error_code_t get_error_code() const { return m_err.get_error_code(); } + error_code_t get_error_code() const BOOST_NOEXCEPT { return m_err.get_error_code(); } #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) private: @@ -82,7 +82,7 @@ class BOOST_SYMBOL_VISIBLE interprocess_exception : public std::exception class BOOST_SYMBOL_VISIBLE lock_exception : public interprocess_exception { public: - lock_exception() + lock_exception() BOOST_NOEXCEPT : interprocess_exception(lock_error) {} diff --git a/include/boost/interprocess/file_mapping.hpp b/include/boost/interprocess/file_mapping.hpp index 282420b..88268fa 100644 --- a/include/boost/interprocess/file_mapping.hpp +++ b/include/boost/interprocess/file_mapping.hpp @@ -52,7 +52,7 @@ class file_mapping public: //!Constructs an empty file mapping. //!Does not throw - file_mapping(); + file_mapping() BOOST_NOEXCEPT; //!Opens a file mapping of file "filename", starting in offset //!"file_offset", and the mapping's size will be "size". The mapping @@ -74,7 +74,7 @@ class file_mapping //!Moves the ownership of "moved"'s file mapping object to *this. //!After the call, "moved" does not represent any file mapping object. //!Does not throw - file_mapping(BOOST_RV_REF(file_mapping) moved) + file_mapping(BOOST_RV_REF(file_mapping) moved) BOOST_NOEXCEPT : m_handle(file_handle_t(ipcdetail::invalid_file())) , m_mode(read_only) { this->swap(moved); } @@ -82,7 +82,7 @@ class file_mapping //!Moves the ownership of "moved"'s file mapping to *this. //!After the call, "moved" does not represent any file mapping. //!Does not throw - file_mapping &operator=(BOOST_RV_REF(file_mapping) moved) + file_mapping &operator=(BOOST_RV_REF(file_mapping) moved) BOOST_NOEXCEPT { file_mapping tmp(boost::move(moved)); this->swap(tmp); @@ -91,15 +91,15 @@ class file_mapping //!Swaps to file_mappings. //!Does not throw. - void swap(file_mapping &other); + void swap(file_mapping &other) BOOST_NOEXCEPT; //!Returns access mode //!used in the constructor - mode_t get_mode() const; + mode_t get_mode() const BOOST_NOEXCEPT; //!Obtains the mapping handle //!to be used with mapped_region - mapping_handle_t get_mapping_handle() const; + mapping_handle_t get_mapping_handle() const BOOST_NOEXCEPT; //!Destroys the file mapping. All mapped regions created from this are still //!valid. Does not throw @@ -107,7 +107,7 @@ class file_mapping //!Returns the name of the file //!used in the constructor. - const char *get_name() const; + const char *get_name() const BOOST_NOEXCEPT; //!Removes the file named "filename" even if it's been memory mapped. //!Returns true on success. @@ -136,7 +136,7 @@ class file_mapping #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED }; -inline file_mapping::file_mapping() +inline file_mapping::file_mapping() BOOST_NOEXCEPT : m_handle(file_handle_t(ipcdetail::invalid_file())) , m_mode(read_only) {} @@ -144,20 +144,20 @@ inline file_mapping::file_mapping() inline file_mapping::~file_mapping() { this->priv_close(); } -inline const char *file_mapping::get_name() const +inline const char *file_mapping::get_name() const BOOST_NOEXCEPT { return m_filename.getn(); } -inline void file_mapping::swap(file_mapping &other) +inline void file_mapping::swap(file_mapping &other) BOOST_NOEXCEPT { (simple_swap)(m_handle, other.m_handle); (simple_swap)(m_mode, other.m_mode); m_filename.swap(other.m_filename); } -inline mapping_handle_t file_mapping::get_mapping_handle() const +inline mapping_handle_t file_mapping::get_mapping_handle() const BOOST_NOEXCEPT { return ipcdetail::mapping_handle_from_file_handle(m_handle); } -inline mode_t file_mapping::get_mode() const +inline mode_t file_mapping::get_mode() const BOOST_NOEXCEPT { return m_mode; } inline file_mapping::file_mapping diff --git a/include/boost/interprocess/managed_external_buffer.hpp b/include/boost/interprocess/managed_external_buffer.hpp index 1e8f1cc..f399b2c 100644 --- a/include/boost/interprocess/managed_external_buffer.hpp +++ b/include/boost/interprocess/managed_external_buffer.hpp @@ -60,7 +60,7 @@ class basic_managed_external_buffer //!Default constructor. Does nothing. //!Useful in combination with move semantics - basic_managed_external_buffer() + basic_managed_external_buffer() BOOST_NOEXCEPT {} //!Creates and places the segment manager. This can throw @@ -86,13 +86,13 @@ class basic_managed_external_buffer } //!Moves the ownership of "moved"'s managed memory to *this. Does not throw - basic_managed_external_buffer(BOOST_RV_REF(basic_managed_external_buffer) moved) + basic_managed_external_buffer(BOOST_RV_REF(basic_managed_external_buffer) moved) BOOST_NOEXCEPT { this->swap(moved); } //!Moves the ownership of "moved"'s managed memory to *this. Does not throw - basic_managed_external_buffer &operator=(BOOST_RV_REF(basic_managed_external_buffer) moved) + basic_managed_external_buffer &operator=(BOOST_RV_REF(basic_managed_external_buffer) moved) BOOST_NOEXCEPT { basic_managed_external_buffer tmp(boost::move(moved)); this->swap(tmp); @@ -104,7 +104,7 @@ class basic_managed_external_buffer //!Swaps the ownership of the managed heap memories managed by *this and other. //!Never throws. - void swap(basic_managed_external_buffer &other) + void swap(basic_managed_external_buffer &other) BOOST_NOEXCEPT { base_t::swap(other); } }; diff --git a/include/boost/interprocess/managed_heap_memory.hpp b/include/boost/interprocess/managed_heap_memory.hpp index c450328..52b917a 100644 --- a/include/boost/interprocess/managed_heap_memory.hpp +++ b/include/boost/interprocess/managed_heap_memory.hpp @@ -63,7 +63,8 @@ class basic_managed_heap_memory //!Default constructor. Does nothing. //!Useful in combination with move semantics - basic_managed_heap_memory(){} + basic_managed_heap_memory() BOOST_NOEXCEPT + {} //!Destructor. Liberates the heap memory holding the managed data. //!Never throws. @@ -82,11 +83,11 @@ class basic_managed_heap_memory } //!Moves the ownership of "moved"'s managed memory to *this. Does not throw - basic_managed_heap_memory(BOOST_RV_REF(basic_managed_heap_memory) moved) + basic_managed_heap_memory(BOOST_RV_REF(basic_managed_heap_memory) moved) BOOST_NOEXCEPT { this->swap(moved); } //!Moves the ownership of "moved"'s managed memory to *this. Does not throw - basic_managed_heap_memory &operator=(BOOST_RV_REF(basic_managed_heap_memory) moved) + basic_managed_heap_memory &operator=(BOOST_RV_REF(basic_managed_heap_memory) moved) BOOST_NOEXCEPT { basic_managed_heap_memory tmp(boost::move(moved)); this->swap(tmp); @@ -123,7 +124,7 @@ class basic_managed_heap_memory //!Swaps the ownership of the managed heap memories managed by *this and other. //!Never throws. - void swap(basic_managed_heap_memory &other) + void swap(basic_managed_heap_memory &other) BOOST_NOEXCEPT { base_t::swap(other); m_heapmem.swap(other.m_heapmem); diff --git a/include/boost/interprocess/managed_mapped_file.hpp b/include/boost/interprocess/managed_mapped_file.hpp index 1b7c10c..daca6ad 100644 --- a/include/boost/interprocess/managed_mapped_file.hpp +++ b/include/boost/interprocess/managed_mapped_file.hpp @@ -110,7 +110,7 @@ class basic_managed_mapped_file //!Creates mapped file and creates and places the segment manager. //!This can throw. - basic_managed_mapped_file() + basic_managed_mapped_file() BOOST_NOEXCEPT {} //!Creates mapped file and creates and places the segment manager. @@ -232,14 +232,14 @@ class basic_managed_mapped_file //!Moves the ownership of "moved"'s managed memory to *this. //!Does not throw - basic_managed_mapped_file(BOOST_RV_REF(basic_managed_mapped_file) moved) + basic_managed_mapped_file(BOOST_RV_REF(basic_managed_mapped_file) moved) BOOST_NOEXCEPT { this->swap(moved); } //!Moves the ownership of "moved"'s managed memory to *this. //!Does not throw - basic_managed_mapped_file &operator=(BOOST_RV_REF(basic_managed_mapped_file) moved) + basic_managed_mapped_file &operator=(BOOST_RV_REF(basic_managed_mapped_file) moved) BOOST_NOEXCEPT { basic_managed_mapped_file tmp(boost::move(moved)); this->swap(tmp); @@ -257,7 +257,7 @@ class basic_managed_mapped_file //!Swaps the ownership of the managed mapped memories managed by *this and other. //!Never throws. - void swap(basic_managed_mapped_file &other) + void swap(basic_managed_mapped_file &other) BOOST_NOEXCEPT { base_t::swap(other); m_mfile.swap(other.m_mfile); diff --git a/include/boost/interprocess/managed_windows_shared_memory.hpp b/include/boost/interprocess/managed_windows_shared_memory.hpp index 658af32..07997b5 100644 --- a/include/boost/interprocess/managed_windows_shared_memory.hpp +++ b/include/boost/interprocess/managed_windows_shared_memory.hpp @@ -110,7 +110,7 @@ class basic_managed_windows_shared_memory //!Default constructor. Does nothing. //!Useful in combination with move semantics - basic_managed_windows_shared_memory() + basic_managed_windows_shared_memory() BOOST_NOEXCEPT {} //!Creates shared memory and creates and places the segment manager. @@ -209,12 +209,12 @@ class basic_managed_windows_shared_memory //!Moves the ownership of "moved"'s managed memory to *this. //!Does not throw basic_managed_windows_shared_memory - (BOOST_RV_REF(basic_managed_windows_shared_memory) moved) + (BOOST_RV_REF(basic_managed_windows_shared_memory) moved) BOOST_NOEXCEPT { this->swap(moved); } //!Moves the ownership of "moved"'s managed memory to *this. //!Does not throw - basic_managed_windows_shared_memory &operator=(BOOST_RV_REF(basic_managed_windows_shared_memory) moved) + basic_managed_windows_shared_memory &operator=(BOOST_RV_REF(basic_managed_windows_shared_memory) moved) BOOST_NOEXCEPT { basic_managed_windows_shared_memory tmp(boost::move(moved)); this->swap(tmp); @@ -231,7 +231,7 @@ class basic_managed_windows_shared_memory //!Swaps the ownership of the managed mapped memories managed by *this and other. //!Never throws. - void swap(basic_managed_windows_shared_memory &other) + void swap(basic_managed_windows_shared_memory &other) BOOST_NOEXCEPT { base_t::swap(other); m_wshm.swap(other.m_wshm); diff --git a/include/boost/interprocess/managed_xsi_shared_memory.hpp b/include/boost/interprocess/managed_xsi_shared_memory.hpp index d41cab8..3c51294 100644 --- a/include/boost/interprocess/managed_xsi_shared_memory.hpp +++ b/include/boost/interprocess/managed_xsi_shared_memory.hpp @@ -122,7 +122,7 @@ class basic_managed_xsi_shared_memory //!Default constructor. Does nothing. //!Useful in combination with move semantics - basic_managed_xsi_shared_memory() + basic_managed_xsi_shared_memory() BOOST_NOEXCEPT {} //!Creates shared memory and creates and places the segment manager. @@ -170,7 +170,7 @@ class basic_managed_xsi_shared_memory //!Moves the ownership of "moved"'s managed memory to *this. //!Does not throw - basic_managed_xsi_shared_memory(BOOST_RV_REF(basic_managed_xsi_shared_memory) moved) + basic_managed_xsi_shared_memory(BOOST_RV_REF(basic_managed_xsi_shared_memory) moved) BOOST_NOEXCEPT { basic_managed_xsi_shared_memory tmp; this->swap(moved); @@ -179,7 +179,7 @@ class basic_managed_xsi_shared_memory //!Moves the ownership of "moved"'s managed memory to *this. //!Does not throw - basic_managed_xsi_shared_memory &operator=(BOOST_RV_REF(basic_managed_xsi_shared_memory) moved) + basic_managed_xsi_shared_memory &operator=(BOOST_RV_REF(basic_managed_xsi_shared_memory) moved) BOOST_NOEXCEPT { basic_managed_xsi_shared_memory tmp(boost::move(moved)); this->swap(tmp); @@ -188,7 +188,7 @@ class basic_managed_xsi_shared_memory //!Swaps the ownership of the managed shared memories managed by *this and other. //!Never throws. - void swap(basic_managed_xsi_shared_memory &other) + void swap(basic_managed_xsi_shared_memory &other) BOOST_NOEXCEPT { base_t::swap(other); base2_t::swap(other); @@ -200,7 +200,7 @@ class basic_managed_xsi_shared_memory static bool remove(int shmid) { return device_type::remove(shmid); } - int get_shmid() const + int get_shmid() const BOOST_NOEXCEPT { return base2_t::get_device().get_shmid(); } #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) diff --git a/include/boost/interprocess/mapped_region.hpp b/include/boost/interprocess/mapped_region.hpp index 407d9e2..a95baa9 100644 --- a/include/boost/interprocess/mapped_region.hpp +++ b/include/boost/interprocess/mapped_region.hpp @@ -136,11 +136,11 @@ class mapped_region //!Default constructor. Address will be 0 (nullptr). //!Size will be 0. //!Does not throw - mapped_region(); + mapped_region() BOOST_NOEXCEPT; //!Move constructor. *this will be constructed taking ownership of "other"'s //!region and "other" will be left in default constructor state. - mapped_region(BOOST_RV_REF(mapped_region) other) + mapped_region(BOOST_RV_REF(mapped_region) other) BOOST_NOEXCEPT #if defined (BOOST_INTERPROCESS_WINDOWS) : m_base(0), m_size(0) , m_page_offset(0) @@ -157,7 +157,7 @@ class mapped_region //!Move assignment. If *this owns a memory mapped region, it will be //!destroyed and it will take ownership of "other"'s memory mapped region. - mapped_region &operator=(BOOST_RV_REF(mapped_region) other) + mapped_region &operator=(BOOST_RV_REF(mapped_region) other) BOOST_NOEXCEPT { mapped_region tmp(boost::move(other)); this->swap(tmp); @@ -166,18 +166,18 @@ class mapped_region //!Swaps the mapped_region with another //!mapped region - void swap(mapped_region &other); + void swap(mapped_region &other) BOOST_NOEXCEPT; //!Returns the size of the mapping. Never throws. - std::size_t get_size() const; + std::size_t get_size() const BOOST_NOEXCEPT; //!Returns the base address of the mapping. //!Never throws. - void* get_address() const; + void* get_address() const BOOST_NOEXCEPT; //!Returns the mode of the mapping used to construct the mapped region. //!Never throws. - mode_t get_mode() const; + mode_t get_mode() const BOOST_NOEXCEPT; //!Flushes to the disk a byte range within the mapped memory. //!If 'async' is true, the function will return before flushing operation is completed @@ -225,7 +225,7 @@ class mapped_region //!Returns the size of the page. This size is the minimum memory that //!will be used by the system when mapping a memory mappable source and //!will restrict the address and the offset to map. - static std::size_t get_page_size(); + static std::size_t get_page_size() BOOST_NOEXCEPT; #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) private: @@ -269,19 +269,19 @@ class mapped_region #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) -inline void swap(mapped_region &x, mapped_region &y) +inline void swap(mapped_region &x, mapped_region &y) BOOST_NOEXCEPT { x.swap(y); } inline mapped_region::~mapped_region() { this->priv_close(); } -inline std::size_t mapped_region::get_size() const +inline std::size_t mapped_region::get_size() const BOOST_NOEXCEPT { return m_size; } -inline mode_t mapped_region::get_mode() const +inline mode_t mapped_region::get_mode() const BOOST_NOEXCEPT { return m_mode; } -inline void* mapped_region::get_address() const +inline void* mapped_region::get_address() const BOOST_NOEXCEPT { return m_base; } inline void* mapped_region::priv_map_address() const @@ -375,7 +375,7 @@ inline offset_t mapped_region::priv_page_offset_addr_fixup(offset_t offset, cons #if defined (BOOST_INTERPROCESS_WINDOWS) -inline mapped_region::mapped_region() +inline mapped_region::mapped_region() BOOST_NOEXCEPT : m_base(0), m_size(0), m_page_offset(0), m_mode(read_only) , m_file_or_mapping_hnd(ipcdetail::invalid_file()) {} @@ -573,7 +573,7 @@ inline void mapped_region::dont_close_on_destruction() #else //#if defined (BOOST_INTERPROCESS_WINDOWS) -inline mapped_region::mapped_region() +inline mapped_region::mapped_region() BOOST_NOEXCEPT : m_base(0), m_size(0), m_page_offset(0), m_mode(read_only), m_is_xsi(false) {} @@ -852,7 +852,7 @@ template const std::size_t mapped_region::page_size_holder::PageSize = mapped_region::page_size_holder::get_page_size(); -inline std::size_t mapped_region::get_page_size() +inline std::size_t mapped_region::get_page_size() BOOST_NOEXCEPT { if(!page_size_holder<0>::PageSize) return page_size_holder<0>::get_page_size(); @@ -860,7 +860,7 @@ inline std::size_t mapped_region::get_page_size() return page_size_holder<0>::PageSize; } -inline void mapped_region::swap(mapped_region &other) +inline void mapped_region::swap(mapped_region &other) BOOST_NOEXCEPT { ::boost::adl_move_swap(this->m_base, other.m_base); ::boost::adl_move_swap(this->m_size, other.m_size); diff --git a/include/boost/interprocess/permissions.hpp b/include/boost/interprocess/permissions.hpp index 87fea28..ce4255c 100644 --- a/include/boost/interprocess/permissions.hpp +++ b/include/boost/interprocess/permissions.hpp @@ -79,20 +79,20 @@ class permissions public: //!Constructs a permissions object from a user provided os-dependent //!permissions. - permissions(os_permissions_type type) + permissions(os_permissions_type type) BOOST_NOEXCEPT : m_perm(type) {} //!Constructs a default permissions object: //!A null security attributes pointer for windows or 0644 //!for UNIX. - permissions() + permissions() BOOST_NOEXCEPT { set_default(); } //!Sets permissions to default values: //!A null security attributes pointer for windows or 0644 //!for UNIX. - void set_default() + void set_default() BOOST_NOEXCEPT { #if defined (BOOST_INTERPROCESS_WINDOWS) m_perm = 0; @@ -103,7 +103,7 @@ class permissions //!Sets permissions to unrestricted access: //!A null DACL for windows or 0666 for UNIX. - void set_unrestricted() + void set_unrestricted() BOOST_NOEXCEPT { #if defined (BOOST_INTERPROCESS_WINDOWS) m_perm = &ipcdetail::unrestricted_permissions_holder<0>::unrestricted; @@ -114,12 +114,12 @@ class permissions //!Sets permissions from a user provided os-dependent //!permissions. - void set_permissions(os_permissions_type perm) + void set_permissions(os_permissions_type perm) BOOST_NOEXCEPT { m_perm = perm; } //!Returns stored os-dependent //!permissions - os_permissions_type get_permissions() const + os_permissions_type get_permissions() const BOOST_NOEXCEPT { return m_perm; } }; diff --git a/include/boost/interprocess/shared_memory_object.hpp b/include/boost/interprocess/shared_memory_object.hpp index 09221a4..9981efc 100644 --- a/include/boost/interprocess/shared_memory_object.hpp +++ b/include/boost/interprocess/shared_memory_object.hpp @@ -65,7 +65,7 @@ class shared_memory_object public: //!Default constructor. Represents an empty shared_memory_object. - shared_memory_object(); + shared_memory_object() BOOST_NOEXCEPT; //!Creates a shared memory object with name "name" and mode "mode", with the access mode "mode" //!If the file previously exists, throws an error.*/ @@ -115,7 +115,7 @@ class shared_memory_object //!Moves the ownership of "moved"'s shared memory object to *this. //!After the call, "moved" does not represent any shared memory object. //!Does not throw - shared_memory_object(BOOST_RV_REF(shared_memory_object) moved) + shared_memory_object(BOOST_RV_REF(shared_memory_object) moved) BOOST_NOEXCEPT : m_handle(file_handle_t(ipcdetail::invalid_file())) , m_mode(read_only) { this->swap(moved); } @@ -123,7 +123,7 @@ class shared_memory_object //!Moves the ownership of "moved"'s shared memory to *this. //!After the call, "moved" does not represent any shared memory. //!Does not throw - shared_memory_object &operator=(BOOST_RV_REF(shared_memory_object) moved) + shared_memory_object &operator=(BOOST_RV_REF(shared_memory_object) moved) BOOST_NOEXCEPT { shared_memory_object tmp(boost::move(moved)); this->swap(tmp); @@ -131,7 +131,7 @@ class shared_memory_object } //!Swaps the shared_memory_objects. Does not throw - void swap(shared_memory_object &moved); + void swap(shared_memory_object &moved) BOOST_NOEXCEPT; //!Erases a shared memory object from the system. //!Returns false on error. Never throws @@ -161,17 +161,17 @@ class shared_memory_object ~shared_memory_object(); //!Returns the name of the shared memory object. - const char *get_name() const; + const char *get_name() const BOOST_NOEXCEPT; //!Returns true if the size of the shared memory object //!can be obtained and writes the size in the passed reference - bool get_size(offset_t &size) const; + bool get_size(offset_t &size) const BOOST_NOEXCEPT; //!Returns access mode - mode_t get_mode() const; + mode_t get_mode() const BOOST_NOEXCEPT; //!Returns mapping handle. Never throws. - mapping_handle_t get_mapping_handle() const; + mapping_handle_t get_mapping_handle() const BOOST_NOEXCEPT; #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) private: @@ -191,7 +191,7 @@ class shared_memory_object #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) -inline shared_memory_object::shared_memory_object() +inline shared_memory_object::shared_memory_object() BOOST_NOEXCEPT : m_handle(file_handle_t(ipcdetail::invalid_file())) , m_mode(read_only) {} @@ -200,25 +200,25 @@ inline shared_memory_object::~shared_memory_object() { this->priv_close(); } -inline const char *shared_memory_object::get_name() const +inline const char *shared_memory_object::get_name() const BOOST_NOEXCEPT { return m_filename.getn(); } -inline bool shared_memory_object::get_size(offset_t &size) const +inline bool shared_memory_object::get_size(offset_t &size) const BOOST_NOEXCEPT { return ipcdetail::get_file_size((file_handle_t)m_handle, size); } -inline void shared_memory_object::swap(shared_memory_object &other) +inline void shared_memory_object::swap(shared_memory_object &other) BOOST_NOEXCEPT { boost::adl_move_swap(m_handle, other.m_handle); boost::adl_move_swap(m_mode, other.m_mode); m_filename.swap(other.m_filename); } -inline mapping_handle_t shared_memory_object::get_mapping_handle() const +inline mapping_handle_t shared_memory_object::get_mapping_handle() const BOOST_NOEXCEPT { return ipcdetail::mapping_handle_from_file_handle(m_handle); } -inline mode_t shared_memory_object::get_mode() const +inline mode_t shared_memory_object::get_mode() const BOOST_NOEXCEPT { return m_mode; } #if !defined(BOOST_INTERPROCESS_POSIX_SHARED_MEMORY_OBJECTS) diff --git a/include/boost/interprocess/smart_ptr/deleter.hpp b/include/boost/interprocess/smart_ptr/deleter.hpp index 3cd469d..bc0f8c8 100644 --- a/include/boost/interprocess/smart_ptr/deleter.hpp +++ b/include/boost/interprocess/smart_ptr/deleter.hpp @@ -52,7 +52,7 @@ class deleter segment_manager_pointer mp_mngr; public: - deleter(segment_manager_pointer pmngr) + deleter(segment_manager_pointer pmngr) BOOST_NOEXCEPT : mp_mngr(pmngr) {} diff --git a/include/boost/interprocess/smart_ptr/scoped_ptr.hpp b/include/boost/interprocess/smart_ptr/scoped_ptr.hpp index 5506040..f480428 100644 --- a/include/boost/interprocess/smart_ptr/scoped_ptr.hpp +++ b/include/boost/interprocess/smart_ptr/scoped_ptr.hpp @@ -91,49 +91,49 @@ class scoped_ptr //!Assigns internal pointer as 0 and returns previous pointer. This will //!avoid deletion on destructor - pointer release() + pointer release() BOOST_NOEXCEPT { pointer tmp(m_ptr); m_ptr = 0; return tmp; } //!Returns a reference to the object pointed to by the stored pointer. //!Never throws. - reference operator*() const + reference operator*() const BOOST_NOEXCEPT { BOOST_ASSERT(m_ptr != 0); return *m_ptr; } //!Returns the internal stored pointer. //!Never throws. - pointer &operator->() + pointer &operator->() BOOST_NOEXCEPT { BOOST_ASSERT(m_ptr != 0); return m_ptr; } //!Returns the internal stored pointer. //!Never throws. - const pointer &operator->() const + const pointer &operator->() const BOOST_NOEXCEPT { BOOST_ASSERT(m_ptr != 0); return m_ptr; } //!Returns the stored pointer. //!Never throws. - pointer & get() + pointer & get() BOOST_NOEXCEPT { return m_ptr; } //!Returns the stored pointer. //!Never throws. - const pointer & get() const + const pointer & get() const BOOST_NOEXCEPT { return m_ptr; } typedef pointer this_type::*unspecified_bool_type; //!Conversion to bool //!Never throws - operator unspecified_bool_type() const + operator unspecified_bool_type() const BOOST_NOEXCEPT { return m_ptr == 0? 0: &this_type::m_ptr; } //!Returns true if the stored pointer is 0. //!Never throws. - bool operator! () const // never throws + bool operator! () const BOOST_NOEXCEPT // never throws { return m_ptr == 0; } //!Exchanges the internal pointer and deleter with other scoped_ptr //!Never throws. - void swap(scoped_ptr & b) // never throws + void swap(scoped_ptr & b) BOOST_NOEXCEPT // never throws { ::boost::adl_move_swap(static_cast(*this), static_cast(b)); ::boost::adl_move_swap(m_ptr, b.m_ptr); @@ -148,7 +148,7 @@ class scoped_ptr //!Exchanges the internal pointer and deleter with other scoped_ptr //!Never throws. template inline -void swap(scoped_ptr & a, scoped_ptr & b) +void swap(scoped_ptr & a, scoped_ptr & b) BOOST_NOEXCEPT { a.swap(b); } //!Returns a copy of the stored pointer diff --git a/include/boost/interprocess/windows_shared_memory.hpp b/include/boost/interprocess/windows_shared_memory.hpp index cc98947..65251ed 100644 --- a/include/boost/interprocess/windows_shared_memory.hpp +++ b/include/boost/interprocess/windows_shared_memory.hpp @@ -68,7 +68,7 @@ class windows_shared_memory public: //!Default constructor. //!Represents an empty windows_shared_memory. - windows_shared_memory(); + windows_shared_memory() BOOST_NOEXCEPT; //!Creates a new native shared memory with name "name" and at least size "size", //!with the access mode "mode". @@ -107,14 +107,14 @@ class windows_shared_memory //!Moves the ownership of "moved"'s shared memory object to *this. //!After the call, "moved" does not represent any shared memory object. //!Does not throw - windows_shared_memory(BOOST_RV_REF(windows_shared_memory) moved) + windows_shared_memory(BOOST_RV_REF(windows_shared_memory) moved) BOOST_NOEXCEPT : m_handle(0) { this->swap(moved); } //!Moves the ownership of "moved"'s shared memory to *this. //!After the call, "moved" does not represent any shared memory. //!Does not throw - windows_shared_memory &operator=(BOOST_RV_REF(windows_shared_memory) moved) + windows_shared_memory &operator=(BOOST_RV_REF(windows_shared_memory) moved) BOOST_NOEXCEPT { windows_shared_memory tmp(boost::move(moved)); this->swap(tmp); @@ -122,7 +122,7 @@ class windows_shared_memory } //!Swaps to shared_memory_objects. Does not throw - void swap(windows_shared_memory &other); + void swap(windows_shared_memory &other) BOOST_NOEXCEPT; //!Destroys *this. All mapped regions are still valid after //!destruction. When all mapped regions and windows_shared_memory @@ -131,17 +131,17 @@ class windows_shared_memory ~windows_shared_memory(); //!Returns the name of the shared memory. - const char *get_name() const; + const char *get_name() const BOOST_NOEXCEPT; //!Returns access mode - mode_t get_mode() const; + mode_t get_mode() const BOOST_NOEXCEPT; //!Returns the mapping handle. Never throws - mapping_handle_t get_mapping_handle() const; + mapping_handle_t get_mapping_handle() const BOOST_NOEXCEPT; //!Returns the size of the windows shared memory. It will be a 4K rounded //!size of the "size" passed in the constructor. - offset_t get_size() const; + offset_t get_size() const BOOST_NOEXCEPT; #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) private: @@ -161,30 +161,30 @@ class windows_shared_memory #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) -inline windows_shared_memory::windows_shared_memory() +inline windows_shared_memory::windows_shared_memory() BOOST_NOEXCEPT : m_handle(0) {} inline windows_shared_memory::~windows_shared_memory() { this->priv_close(); } -inline const char *windows_shared_memory::get_name() const +inline const char *windows_shared_memory::get_name() const BOOST_NOEXCEPT { return m_name.getn(); } -inline void windows_shared_memory::swap(windows_shared_memory &other) +inline void windows_shared_memory::swap(windows_shared_memory &other) BOOST_NOEXCEPT { (simple_swap)(m_handle, other.m_handle); (simple_swap)(m_mode, other.m_mode); m_name.swap(other.m_name); } -inline mapping_handle_t windows_shared_memory::get_mapping_handle() const +inline mapping_handle_t windows_shared_memory::get_mapping_handle() const BOOST_NOEXCEPT { mapping_handle_t mhnd = { m_handle, true}; return mhnd; } -inline mode_t windows_shared_memory::get_mode() const +inline mode_t windows_shared_memory::get_mode() const BOOST_NOEXCEPT { return m_mode; } -inline offset_t windows_shared_memory::get_size() const +inline offset_t windows_shared_memory::get_size() const BOOST_NOEXCEPT { offset_t size; //This shall never fail return (m_handle && winapi::get_file_mapping_size(m_handle, size)) ? size : 0; diff --git a/include/boost/interprocess/xsi_shared_memory.hpp b/include/boost/interprocess/xsi_shared_memory.hpp index cb5db8f..a35a7c7 100644 --- a/include/boost/interprocess/xsi_shared_memory.hpp +++ b/include/boost/interprocess/xsi_shared_memory.hpp @@ -69,7 +69,7 @@ class xsi_shared_memory public: //!Default constructor. //!Represents an empty xsi_shared_memory. - xsi_shared_memory(); + xsi_shared_memory() BOOST_NOEXCEPT; //!Initializes *this with a shmid previously obtained (possibly from another process) //!This lower-level initializer allows shared memory mapping without having a key. @@ -95,14 +95,14 @@ class xsi_shared_memory //!Moves the ownership of "moved"'s shared memory object to *this. //!After the call, "moved" does not represent any shared memory object. //!Does not throw - xsi_shared_memory(BOOST_RV_REF(xsi_shared_memory) moved) + xsi_shared_memory(BOOST_RV_REF(xsi_shared_memory) moved) BOOST_NOEXCEPT : m_shmid(-1) { this->swap(moved); } //!Moves the ownership of "moved"'s shared memory to *this. //!After the call, "moved" does not represent any shared memory. //!Does not throw - xsi_shared_memory &operator=(BOOST_RV_REF(xsi_shared_memory) moved) + xsi_shared_memory &operator=(BOOST_RV_REF(xsi_shared_memory) moved) BOOST_NOEXCEPT { xsi_shared_memory tmp(boost::move(moved)); this->swap(tmp); @@ -110,7 +110,7 @@ class xsi_shared_memory } //!Swaps two xsi_shared_memorys. Does not throw - void swap(xsi_shared_memory &other); + void swap(xsi_shared_memory &other) BOOST_NOEXCEPT; //!Destroys *this. The shared memory won't be destroyed, just //!this connection to it. Use remove() to destroy the shared memory. @@ -118,11 +118,11 @@ class xsi_shared_memory //!Returns the shared memory ID that //!identifies the shared memory - int get_shmid() const; + int get_shmid() const BOOST_NOEXCEPT; //!Returns the mapping handle. //!Never throws - mapping_handle_t get_mapping_handle() const; + mapping_handle_t get_mapping_handle() const BOOST_NOEXCEPT; //!Erases the XSI shared memory object identified by shmid //!from the system. @@ -143,22 +143,22 @@ class xsi_shared_memory #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) -inline xsi_shared_memory::xsi_shared_memory() +inline xsi_shared_memory::xsi_shared_memory() BOOST_NOEXCEPT : m_shmid(-1) {} inline xsi_shared_memory::~xsi_shared_memory() {} -inline int xsi_shared_memory::get_shmid() const +inline int xsi_shared_memory::get_shmid() const BOOST_NOEXCEPT { return m_shmid; } -inline void xsi_shared_memory::swap(xsi_shared_memory &other) +inline void xsi_shared_memory::swap(xsi_shared_memory &other) BOOST_NOEXCEPT { (simple_swap)(m_shmid, other.m_shmid); } -inline mapping_handle_t xsi_shared_memory::get_mapping_handle() const +inline mapping_handle_t xsi_shared_memory::get_mapping_handle() const BOOST_NOEXCEPT { mapping_handle_t mhnd = { m_shmid, true}; return mhnd; } inline bool xsi_shared_memory::priv_open_or_create