|
|
|||
File indexing completed on 2025-12-15 09:53:50
0001 ///////////////////////////////////////////////////////////////////////////// 0002 // 0003 // (C) Copyright Ion Gaztanaga 2006-2013 0004 // 0005 // Distributed under the Boost Software License, Version 1.0. 0006 // (See accompanying file LICENSE_1_0.txt or copy at 0007 // http://www.boost.org/LICENSE_1_0.txt) 0008 // 0009 // See http://www.boost.org/libs/intrusive for documentation. 0010 // 0011 ///////////////////////////////////////////////////////////////////////////// 0012 0013 #ifndef BOOST_INTRUSIVE_LINK_MODE_HPP 0014 #define BOOST_INTRUSIVE_LINK_MODE_HPP 0015 0016 #if defined(BOOST_HAS_PRAGMA_ONCE) 0017 # pragma once 0018 #endif 0019 0020 namespace boost { 0021 namespace intrusive { 0022 0023 //!This enumeration defines the type of value_traits that can be defined 0024 //!for Boost.Intrusive containers 0025 enum link_mode_type{ 0026 //!If this linking policy is specified in a value_traits class 0027 //!as the link_mode, containers 0028 //!configured with such value_traits won't set the hooks 0029 //!of the erased values to a default state. Containers also won't 0030 //!check that the hooks of the new values are default initialized. 0031 normal_link, 0032 0033 //!If this linking policy is specified in a value_traits class 0034 //!as the link_mode, containers 0035 //!configured with such value_traits will set the hooks 0036 //!of the erased values to a default state. Containers also will 0037 //!check that the hooks of the new values are default initialized. 0038 safe_link, 0039 0040 //!Same as "safe_link" but the user type is an auto-unlink 0041 //!type, so the containers with constant-time size features won't be 0042 //!compatible with value_traits configured with this policy. 0043 //!Containers also know that the a value can be silently erased from 0044 //!the container without using any function provided by the containers. 0045 auto_unlink 0046 }; 0047 0048 #ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED 0049 0050 template <link_mode_type link_mode> 0051 struct is_safe_autounlink 0052 { 0053 static const bool value = 0054 (int)link_mode == (int)auto_unlink || 0055 (int)link_mode == (int)safe_link; 0056 }; 0057 0058 #endif //BOOST_INTRUSIVE_DOXYGEN_INVOKED 0059 0060 } //namespace intrusive 0061 } //namespace boost 0062 0063 #endif //BOOST_INTRUSIVE_LINK_MODE_HPP
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|