26 auto& pool= tree.
Pool;
39 if( realTarget.
Equals(target) )
48#if defined ( _WIN32) && !DOXYGEN
49 namespace {
NString unknown(
"<Unknown>"); }
54 #if !defined ( _WIN32)
55 auto key= fInfo.
Owner();
56 auto resultPair= ownerCache.Try( key );
57 if( !resultPair.first )
59 auto* result= getpwuid(key);
60 resultPair.second.Construct( key,
NString(result ? result->pw_name :
"?"));
62 return resultPair.second.Mapped();
71 #if !defined ( _WIN32)
72 auto key= fInfo.
Group();
73 auto resultPair= groupCache.Try( key );
74 if( !resultPair.first )
76 auto* result= getgrgid(key);
77 resultPair.second.Construct( key,
NString(result ? result->gr_name :
"?"));
79 return resultPair.second.Mapped();
The entry type which is embedded in each tree node.
constexpr uint32_t Group() const noexcept
void SetLinkTarget(FTree &tree, const lang::system::PathString &target, const lang::system::PathString &realTarget)
ExtendedEntryInfo * extendedInfo
Extended information, depending on the entry type.
Permissions
Permission flags. Compatible with posix* definition.
Qualities
Per-entry information about how a node was scanned.
constexpr uint32_t Owner() const noexcept
ALIB_API const NString & GetGroupName(const FInfo &fInfo)
ALIB_API const NString & GetOwnerName(const FInfo &fInfo)
void Allocate(TAllocator &allocator, const TString< TChar > ©)
void Free(TAllocator &allocator) const
bool Equals(const TString< TChar > &rhs) const
constexpr const TChar * Buffer() const
#define ALIB_BOXING_VTABLE_DEFINE(TMapped, Identifier)
#define ALIB_WARNINGS_ALLOW_UNSAFE_BUFFER_USAGE
This is the reference documentation of sub-namespace system of module ALib BaseCamp.
strings::TString< nchar > NString
Type alias in namespace alib.
lang::system::CPathString RealTarget
The resolved real target path.
lang::system::CPathString Target