8#ifndef INCLUDED_BDLS_PATHUTIL
9#define INCLUDED_BDLS_PATHUTIL
337#include <bdlscm_version.h>
344#include <bsl_string.h>
345#include <bsl_string_view.h>
380#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
386 const char *filename,
399 const char *filename,
402#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
403 static void appendRaw(std::pmr::string *path,
404 const char *filename,
417 static int popLeaf(std::string *path,
int rootEnd = -1);
418#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
419 static int popLeaf(std::pmr::string *path,
int rootEnd = -1);
436#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
458#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
459 static int getDirname(std::pmr::string *dirname,
478#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
479 static int getLeaf(std::pmr::string *leaf,
496#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
516#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
517 static int getRoot(std::pmr::string *root,
597 return getLeaf(leaf, path, rootEnd);
607 return getLeaf(leaf, path, rootEnd);
610#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
618 return getLeaf(leaf, path, rootEnd);
Definition bslstl_stringview.h:441
Definition bslstl_string.h:1281
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1804
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bdls_fdstreambuf.h:412
Definition bdls_pathutil.h:359
static bool isAbsolute(const bsl::string_view &path, int rootEnd=-1)
static void appendRaw(std::string *path, const char *filename, int length=-1, int rootEnd=-1)
static int getLeaf(std::string *leaf, const bsl::string_view &path, int rootEnd=-1)
static int getRootEnd(const bsl::string_view &path)
static int appendIfValid(bsl::string *path, const bsl::string_view &filename)
static void appendRaw(bsl::string *path, const char *filename, int length=-1, int rootEnd=-1)
static int getExtension(bsl::string *extension, const bsl::string_view &path, int rootEnd=-1)
static bool isRelative(const bsl::string_view &path, int rootEnd=-1)
static int appendIfValid(std::string *path, const bsl::string_view &filename)
static int getExtension(std::string *extension, const bsl::string_view &path, int rootEnd=-1)
static int getBasename(bsl::string *leaf, const bsl::string_view &path, int rootEnd=-1)
Definition bdls_pathutil.h:591
static const char k_SEPARATOR
Definition bdls_pathutil.h:362
static int getDirname(std::string *dirname, const bsl::string_view &path, int rootEnd=-1)
static void splitFilename(bsl::string_view *head, bsl::string_view *tail, const bsl::string_view &path, int rootEnd=-1)
static int getRoot(std::string *root, const bsl::string_view &path, int rootEnd=-1)
static int popLeaf(std::string *path, int rootEnd=-1)
static int getDirname(bsl::string *dirname, const bsl::string_view &path, int rootEnd=-1)
static int popLeaf(bsl::string *path, int rootEnd=-1)
static bool hasLeaf(const bsl::string_view &path, int rootEnd=-1)
static int getLeaf(bsl::string *leaf, const bsl::string_view &path, int rootEnd=-1)
static int getRoot(bsl::string *root, const bsl::string_view &path, int rootEnd=-1)