LLVM 22.0.0git
llvm::CastInfo< To, From, std::enable_if_t<!is_simple_type< From >::value > > Struct Template Reference

This struct provides an overload for CastInfo where From has simplify_type defined. More...

#include "llvm/Support/Casting.h"

Inheritance diagram for llvm::CastInfo< To, From, std::enable_if_t<!is_simple_type< From >::value > >:
[legend]

Public Types

using Self = CastInfo<To, From>
using SimpleFrom = typename simplify_type<From>::SimpleType
using SimplifiedSelf = CastInfo<To, SimpleFrom>
using CastReturnType

Static Public Member Functions

static bool isPossible (From &f)
static decltype(auto) doCast (From &f)
static decltype(auto) castFailed ()
static decltype(auto) doCastIfPossible (From &f)
Static Public Member Functions inherited from llvm::CastIsPossible< To, From, Enable >
static bool isPossible (const From &f)

Detailed Description

template<typename To, typename From>
struct llvm::CastInfo< To, From, std::enable_if_t<!is_simple_type< From >::value > >

This struct provides an overload for CastInfo where From has simplify_type defined.

This simply forwards to the appropriate CastInfo with the simplified type/value, so you don't have to implement both.

Definition at line 503 of file Casting.h.

Member Typedef Documentation

◆ CastReturnType

using llvm::CastInfo< To, From, std::enable_if_t<!is_simple_type< From >::value > >::CastReturnType

Definition at line 479 of file Casting.h.

◆ Self

template<typename To, typename From>
using llvm::CastInfo< To, From, std::enable_if_t<!is_simple_type< From >::value > >::Self = CastInfo<To, From>

Definition at line 504 of file Casting.h.

◆ SimpleFrom

template<typename To, typename From>
using llvm::CastInfo< To, From, std::enable_if_t<!is_simple_type< From >::value > >::SimpleFrom = typename simplify_type<From>::SimpleType

Definition at line 505 of file Casting.h.

◆ SimplifiedSelf

template<typename To, typename From>
using llvm::CastInfo< To, From, std::enable_if_t<!is_simple_type< From >::value > >::SimplifiedSelf = CastInfo<To, SimpleFrom>

Definition at line 506 of file Casting.h.

Member Function Documentation

◆ castFailed()

template<typename To, typename From>
decltype(auto) llvm::CastInfo< To, From, std::enable_if_t<!is_simple_type< From >::value > >::castFailed ( )
inlinestatic

Definition at line 517 of file Casting.h.

References llvm::CastInfo< To, SimpleFrom >::castFailed().

◆ doCast()

template<typename To, typename From>
decltype(auto) llvm::CastInfo< To, From, std::enable_if_t<!is_simple_type< From >::value > >::doCast ( From & f)
inlinestatic

◆ doCastIfPossible()

template<typename To, typename From>
decltype(auto) llvm::CastInfo< To, From, std::enable_if_t<!is_simple_type< From >::value > >::doCastIfPossible ( From & f)
inlinestatic

◆ isPossible()

template<typename To, typename From>
bool llvm::CastInfo< To, From, std::enable_if_t<!is_simple_type< From >::value > >::isPossible ( From & f)
inlinestatic

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