Audacity 3.2.0
Public Types | Public Member Functions | List of all members
Track::Dispatcher::inapplicable< Tag, R, ArgumentType, Function, Functions > Struct Template Reference

First, recursive case of metafunction, defers generation of operator () More...

#include <Track.h>

Public Types

enum  : unsigned { SetUsed = Tail::SetUsed << 1 }
 Constant used in a compile-time check. More...
 
using QualifiedTrackType = std::conditional_t< std::is_const_v< ArgumentType >, const Track, Track >
 
using Tail = Executor< Tag, R, ArgumentType, Functions... >
 The template specialization to recur with. More...
 

Public Member Functions

operator() (QualifiedTrackType *pTrack, const Function &, const Functions &...functions) const
 Ignore the first, inapplicable function and try others. More...
 

Detailed Description

template<typename Tag, typename R, typename ArgumentType, typename Function, typename ... Functions>
struct Track::Dispatcher::inapplicable< Tag, R, ArgumentType, Function, Functions >

First, recursive case of metafunction, defers generation of operator ()

Definition at line 476 of file Track.h.

Member Typedef Documentation

◆ QualifiedTrackType

template<typename Tag , typename R , typename ArgumentType , typename Function , typename ... Functions>
using Track::Dispatcher::inapplicable< Tag, R, ArgumentType, Function, Functions >::QualifiedTrackType = std::conditional_t< std::is_const_v<ArgumentType>, const Track, Track >

Definition at line 478 of file Track.h.

◆ Tail

template<typename Tag , typename R , typename ArgumentType , typename Function , typename ... Functions>
using Track::Dispatcher::inapplicable< Tag, R, ArgumentType, Function, Functions >::Tail = Executor< Tag, R, ArgumentType, Functions... >

The template specialization to recur with.

Definition at line 483 of file Track.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename Tag , typename R , typename ArgumentType , typename Function , typename ... Functions>
anonymous enum : unsigned

Constant used in a compile-time check.

Enumerator
SetUsed 

Definition at line 485 of file Track.h.

485: unsigned { SetUsed = Tail::SetUsed << 1 };

Member Function Documentation

◆ operator()()

template<typename Tag , typename R , typename ArgumentType , typename Function , typename ... Functions>
R Track::Dispatcher::inapplicable< Tag, R, ArgumentType, Function, Functions >::operator() ( QualifiedTrackType pTrack,
const Function &  ,
const Functions &...  functions 
) const
inline

Ignore the first, inapplicable function and try others.

Definition at line 488 of file Track.h.

491 { return Tail{}( pTrack, functions... ); }
Executor< Tag, R, ArgumentType, Functions... > Tail
The template specialization to recur with.
Definition: Track.h:483

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