53 #ifndef CGAL_RANDOM_ACCESS_ADAPTOR_H
54 #define CGAL_RANDOM_ACCESS_ADAPTOR_H 1
82 void init_index( IC
i,
const IC&
j, std::forward_iterator_tag);
84 std::bidirectional_iterator_tag){
85 init_index( i, j, std::forward_iterator_tag());
88 std::random_access_iterator_tag){
92 #if !defined(CGAL_CFG_NO_ITERATOR_TRAITS) || \
93 defined(CGAL_LIMITED_ITERATOR_TRAITS_SUPPORT)
94 typedef typename std::iterator_traits<IC>::iterator_category ICC;
106 reserve( r, std::forward_iterator_tag());
114 void push_back(
const IC&
k, std::bidirectional_iterator_tag){
115 push_back( k, std::forward_iterator_tag());
117 void push_back(
const IC&, std::random_access_iterator_tag){}
126 return find( n, std::forward_iterator_tag());
148 #if !defined(CGAL_CFG_NO_ITERATOR_TRAITS) || \
149 defined(CGAL_LIMITED_ITERATOR_TRAITS_SUPPORT)
150 typedef typename std::iterator_traits<IC>::iterator_category ICC;
153 reserve( r, std::iterator_category( IC()));
161 #if !defined(CGAL_CFG_NO_ITERATOR_TRAITS) || \
162 defined(CGAL_LIMITED_ITERATOR_TRAITS_SUPPORT)
163 typedef typename std::iterator_traits<IC>::iterator_category ICC;
164 return find( n, ICC());
166 return find( n, std::iterator_category( IC()));
174 #if !defined(CGAL_CFG_NO_ITERATOR_TRAITS) || \
175 defined(CGAL_LIMITED_ITERATOR_TRAITS_SUPPORT)
176 typedef typename std::iterator_traits<IC>::iterator_category ICC;
179 push_back( k, std::iterator_category( k));
187 std::forward_iterator_tag) {
191 }
while ((++i) != (j));
196 #endif // CGAL_RANDOM_ACCESS_ADAPTOR_H //
#define CGAL_assertion(EX)
void reserve(size_type r, std::bidirectional_iterator_tag)
void push_back(const IC &, std::random_access_iterator_tag)
const IC & find(size_type n, std::forward_iterator_tag) const
void push_back(const IC &k)
bool is_empty_range(const IC &ic1, const IC &ic2)
Index::size_type size_type
void init_index(const IC &i, const IC &j, std::bidirectional_iterator_tag)
Random_access_adaptor(const IC &i)
void init_index(IC i, const IC &j, std::forward_iterator_tag)
IC find(size_type n) const
void push_back(const IC &k, std::bidirectional_iterator_tag)
void reserve(size_type, std::random_access_iterator_tag)
void init_index(const IC &i, const IC &, std::random_access_iterator_tag)
IC find(size_type n, std::random_access_iterator_tag) const
Random_access_adaptor(const IC &i, const IC &j)
void reserve(size_type r, std::forward_iterator_tag)
void init_index(const IC &i, const IC &j)
IC operator[](size_type n) const
#define CGAL_BEGIN_NAMESPACE
#define CGAL_END_NAMESPACE
void reserve(size_type r)
void push_back(const IC &k, std::forward_iterator_tag)
const IC & find(size_type n, std::bidirectional_iterator_tag) const