Macros
IteratorRange.h File Reference
#include <boost/range/iterator_range.hpp>

Go to the source code of this file.

Macros

#define OFFLINE_DECLARE_CONST_ITERATOR_RANGE(_ConstIterator_, _NamePrefix_)   boost::iterator_range<_ConstIterator_> _NamePrefix_##Range() const
 
#define OFFLINE_DEFINE_CONST_ITERATOR_RANGE(_ConstIterator_, _Class_, _NamePrefix_)
 
#define OFFLINE_MAKE_BOTH_FRIEND_RANGES(_Iterator_, _ConstIterator_, _Class_)
 
#define OFFLINE_MAKE_BOTH_ITERATOR_RANGES(_Iterator_, _ConstIterator_, _NamePrefix_)
 
#define OFFLINE_MAKE_BOTH_ITERATOR_RANGES_ARG(_Iterator_, _ConstIterator_, _NamePrefix_, _Arg_)
 
#define OFFLINE_MAKE_BOTH_ITERATOR_RANGES_ARG2(_Iterator_, _ConstIterator_, _NamePrefix_, _Arg1_, _Arg2_)
 
#define OFFLINE_MAKE_CONST_ITERATOR_RANGE(_ConstIterator_, _NamePrefix_)
 
#define OFFLINE_MAKE_CONST_ITERATOR_RANGE_ARG(_ConstIterator_, _NamePrefix_, _Arg_)
 
#define OFFLINE_MAKE_CONST_ITERATOR_RANGE_ARG2(_ConstIterator_, _NamePrefix_, _Arg1_, _Arg2_)
 
#define OFFLINE_MAKE_FRIEND_CONST_RANGES(_ConstIterator_, _Class_)
 
#define OFFLINE_MAKE_FRIEND_RANGES(_Iterator_, _Class_)
 
#define OFFLINE_MAKE_ITERATOR_RANGE(_Iterator_, _NamePrefix_)
 
#define OFFLINE_MAKE_ITERATOR_RANGE_ARG(_Iterator_, _NamePrefix_, _Arg_)
 
#define OFFLINE_MAKE_ITERATOR_RANGE_ARG2(_Iterator_, _NamePrefix_, _Arg1_, _Arg2_)
 

Macro Definition Documentation

#define OFFLINE_DECLARE_CONST_ITERATOR_RANGE (   _ConstIterator_,
  _NamePrefix_ 
)    boost::iterator_range<_ConstIterator_> _NamePrefix_##Range() const

Definition at line 32 of file IteratorRange.h.

#define OFFLINE_DEFINE_CONST_ITERATOR_RANGE (   _ConstIterator_,
  _Class_,
  _NamePrefix_ 
)
Value:
boost::iterator_range<_Class_::_ConstIterator_> \
_Class_::_NamePrefix_##Range() \
const \
{ \
return boost::make_iterator_range(_NamePrefix_##Begin(), _NamePrefix_##End()); \
}

Definition at line 35 of file IteratorRange.h.

#define OFFLINE_MAKE_BOTH_FRIEND_RANGES (   _Iterator_,
  _ConstIterator_,
  _Class_ 
)
Value:
OFFLINE_MAKE_FRIEND_RANGES(_Iterator_, _Class_) \
OFFLINE_MAKE_FRIEND_CONST_RANGES(_ConstIterator_, _Class_)
#define OFFLINE_MAKE_FRIEND_CONST_RANGES(_ConstIterator_, _Class_)
#define OFFLINE_MAKE_FRIEND_RANGES(_Iterator_, _Class_)

Definition at line 122 of file IteratorRange.h.

#define OFFLINE_MAKE_BOTH_ITERATOR_RANGES (   _Iterator_,
  _ConstIterator_,
  _NamePrefix_ 
)
Value:
OFFLINE_MAKE_ITERATOR_RANGE(_Iterator_, _NamePrefix_) \
OFFLINE_MAKE_CONST_ITERATOR_RANGE(_ConstIterator_, _NamePrefix_)
#define OFFLINE_MAKE_ITERATOR_RANGE(_Iterator_, _NamePrefix_)
Definition: IteratorRange.h:24
#define OFFLINE_MAKE_CONST_ITERATOR_RANGE(_ConstIterator_, _NamePrefix_)
Definition: IteratorRange.h:28

Definition at line 43 of file IteratorRange.h.

#define OFFLINE_MAKE_BOTH_ITERATOR_RANGES_ARG (   _Iterator_,
  _ConstIterator_,
  _NamePrefix_,
  _Arg_ 
)
Value:
OFFLINE_MAKE_ITERATOR_RANGE_ARG(_Iterator_, _NamePrefix_, _Arg_) \
OFFLINE_MAKE_CONST_ITERATOR_RANGE_ARG(_ConstIterator_, _NamePrefix_, _Arg_)
#define OFFLINE_MAKE_CONST_ITERATOR_RANGE_ARG(_ConstIterator_, _NamePrefix_, _Arg_)
Definition: IteratorRange.h:65
#define OFFLINE_MAKE_ITERATOR_RANGE_ARG(_Iterator_, _NamePrefix_, _Arg_)
Definition: IteratorRange.h:61

Definition at line 69 of file IteratorRange.h.

#define OFFLINE_MAKE_BOTH_ITERATOR_RANGES_ARG2 (   _Iterator_,
  _ConstIterator_,
  _NamePrefix_,
  _Arg1_,
  _Arg2_ 
)
Value:
OFFLINE_MAKE_ITERATOR_RANGE_ARG2(_Iterator_, _NamePrefix_, _Arg1_, _Arg2_) \
OFFLINE_MAKE_CONST_ITERATOR_RANGE_ARG2(_ConstIterator_, _NamePrefix_, _Arg1_, _Arg2_)
#define OFFLINE_MAKE_CONST_ITERATOR_RANGE_ARG2(_ConstIterator_, _NamePrefix_, _Arg1_, _Arg2_)
Definition: IteratorRange.h:91
#define OFFLINE_MAKE_ITERATOR_RANGE_ARG2(_Iterator_, _NamePrefix_, _Arg1_, _Arg2_)
Definition: IteratorRange.h:87

Definition at line 95 of file IteratorRange.h.

#define OFFLINE_MAKE_CONST_ITERATOR_RANGE (   _ConstIterator_,
  _NamePrefix_ 
)
Value:
boost::iterator_range<_ConstIterator_> _NamePrefix_##Range() const \
{ return boost::make_iterator_range(_NamePrefix_##Begin(), _NamePrefix_##End()); }

Definition at line 28 of file IteratorRange.h.

#define OFFLINE_MAKE_CONST_ITERATOR_RANGE_ARG (   _ConstIterator_,
  _NamePrefix_,
  _Arg_ 
)
Value:
boost::iterator_range<_ConstIterator_> _NamePrefix_##Range(_Arg_) const \
{ return boost::make_iterator_range(_NamePrefix_##Begin(arg), _NamePrefix_##End(arg)); }

Definition at line 65 of file IteratorRange.h.

#define OFFLINE_MAKE_CONST_ITERATOR_RANGE_ARG2 (   _ConstIterator_,
  _NamePrefix_,
  _Arg1_,
  _Arg2_ 
)
Value:
boost::iterator_range<_ConstIterator_> _NamePrefix_##Range(_Arg1_, _Arg2_) const \
{ return boost::make_iterator_range(_NamePrefix_##Begin(arg1, arg2), _NamePrefix_##End(arg1, arg2)); }

Definition at line 91 of file IteratorRange.h.

#define OFFLINE_MAKE_FRIEND_CONST_RANGES (   _ConstIterator_,
  _Class_ 
)
Value:
friend _ConstIterator_ begin(const _Class_& x) { return x.Begin(); } \
friend _ConstIterator_ cbegin(const _Class_& x) { return x.Begin(); } \
friend _ConstIterator_ end(const _Class_& x) { return x.End(); } \
friend _ConstIterator_ cend(const _Class_& x) { return x.End(); }

Definition at line 116 of file IteratorRange.h.

#define OFFLINE_MAKE_FRIEND_RANGES (   _Iterator_,
  _Class_ 
)
Value:
friend _Iterator_ begin(_Class_& x) { return x.Begin(); } \
friend _Iterator_ end(_Class_& x) { return x.End(); }

Definition at line 112 of file IteratorRange.h.

#define OFFLINE_MAKE_ITERATOR_RANGE (   _Iterator_,
  _NamePrefix_ 
)
Value:
boost::iterator_range<_Iterator_> _NamePrefix_##Range() \
{ return boost::make_iterator_range(_NamePrefix_##Begin(), _NamePrefix_##End()); }

Definition at line 24 of file IteratorRange.h.

#define OFFLINE_MAKE_ITERATOR_RANGE_ARG (   _Iterator_,
  _NamePrefix_,
  _Arg_ 
)
Value:
boost::iterator_range<_Iterator_> _NamePrefix_##Range(_Arg_) \
{ return boost::make_iterator_range(_NamePrefix_##Begin(arg), _NamePrefix_##End(arg)); }

Definition at line 61 of file IteratorRange.h.

#define OFFLINE_MAKE_ITERATOR_RANGE_ARG2 (   _Iterator_,
  _NamePrefix_,
  _Arg1_,
  _Arg2_ 
)
Value:
boost::iterator_range<_Iterator_> _NamePrefix_##Range(_Arg1_, _Arg2_) \
{ return boost::make_iterator_range(_NamePrefix_##Begin(arg1, arg2), _NamePrefix_##End(arg1, arg2)); }

Definition at line 87 of file IteratorRange.h.


, generated on Tue Sep 26 2023.