clang 20.0.0git
Classes | Public Types | Public Member Functions | Friends | List of all members
clang::CXXBasePaths Class Reference

BasePaths - Represents the set of paths from a derived class to one of its (direct or indirect) bases. More...

#include "clang/AST/CXXInheritance.h"

Public Types

using paths_iterator = std::list< CXXBasePath >::iterator
 
using const_paths_iterator = std::list< CXXBasePath >::const_iterator
 
using decl_iterator = NamedDecl **
 
using decl_range = llvm::iterator_range< decl_iterator >
 

Public Member Functions

 CXXBasePaths (bool FindAmbiguities=true, bool RecordPaths=true, bool DetectVirtual=true)
 BasePaths - Construct a new BasePaths structure to record the paths for a derived-to-base search.
 
paths_iterator begin ()
 
paths_iterator end ()
 
const_paths_iterator begin () const
 
const_paths_iterator end () const
 
CXXBasePathfront ()
 
const CXXBasePathfront () const
 
bool isAmbiguous (CanQualType BaseType)
 Determine whether the path from the most-derived type to the given base type is ambiguous (i.e., it refers to multiple subobjects of the same base type).
 
bool isFindingAmbiguities () const
 Whether we are finding multiple paths to detect ambiguities.
 
bool isRecordingPaths () const
 Whether we are recording paths.
 
void setRecordingPaths (bool RP)
 Specify whether we should be recording paths or not.
 
bool isDetectingVirtual () const
 Whether we are detecting virtual bases.
 
const