|
||||
File indexing completed on 2025-01-18 09:42:07
0001 /* Copyright 2003-2021 Joaquin M Lopez Munoz. 0002 * Distributed under the Boost Software License, Version 1.0. 0003 * (See accompanying file LICENSE_1_0.txt or copy at 0004 * http://www.boost.org/LICENSE_1_0.txt) 0005 * 0006 * See http://www.boost.org/libs/multi_index for library home page. 0007 */ 0008 0009 #ifndef BOOST_MULTI_INDEX_DETAIL_INVALIDATE_ITERATORS_HPP 0010 #define BOOST_MULTI_INDEX_DETAIL_INVALIDATE_ITERATORS_HPP 0011 0012 #if defined(_MSC_VER) 0013 #pragma once 0014 #endif 0015 0016 namespace boost{ 0017 0018 namespace multi_index{ 0019 0020 namespace detail{ 0021 0022 /* invalidate_iterators mimics the interface of index_access_sequence (see 0023 * index_access_sequence.hpp) but returns dummy indices whose iterator type 0024 * won't ever match those of the source: the net effect is that safe iterator 0025 * transfer resolves to iterator invalidation, so backbone function invocation 0026 * extract_(x,invalidate_iterators()) is used in extraction scenarios other 0027 * than merging. 0028 */ 0029 0030 struct invalidate_iterators 0031 { 0032 typedef void iterator; 0033 0034 invalidate_iterators& get(){return *this;} 0035 invalidate_iterators& next(){return *this;} 0036 }; 0037 0038 } /* namespace multi_index::detail */ 0039 0040 } /* namespace multi_index */ 0041 0042 } /* namespace boost */ 0043 0044 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |