BWAPI
|
#include <cstddef>
#include <utility>
#include <boost/config.hpp>
#include <boost/detail/workaround.hpp>
#include <boost/mpl/if.hpp>
#include <boost/mpl/logical.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/noncopyable.hpp>
#include <boost/range/end.hpp>
#include <boost/range/begin.hpp>
#include <boost/range/result_iterator.hpp>
#include <boost/type_traits/is_array.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/type_traits/is_abstract.hpp>
#include <boost/type_traits/is_base_and_derived.hpp>
#include <boost/iterator/iterator_traits.hpp>
#include <boost/utility/addressof.hpp>
#include <new>
#include <boost/aligned_storage.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/type_traits/remove_const.hpp>
Go to the source code of this file.
Classes | |
struct | boost::foreach::is_lightweight_proxy< T > |
struct | boost::foreach::is_noncopyable< T > |
struct | boost::foreach_detail_::auto_any_base |
struct | boost::foreach_detail_::auto_any< T > |
struct | boost::foreach_detail_::type2type< T, C > |
struct | boost::foreach_detail_::foreach_iterator< T, C > |
struct | boost::foreach_detail_::foreach_reference< T, C > |
struct | boost::foreach_detail_::rvalue_probe< T > |
struct | boost::foreach_detail_::rvalue_probe< T >::private_type_ |
struct | boost::foreach_detail_::simple_variant< T > |
Namespaces | |
namespace | boost |
namespace | boost::foreach |
namespace | boost::foreach_detail_ |
Defines | |
#define | CGAL_PDB_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION |
#define | CGAL_PDB_FOREACH_TAG_DEFAULT boost::foreach::tag |
#define | CGAL_PDB_FOREACH_PROTECT(expr) (static_cast<boost::mpl::bool_<1 == sizeof(boost::foreach_detail_::is_true(expr))> *>(0)) |
#define | CGAL_PDB_FOREACH_TYPEOF(COL) (true ? 0 : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL))) |
#define | CGAL_PDB_FOREACH_IS_NONCOPYABLE(COL) |
#define | CGAL_PDB_FOREACH_IS_LIGHTWEIGHT_PROXY(COL) |
#define | CGAL_PDB_FOREACH_PREAMBLE() if (bool _foreach_is_rvalue = false) {} else |
#define | CGAL_PDB_FOREACH_EVALUATE(COL) (true ? boost::foreach_detail_::make_probe((COL), _foreach_is_rvalue) : (COL)) |
#define | CGAL_PDB_FOREACH_SHOULD_COPY(COL) |
#define | CGAL_PDB_FOREACH_CONTAIN(COL) |
#define | CGAL_PDB_FOREACH_BEGIN(COL) |
#define | CGAL_PDB_FOREACH_END(COL) |
#define | CGAL_PDB_FOREACH_DONE(COL) |
#define | CGAL_PDB_FOREACH_NEXT(COL) |
#define | CGAL_PDB_FOREACH_DEREF(COL) |
#define | CGAL_PDB_FOREACH(VAR, COL) |
Typedefs | |
typedef boost_foreach_argument_dependent_lookup_hack | boost::foreach::tag |
typedef char | boost::foreach_detail_::yes_type |
typedef char(& | boost::foreach_detail_::no_type )[2] |
typedef auto_any_base const & | boost::foreach_detail_::auto_any_t |
typedef boost::mpl::true_ | boost::foreach_detail_::const_ |
Enumerations | |
enum | boost_foreach_argument_dependent_lookup_hack { boost_foreach_argument_dependent_lookup_hack_value } |
Functions | |
template<typename T > | |
std::pair< T, T > | boost::foreach::in_range (T begin, T end) |
template<typename T > | |
boost::foreach::is_lightweight_proxy < T > * | boost_foreach_is_lightweight_proxy (T *&, CGAL_PDB_FOREACH_TAG_DEFAULT) |
template<typename T > | |
boost::mpl::true_ * | boost_foreach_is_lightweight_proxy (std::pair< T, T > *&, boost::foreach::tag) |
template<typename T > | |
boost::mpl::true_ * | boost_foreach_is_lightweight_proxy (boost::iterator_range< T > *&, boost::foreach::tag) |
template<typename T > | |
boost::mpl::true_ * | boost_foreach_is_lightweight_proxy (boost::sub_range< T > *&, boost::foreach::tag) |
template<typename T > | |
boost::mpl::true_ * | boost_foreach_is_lightweight_proxy (T **&, boost::foreach::tag) |
template<typename T > | |
boost::foreach::is_noncopyable < T > * | boost_foreach_is_noncopyable (T *&, CGAL_PDB_FOREACH_TAG_DEFAULT) |
yes_type | boost::foreach_detail_::is_true (boost::mpl::true_ *) |
no_type | boost::foreach_detail_::is_true (boost::mpl::false_ *) |
template<typename Bool1 , typename Bool2 > | |
boost::mpl::and_< Bool1, Bool2 > * | boost::foreach_detail_::and_ (Bool1 *, Bool2 *) |
template<typename Bool1 , typename Bool2 , typename Bool3 > | |
boost::mpl::and_< Bool1, Bool2, Bool3 > * | boost::foreach_detail_::and_ (Bool1 *, Bool2 *, Bool3 *) |
template<typename Bool1 , typename Bool2 > | |
boost::mpl::or_< Bool1, Bool2 > * | boost::foreach_detail_::or_ (Bool1 *, Bool2 *) |
template<typename Bool1 , typename Bool2 , typename Bool3 > | |
boost::mpl::or_< Bool1, Bool2, Bool3 > * | boost::foreach_detail_::or_ (Bool1 *, Bool2 *, Bool3 *) |
template<typename Bool > | |
boost::mpl::not_< Bool > * | boost::foreach_detail_::not_ (Bool *) |
template<typename T > | |
boost::mpl::false_ * | boost::foreach_detail_::is_rvalue_ (T &, int) |
template<typename T > | |
boost::mpl::true_ * | boost::foreach_detail_::is_rvalue_ (T const &,...) |
template<typename T > | |
boost::is_array< T > * | boost::foreach_detail_::is_array_ (T const &) |
template<typename T > | |
boost::is_const< T > * | boost::foreach_detail_::is_const_ (T &) |
template<typename T > | |
boost::mpl::true_ * | boost::foreach_detail_::is_const_ (T const &) |
template<typename T , typename C > | |
BOOST_DEDUCED_TYPENAME boost::mpl::if_< C, T const, T > ::type & | boost::foreach_detail_::auto_any_cast (auto_any_t a) |
template<typename T > | |
type2type< T > * | boost::foreach_detail_::encode_type (T &, boost::mpl::false_ *) |
template<typename T > | |
type2type< T, const_ > * | boost::foreach_detail_::encode_type (T const &, boost::mpl::true_ *) |
bool | boost::foreach_detail_::set_false (bool &b) |
template<typename T > | |
T *& | boost::foreach_detail_::to_ptr (T const &) |
template<typename T > | |
T & | boost::foreach_detail_::derefof (T *t) |
template<typename T > | |
rvalue_probe< T > | boost::foreach_detail_::make_probe (T &t, bool &b) |
template<typename T > | |
rvalue_probe< T const > | boost::foreach_detail_::make_probe (T const &t, bool &b) |
template<typename LValue , typename IsProxy > | |
BOOST_DEDUCED_TYPENAME boost::enable_if < boost::mpl::or_< LValue, IsProxy >, IsProxy >::type * | boost::foreach_detail_::should_copy_impl (LValue *, IsProxy *, bool *) |
bool * | boost::foreach_detail_::should_copy_impl (boost::mpl::false_ *, boost::mpl::false_ *, bool *is_rvalue) |
template<typename T > | |
auto_any< T > | boost::foreach_detail_::contain (T const &t, boost::mpl::true_ *) |
template<typename T > | |
auto_any< T * > | boost::foreach_detail_::contain (T &t, boost::mpl::false_ *) |
template<typename T > | |
auto_any< simple_variant< T > > | boost::foreach_detail_::contain (T const &t, bool *rvalue) |
template<typename T , typename C > | |
auto_any < BOOST_DEDUCED_TYPENAME foreach_iterator< T, C >::type > | boost::foreach_detail_::begin (auto_any_t col, type2type< T, C > *, boost::mpl::true_ *) |
template<typename T , typename C > | |
auto_any < BOOST_DEDUCED_TYPENAME foreach_iterator< T, C >::type > | boost::foreach_detail_::begin (auto_any_t col, type2type< T, C > *, boost::mpl::false_ *) |
template<typename T > | |
auto_any < BOOST_DEDUCED_TYPENAME foreach_iterator< T, const_ > ::type > | boost::foreach_detail_::begin (auto_any_t col, type2type< T, const_ > *, bool *) |
template<typename T , typename C > | |
auto_any < BOOST_DEDUCED_TYPENAME foreach_iterator< T, C >::type > | boost::foreach_detail_::end (auto_any_t col, type2type< T, C > *, boost::mpl::true_ *) |
template<typename T , typename C > | |
auto_any < BOOST_DEDUCED_TYPENAME foreach_iterator< T, C >::type > | boost::foreach_detail_::end (auto_any_t col, type2type< T, C > *, boost::mpl::false_ *) |
template<typename T > | |
auto_any < BOOST_DEDUCED_TYPENAME foreach_iterator< T, const_ > ::type > | boost::foreach_detail_::end (auto_any_t col, type2type< T, const_ > *, bool *) |
template<typename T , typename C > | |
auto_any< int > | boost::foreach_detail_::end (auto_any_t col, type2type< T *, C > *, boost::mpl::true_ *) |
template<typename T , typename C > | |
bool | boost::foreach_detail_::done (auto_any_t cur, auto_any_t end, type2type< T, C > *) |
template<typename T , typename C > | |
bool | boost::foreach_detail_::done (auto_any_t cur, auto_any_t, type2type< T *, C > *) |
template<typename T , typename C > | |
void | boost::foreach_detail_::next (auto_any_t cur, type2type< T, C > *) |
template<typename T , typename C > | |
BOOST_DEDUCED_TYPENAME foreach_reference< T, C > ::type | boost::foreach_detail_::deref (auto_any_t cur, type2type< T, C > *) |
#define CGAL_PDB_FOREACH | ( | VAR, | |
COL | |||
) |
CGAL_PDB_FOREACH_PREAMBLE() \ if (boost::foreach_detail_::auto_any_t _foreach_col = CGAL_PDB_FOREACH_CONTAIN(COL)) {} else \ if (boost::foreach_detail_::auto_any_t _foreach_cur = CGAL_PDB_FOREACH_BEGIN(COL)) {} else \ if (boost::foreach_detail_::auto_any_t _foreach_end = CGAL_PDB_FOREACH_END(COL)) {} else \ for (bool _foreach_continue = true; \ _foreach_continue && !CGAL_PDB_FOREACH_DONE(COL); \ _foreach_continue ? CGAL_PDB_FOREACH_NEXT(COL) : (void)0) \ if (boost::foreach_detail_::set_false(_foreach_continue)) {} else \ for (VAR = CGAL_PDB_FOREACH_DEREF(COL); !_foreach_continue; _foreach_continue = true)
#define CGAL_PDB_FOREACH_BEGIN | ( | COL | ) |
boost::foreach_detail_::begin( \ _foreach_col \ , CGAL_PDB_FOREACH_TYPEOF(COL) \ , CGAL_PDB_FOREACH_SHOULD_COPY(COL))
#define CGAL_PDB_FOREACH_CONTAIN | ( | COL | ) |
#define CGAL_PDB_FOREACH_DEREF | ( | COL | ) |
boost::foreach_detail_::deref( \ _foreach_cur \ , CGAL_PDB_FOREACH_TYPEOF(COL))
#define CGAL_PDB_FOREACH_DONE | ( | COL | ) |
boost::foreach_detail_::done( \ _foreach_cur \ , _foreach_end \ , CGAL_PDB_FOREACH_TYPEOF(COL))
#define CGAL_PDB_FOREACH_END | ( | COL | ) |
boost::foreach_detail_::end( \ _foreach_col \ , CGAL_PDB_FOREACH_TYPEOF(COL) \ , CGAL_PDB_FOREACH_SHOULD_COPY(COL))
#define CGAL_PDB_FOREACH_EVALUATE | ( | COL | ) | (true ? boost::foreach_detail_::make_probe((COL), _foreach_is_rvalue) : (COL)) |
#define CGAL_PDB_FOREACH_IS_LIGHTWEIGHT_PROXY | ( | COL | ) |
#define CGAL_PDB_FOREACH_IS_NONCOPYABLE | ( | COL | ) |
#define CGAL_PDB_FOREACH_NEXT | ( | COL | ) |
boost::foreach_detail_::next( \ _foreach_cur \ , CGAL_PDB_FOREACH_TYPEOF(COL))
#define CGAL_PDB_FOREACH_PREAMBLE | ( | ) | if (bool _foreach_is_rvalue = false) {} else |
#define CGAL_PDB_FOREACH_PROTECT | ( | expr | ) | (static_cast<boost::mpl::bool_<1 == sizeof(boost::foreach_detail_::is_true(expr))> *>(0)) |
#define CGAL_PDB_FOREACH_SHOULD_COPY | ( | COL | ) |
(boost::foreach_detail_::should_copy_impl( \ true ? 0 : boost::foreach_detail_::or_( \ boost::foreach_detail_::is_array_(COL) \ , CGAL_PDB_FOREACH_IS_NONCOPYABLE(COL) \ , boost::foreach_detail_::not_(boost::foreach_detail_::is_const_(COL))) \ , true ? 0 : CGAL_PDB_FOREACH_IS_LIGHTWEIGHT_PROXY(COL) \ , &_foreach_is_rvalue))
#define CGAL_PDB_FOREACH_TYPEOF | ( | COL | ) | (true ? 0 : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL))) |
boost::foreach::is_lightweight_proxy<T>* boost_foreach_is_lightweight_proxy | ( | T *& | , |
CGAL_PDB_FOREACH_TAG_DEFAULT | |||
) | [inline] |
boost::mpl::true_* boost_foreach_is_lightweight_proxy | ( | std::pair< T, T > *& | , |
boost::foreach::tag | |||
) | [inline] |
boost::mpl::true_* boost_foreach_is_lightweight_proxy | ( | boost::iterator_range< T > *& | , |
boost::foreach::tag | |||
) | [inline] |
boost::mpl::true_* boost_foreach_is_lightweight_proxy | ( | boost::sub_range< T > *& | , |
boost::foreach::tag | |||
) | [inline] |
boost::mpl::true_* boost_foreach_is_lightweight_proxy | ( | T **& | , |
boost::foreach::tag | |||
) | [inline] |
boost::foreach::is_noncopyable<T>* boost_foreach_is_noncopyable | ( | T *& | , |
CGAL_PDB_FOREACH_TAG_DEFAULT | |||
) | [inline] |