You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.7 KiB
51 lines
1.7 KiB
/////////////////////////////////////////////////////////////////////////////// |
|
// foreach.hpp header file |
|
// |
|
// Copyright 2010 Eric Niebler. |
|
// 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/foreach for documentation |
|
// |
|
// Credits: |
|
// Kazutoshi Satoda: for suggesting the need for a _fwd header for foreach's |
|
// customization points. |
|
|
|
#ifndef BOOST_FOREACH_FWD_HPP |
|
#define BOOST_FOREACH_FWD_HPP |
|
|
|
// This must be at global scope, hence the uglified name |
|
enum boost_foreach_argument_dependent_lookup_hack |
|
{ |
|
boost_foreach_argument_dependent_lookup_hack_value |
|
}; |
|
|
|
namespace boost |
|
{ |
|
|
|
namespace foreach |
|
{ |
|
/////////////////////////////////////////////////////////////////////////////// |
|
// boost::foreach::tag |
|
// |
|
typedef boost_foreach_argument_dependent_lookup_hack tag; |
|
|
|
/////////////////////////////////////////////////////////////////////////////// |
|
// boost::foreach::is_lightweight_proxy |
|
// Specialize this for user-defined collection types if they are inexpensive to copy. |
|
// This tells BOOST_FOREACH it can avoid the rvalue/lvalue detection stuff. |
|
template<typename T> |
|
struct is_lightweight_proxy; |
|
|
|
/////////////////////////////////////////////////////////////////////////////// |
|
// boost::foreach::is_noncopyable |
|
// Specialize this for user-defined collection types if they cannot be copied. |
|
// This also tells BOOST_FOREACH to avoid the rvalue/lvalue detection stuff. |
|
template<typename T> |
|
struct is_noncopyable; |
|
|
|
} // namespace foreach |
|
|
|
} // namespace boost |
|
|
|
#endif
|
|
|