FLANG
Fortran::lower::pft::ReferenceVariantBase< isConst, A > Class Template Reference

#include <flang/Lower/PFTBuilder.h>

Public Types

template<typename B>
using BaseType = std::conditional_t<isConst, const B, B>
template<typename B>
using Ref = common::Reference<BaseType<B>>

Public Member Functions

 ReferenceVariantBase (std::variant< Ref< A >... > b)
template<typename T>
 ReferenceVariantBase (Ref< T > b)
template<typename B>
constexpr BaseType< B > & get () const
template<typename B>
constexpr BaseType< B > & getStatement () const
template<typename B>
constexpr BaseType< B > * getIf () const
template<typename B>
constexpr bool isA () const
template<typename VISITOR>
constexpr auto visit (VISITOR &&visitor) const

Detailed Description

template<bool isConst, typename... A>
class Fortran::lower::pft::ReferenceVariantBase< isConst, A >

Provide a variant like container that can hold references. It can hold constant or mutable references. It is used in the other classes to provide union of const references to parse-tree nodes.


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