proxygen
folly::PolyExtends< I > Struct Template Reference

#include <Poly.h>

Inheritance diagram for folly::PolyExtends< I >:

Classes

struct  Interface
 

Public Types

using Subsumptions = detail::TypeList< I... >
 
template<class... >
using Members = PolyMembers<>
 

Detailed Description

template<class... I>
struct folly::PolyExtends< I >

Used in the definition of a Poly interface to say that the current interface is an extension of a set of zero or more interfaces.

Example:

struct IFoo { template <class base>=""> struct Interface : Base { void foo() { folly::poly_call<0>(*this); } }; template <class t>=""> using Members = FOLLY_POLY_MEMBERS(&T::foo); } struct IBar : PolyExtends<IFoo> { template <class base>=""> struct Interface : Base { void bar(int i) { folly::poly_call<0>(*this, i); } }; template <class t>=""> using Members = FOLLY_POLY_MEMBERS(&T::bar); }

Definition at line 197 of file Poly.h.

Member Typedef Documentation

template<class... I>
template<class... >
using folly::PolyExtends< I >::Members = PolyMembers<>

Definition at line 207 of file Poly.h.

template<class... I>
using folly::PolyExtends< I >::Subsumptions = detail::TypeList<I...>

Definition at line 198 of file Poly.h.


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