proxygen
folly::gen::Field< Class, FieldType > Class Template Reference

#include <Base.h>

Public Types

typedef FieldTypeClass::* FieldPtr
 

Public Member Functions

 Field (FieldPtr field)
 
const FieldType & operator() (const Class &x) const
 
const FieldType & operator() (const Class *x) const
 
FieldType & operator() (Class &x) const
 
FieldType & operator() (Class *x) const
 
FieldType && operator() (Class &&x) const
 

Private Attributes

FieldPtr field_
 

Detailed Description

template<class Class, class FieldType>
class folly::gen::Field< Class, FieldType >

Definition at line 159 of file Base.h.

Member Typedef Documentation

template<class Class, class FieldType>
typedef FieldTypeClass::* folly::gen::Field< Class, FieldType >::FieldPtr

Definition at line 161 of file Base.h.

Constructor & Destructor Documentation

template<class Class, class FieldType>
folly::gen::Field< Class, FieldType >::Field ( FieldPtr  field)
inlineexplicit

Definition at line 167 of file Base.h.

167 : field_(field) {}
Map field(FieldType Class::*field)
Definition: Base.h:641
FieldPtr field_
Definition: Base.h:164

Member Function Documentation

template<class Class, class FieldType>
const FieldType& folly::gen::Field< Class, FieldType >::operator() ( const Class &  x) const
inline

Definition at line 169 of file Base.h.

169  {
170  return x.*field_;
171  }
Definition: InvokeTest.cpp:58
FieldPtr field_
Definition: Base.h:164
template<class Class, class FieldType>
const FieldType& folly::gen::Field< Class, FieldType >::operator() ( const Class *  x) const
inline

Definition at line 173 of file Base.h.

173  {
174  return x->*field_;
175  }
Definition: InvokeTest.cpp:58
FieldPtr field_
Definition: Base.h:164
template<class Class, class FieldType>
FieldType& folly::gen::Field< Class, FieldType >::operator() ( Class &  x) const
inline

Definition at line 177 of file Base.h.

177  {
178  return x.*field_;
179  }
Definition: InvokeTest.cpp:58
FieldPtr field_
Definition: Base.h:164
template<class Class, class FieldType>
FieldType& folly::gen::Field< Class, FieldType >::operator() ( Class *  x) const
inline

Definition at line 181 of file Base.h.

181  {
182  return x->*field_;
183  }
Definition: InvokeTest.cpp:58
FieldPtr field_
Definition: Base.h:164
template<class Class, class FieldType>
FieldType&& folly::gen::Field< Class, FieldType >::operator() ( Class &&  x) const
inline

Definition at line 185 of file Base.h.

References folly::gen::move.

185  {
186  return std::move(x.*field_);
187  }
Definition: InvokeTest.cpp:58
constexpr detail::Map< Move > move
Definition: Base-inl.h:2567
FieldPtr field_
Definition: Base.h:164

Member Data Documentation

template<class Class, class FieldType>
FieldPtr folly::gen::Field< Class, FieldType >::field_
private

Definition at line 164 of file Base.h.


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