1 /* Copyright 2003-2020 Joaquin M Lopez Munoz.
2  * Distributed under the Boost Software License, Version 1.0.
3  * (See accompanying file LICENSE_1_0.txt or copy at
4  * http://www.boost.org/LICENSE_1_0.txt)
5  *
6  * See http://www.boost.org/libs/multi_index for library home page.
7  */
8 
9 #ifndef BOOST_MULTI_INDEX_SAFE_MODE_ERRORS_HPP
10 #define BOOST_MULTI_INDEX_SAFE_MODE_ERRORS_HPP
11 
12 #if defined(_MSC_VER)
13 #pragma once
14 #endif
15 
16 namespace boost{
17 
18 namespace multi_index{
19 
20 namespace safe_mode{
21 
22 /* Error codes for Boost.MultiIndex safe mode. These go in a separate
23  * header so that the user can include it when redefining
24  * BOOST_MULTI_INDEX_SAFE_MODE_ASSERT prior to the inclusion of
25  * any other header of Boost.MultiIndex.
26  */
27 
28 enum error_code
29 {
30   invalid_iterator=0,
31   not_dereferenceable_iterator,
32   not_incrementable_iterator,
33   not_decrementable_iterator,
34   not_owner,
35   not_same_owner,
36   invalid_range,
37   inside_range,
38   out_of_bounds,
39   same_container,
40   unequal_allocators
41 };
42 
43 } /* namespace multi_index::safe_mode */
44 
45 } /* namespace multi_index */
46 
47 } /* namespace boost */
48 
49 #endif
50