Project
Loading...
Searching...
No Matches
iterator.h File Reference
#include <cstddef>
#include <cassert>
#include <cstdint>
#include <type_traits>
#include <iostream>
#include <iterator>
#include <fairlogger/Logger.h>

Go to the source code of this file.

Classes

struct  o2::rans::internal::hasIteratorTag< IT, tag_T >
 
struct  o2::rans::internal::getIteratorTag< iterA_T, iterB_T >
 
struct  o2::rans::internal::getIteratorTag< std::bidirectional_iterator_tag, std::bidirectional_iterator_tag >
 
struct  o2::rans::internal::getIteratorTag< std::bidirectional_iterator_tag, std::random_access_iterator_tag >
 
struct  o2::rans::internal::getIteratorTag< std::random_access_iterator_tag, std::bidirectional_iterator_tag >
 
struct  o2::rans::internal::getIteratorTag< std::random_access_iterator_tag, std::random_access_iterator_tag >
 
class  o2::rans::CombinedInputIterator< iterA_T, iterB_T, F >
 
class  o2::rans::CombinedOutputIterator< input_T, iterA_T, iterB_T, F >
 
struct  o2::rans::CombinedOutputIteratorFactory< input_T >
 

Namespaces

namespace  o2
 a couple of static helper functions to create timestamp values for CCDB queries or override obsolete objects
 
namespace  o2::rans
 
namespace  o2::rans::internal
 

Typedefs

template<typename iterA_T , typename iterB_T >
using o2::rans::internal::getIteratorTag_t = typename getIteratorTag< iterA_T, iterB_T >::value_type
 

Variables

template<typename IT >
constexpr bool o2::rans::internal::isBidirectionalIterator_v = hasIteratorTag<IT, std::bidirectional_iterator_tag>::value
 
template<typename IT >
constexpr bool o2::rans::internal::isRandomAccessIterator_v = hasIteratorTag<IT, std::random_access_iterator_tag>::value
 
template<typename iterA_T , typename iterB_T >
constexpr bool o2::rans::internal::areBothRandomAccessIterators_v = std::bool_constant<isRandomAccessIterator_v<iterA_T> && isRandomAccessIterator_v<iterB_T>>::value