pub struct CppCompileContexts { /* private fields */ }Implementations§
Source§impl CppCompileContexts
impl CppCompileContexts
pub fn load(project: &dyn Project) -> Self
Sourcepub fn contexts_for(&self, file: &ProjectFile) -> &[CppCompileContext]
pub fn contexts_for(&self, file: &ProjectFile) -> &[CppCompileContext]
Every distinct compile configuration the database records for file,
empty when no entry names it.
Exactly one context is an unambiguous selection. More than one means the include closures can differ, so a name is absent only where every candidate agrees that it is.
Sourcepub fn resolve_external_angle_include(
&self,
file: &ProjectFile,
include: &Path,
) -> CppExternalIncludeResolution
pub fn resolve_external_angle_include( &self, file: &ProjectFile, include: &Path, ) -> CppExternalIncludeResolution
Resolve one angle include through explicit external roots in every
compile configuration for file.
This method never probes an implicit compiler sysroot and never executes the compiler. A result is declared only when every configuration selects the same existing file. This preserves the multi-configuration honesty required by C++ diagnostics and external semantic packs.
Sourcepub fn external_angle_include_roots(
&self,
workspace_root: &Path,
) -> Vec<PathBuf>
pub fn external_angle_include_roots( &self, workspace_root: &Path, ) -> Vec<PathBuf>
Every distinct explicit root that can supply an external angle include.
The result is sorted for deterministic dependency discovery. It is a
source-set inventory, not proof that every compile configuration reaches
every root; per-reference resolution must still use
Self::resolve_external_angle_include.
Trait Implementations§
Source§impl Debug for CppCompileContexts
impl Debug for CppCompileContexts
Source§impl Default for CppCompileContexts
impl Default for CppCompileContexts
Source§fn default() -> CppCompileContexts
fn default() -> CppCompileContexts
Auto Trait Implementations§
impl Freeze for CppCompileContexts
impl RefUnwindSafe for CppCompileContexts
impl Send for CppCompileContexts
impl Sync for CppCompileContexts
impl Unpin for CppCompileContexts
impl UnsafeUnpin for CppCompileContexts
impl UnwindSafe for CppCompileContexts
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more