proxygen
folly::gen::detail::RangeConcat::Generator< Range, Source, InnerValue > Class Template Reference

#include <Base-inl.h>

Inheritance diagram for folly::gen::detail::RangeConcat::Generator< Range, Source, InnerValue >:
folly::gen::GenImpl< InnerValue, Generator< Range, Source, InnerValue > > folly::gen::FBounded< Self >

Public Member Functions

 Generator (Source source)
 
template<class Body >
void foreach (Body &&body) const
 
template<class Handler >
bool apply (Handler &&handler) const
 
- Public Member Functions inherited from folly::gen::GenImpl< InnerValue, Generator< Range, Source, InnerValue > >
bool apply (Handler &&handler) const
 
void foreach (Body &&body) const
 
- Public Member Functions inherited from folly::gen::FBounded< Self >
const Self & self () const
 
Self & self ()
 

Static Public Attributes

static constexpr bool infinite = Source::infinite
 
- Static Public Attributes inherited from folly::gen::GenImpl< InnerValue, Generator< Range, Source, InnerValue > >
static constexpr bool infinite
 

Private Attributes

Source source_
 

Additional Inherited Members

- Public Types inherited from folly::gen::GenImpl< InnerValue, Generator< Range, Source, InnerValue > >
typedef InnerValue ValueType
 
typedef std::decay< InnerValue >::type StorageType
 
- Protected Member Functions inherited from folly::gen::GenImpl< InnerValue, Generator< Range, Source, InnerValue > >
 GenImpl ()=default
 
 GenImpl (GenImpl &&)=default
 
 GenImpl (const GenImpl &)=default
 
GenImploperator= (GenImpl &&)=default
 
GenImploperator= (const GenImpl &)=default
 

Detailed Description

template<class Range, class Source, class InnerValue = typename ValueTypeOfRange<Range>::RefType>
class folly::gen::detail::RangeConcat::Generator< Range, Source, InnerValue >

Definition at line 1686 of file Base-inl.h.

Constructor & Destructor Documentation

template<class Range , class Source , class InnerValue = typename ValueTypeOfRange<Range>::RefType>
folly::gen::detail::RangeConcat::Generator< Range, Source, InnerValue >::Generator ( Source  source)
inlineexplicit

Definition at line 1691 of file Base-inl.h.

1691 : source_(std::move(source)) {}
constexpr detail::Map< Move > move
Definition: Base-inl.h:2567

Member Function Documentation

template<class Range , class Source , class InnerValue = typename ValueTypeOfRange<Range>::RefType>
template<class Handler >
bool folly::gen::detail::RangeConcat::Generator< Range, Source, InnerValue >::apply ( Handler &&  handler) const
inline

Definition at line 1703 of file Base-inl.h.

References handler(), folly::gen::range(), and value.

1703  {
1704  return source_.apply([&](Range range) -> bool {
1705  for (auto& value : range) {
1706  if (!handler(value)) {
1707  return false;
1708  }
1709  }
1710  return true;
1711  });
1712  }
void handler(int, siginfo_t *, void *)
Gen range(Value begin, Value end)
Definition: Base.h:467
uint64_t value(const typename LockFreeRingBuffer< T, Atom >::Cursor &rbcursor)
template<class Range , class Source , class InnerValue = typename ValueTypeOfRange<Range>::RefType>
template<class Body >
void folly::gen::detail::RangeConcat::Generator< Range, Source, InnerValue >::foreach ( Body &&  body) const
inline

Definition at line 1694 of file Base-inl.h.

References folly::gen::range(), and value.

1694  {
1695  source_.foreach([&](Range range) {
1696  for (auto& value : range) {
1697  body(value);
1698  }
1699  });
1700  }
Gen range(Value begin, Value end)
Definition: Base.h:467
uint64_t value(const typename LockFreeRingBuffer< T, Atom >::Cursor &rbcursor)

Member Data Documentation

template<class Range , class Source , class InnerValue = typename ValueTypeOfRange<Range>::RefType>
constexpr bool folly::gen::detail::RangeConcat::Generator< Range, Source, InnerValue >::infinite = Source::infinite
static

Definition at line 1716 of file Base-inl.h.

template<class Range , class Source , class InnerValue = typename ValueTypeOfRange<Range>::RefType>
Source folly::gen::detail::RangeConcat::Generator< Range, Source, InnerValue >::source_
private

Definition at line 1688 of file Base-inl.h.


The documentation for this class was generated from the following file: