diff options
Diffstat (limited to 'boost/interprocess/indexes/iunordered_set_index.hpp')
-rw-r--r-- | boost/interprocess/indexes/iunordered_set_index.hpp | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/boost/interprocess/indexes/iunordered_set_index.hpp b/boost/interprocess/indexes/iunordered_set_index.hpp index 3c5f85526c..c85c557c25 100644 --- a/boost/interprocess/indexes/iunordered_set_index.hpp +++ b/boost/interprocess/indexes/iunordered_set_index.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2005-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -11,6 +11,10 @@ #ifndef BOOST_INTERPROCESS_IUNORDERED_SET_INDEX_HPP #define BOOST_INTERPROCESS_IUNORDERED_SET_INDEX_HPP +#if defined(_MSC_VER) +# pragma once +#endif + #include <boost/interprocess/detail/config_begin.hpp> #include <boost/interprocess/detail/workaround.hpp> @@ -28,7 +32,7 @@ namespace boost { namespace interprocess { -/// @cond +#if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) //!Helper class to define typedefs //!from IndexTraits @@ -58,21 +62,21 @@ struct iunordered_set_index_aux struct equal_function { bool operator()(const intrusive_compare_key_type &i, const value_type &b) const - { + { return (i.m_len == b.name_length()) && (std::char_traits<char_type>::compare (i.mp_str, b.name(), i.m_len) == 0); } bool operator()(const value_type &b, const intrusive_compare_key_type &i) const - { + { return (i.m_len == b.name_length()) && (std::char_traits<char_type>::compare (i.mp_str, b.name(), i.m_len) == 0); } bool operator()(const value_type &b1, const value_type &b2) const - { + { return (b1.name_length() == b2.name_length()) && (std::char_traits<char_type>::compare (b1.name(), b2.name(), b1.name_length()) == 0); @@ -116,7 +120,7 @@ struct iunordered_set_index_aux bucket_type init_bucket; }; }; -/// @endcond +#endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED //!Index type based in boost::intrusive::set. //!Just derives from boost::intrusive::set @@ -127,7 +131,7 @@ class iunordered_set_index : private iunordered_set_index_aux<MapConfig>::allocator_holder , public iunordered_set_index_aux<MapConfig>::index_t { - /// @cond + #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) typedef iunordered_set_index_aux<MapConfig> index_aux; typedef typename index_aux::index_t index_type; typedef typename MapConfig:: @@ -139,7 +143,7 @@ class iunordered_set_index iunordered_set_index_aux<MapConfig>::allocator_type allocator_type; typedef typename iunordered_set_index_aux<MapConfig>::allocator_holder allocator_holder; - /// @endcond + #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED public: typedef typename index_type::iterator iterator; @@ -151,7 +155,7 @@ class iunordered_set_index typedef typename index_type::bucket_traits bucket_traits; typedef typename index_type::size_type size_type; - /// @cond + #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) private: typedef typename index_aux:: segment_manager_base segment_manager_base; @@ -190,7 +194,7 @@ class iunordered_set_index bucket_ptr shunk_p = alloc.allocation_command (boost::interprocess::shrink_in_place | boost::interprocess::nothrow_allocation, received_size, received_size, received_size, buckets).first; - BOOST_ASSERT(buckets == shunk_p); + BOOST_ASSERT(buckets == shunk_p); (void)shunk_p; bucket_ptr buckets_init = buckets + received_size; for(size_type i = 0; i < (old_size - received_size); ++i){ @@ -236,7 +240,7 @@ class iunordered_set_index iunordered_set_index<MapConfig>* get_this_pointer() { return this; } - /// @endcond + #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED public: //!Constructor. Takes a pointer to the @@ -290,7 +294,7 @@ class iunordered_set_index size_type cur_size = this->size(); size_type cur_count = this->bucket_count(); bucket_ptr old_p = this->bucket_pointer(); - + if(!this->size() && old_p != bucket_ptr(&this->init_bucket)){ this->rehash(bucket_traits(bucket_ptr(&this->init_bucket), 1)); destroy_buckets(this->alloc, old_p, cur_count); @@ -337,7 +341,7 @@ class iunordered_set_index //Strong guarantee: if something goes wrong //we should remove the insertion. // - //We can use the iterator because the hash function + //We can use the iterator because the hash function //can't throw and this means that "reserve" will //throw only because of the memory allocation: //the iterator has not been invalidated. @@ -349,7 +353,7 @@ class iunordered_set_index } }; -/// @cond +#if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) //!Trait class to detect if an index is an intrusive //!index @@ -359,7 +363,7 @@ struct is_intrusive_index { static const bool value = true; }; -/// @endcond +#endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED }} //namespace boost { namespace interprocess { |