/* Copyright 2003-2006 Joaquín M López Muñoz.

 * 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)

 *

 * See http://www.boost.org/libs/multi_index for library home page.

 */



#ifndef BOOST_MULTI_INDEX_SAFE_MODE_ERRORS_HPP

#define BOOST_MULTI_INDEX_SAFE_MODE_ERRORS_HPP



#if defined(_MSC_VER)&&(_MSC_VER>=1200)

#pragma once

#endif



namespace boost{



namespace multi_index{



namespace safe_mode{



/* Error codes for Boost.MultiIndex safe mode. These go in a separate

 * header so that the user can include it when redefining

 * BOOST_MULTI_INDEX_SAFE_MODE_ASSERT prior to the inclusion of

 * any other header of Boost.MultiIndex.

 */



enum error_code

{

  invalid_iterator=0,

  not_dereferenceable_iterator,

  not_incrementable_iterator,

  not_decrementable_iterator,

  not_owner,

  not_same_owner,

  invalid_range,

  inside_range,

  out_of_bounds,

  same_container

};



} /* namespace multi_index::safe_mode */



} /* namespace multi_index */



} /* namespace boost */



#endif

