Zen API

- Home
- Topics
- Types
- Files

All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
Public Member Functions
kPath Class Reference
kApi/Io

## Description

Collection of path manipulation functions.

Most of the functions in this class expect paths to be in normal form (canonical separator character, no trailing slashes). The kPath_Normalize function can be used to normalize paths prior to calling other kPath functions.

The kPath_ToNative function can be used to transform a path in normal form to a form suitable for the underlying system (native separator).

Inheritance diagram for kPath:

## Public Member Functions
kStatus | kPath_Combine (const kChar *segment1, const kChar *segment2, kChar *path, kSize capacity)
| Combines two path segments using the normalized path separator character. More...
kStatus | kPath_Directory (const kChar *path, kChar *directory, kSize capacity)
| Returns the parent directory for a given file or directory path. More...
kStatus | kPath_Extension (const kChar *path, kChar *extension, kSize capacity)
| Given a file path, returns the portion of the path containing the file extension. More...
kStatus | kPath_FileName (const kChar *path, kChar *fileName, kSize capacity)
| Given a file path, returns the portion of the path containing the file name. More...
kBool | kPath_IsSeparator (kChar ch)
| Determines if the given character is equal to the normalized path separator. More...
kStatus | kPath_LibraryName (const kChar *libraryName, kChar *fileName, kSize capacity)
| Given a library name (e.g. More...
kStatus | kPath_Normalize (const kChar *path, kChar *normalized, kSize capacity)
| Transforms all path separators to normal form and removes trailing slashes. More...
kStatus | kPath_Plugin (const kChar *pluginName, kChar *pluginPath, kSize capacity)
| Given a plugin name (e.g. More...
kChar | kPath_Separator ()
| Returns the normalized path separator character. More...
kStatus | kPath_StripExtension (const kChar *path, kChar *strippedPath, kSize capacity)
| Given a file path, returns the portion of the path excluding the file extension. More...
kStatus | kPath_ToAbsolute (const kChar *pathA, const kChar *bRelativeToA, kChar *pathB, kSize capacity)
| Finds the absolute path expressed by the combination of an absolute path and a relative path. More...
kStatus | kPath_ToNative (const kChar *path, kChar *native, kSize capacity)
| Transforms all path separators to native form. More...
kStatus | kPath_ToRelative (const kChar *pathA, const kChar *pathB, kChar *bRelativeToA, kSize capacity)
| Expresses an absolute path in relative form, in relation to a reference path. More...
Public Member Functions inherited from kObject
kAlloc | kObject_Alloc (kObject object)
| Gets the memory allocator associated with this object. More...
kStatus | kObject_Clone (kObject *object, kObject source, kAlloc allocator)
| Constructs a new object by copying an existing object, including any aggregated child elements. More...
kStatus | kObject_Destroy (kObject object)
| Destroys the object. More...
kStatus | kObject_Dispose (kObject object)
| Destroys the object and any aggregated child elements. More...
kBool | kObject_Equals (kObject object, kObject other)
| Determines whether the object is equal to another object. More...
kSize | kObject_HashCode (kObject object)
| Gets a hash code representing the state of this object. More...
kBool | kObject_Is (kObject object, kType type)
| Determines whether this object is an instance of the specified type. More...
kBool | kObject_IsShared (kObject object)
| Reports whether the object is currently shared (reference count greater than one). More...
kStatus | kObject_SetPool (kObject object, kObjectPool pool)
| Sets the object pool associated with this object. More...
kStatus | kObject_Share (kObject object)
| Increments the reference count associated with this object. More...
kSize | kObject_Size (kObject object)
| Estimates the memory consumed by this object, including any aggregated child elements. More...
kType | kObject_Type (kObject object)
| Returns the type of the object. More...

## Related
#define | kPATH_MAX (kxPATH_MAX)
| Maximum supported path length.
Related inherited from kObject
#define | kObject_Type_(OBJ) kxObject_Type_(OBJ)
| Macro version of kObject_Type.
#define | kObject_Is_(OBJ, TYPE) kxObject_Is_(OBJ, TYPE)
| Macro version of kObject_Is.
#define | kObject_Alloc_(OBJ) kxObject_Allocator_(OBJ)
| Macro version of kObject_Alloc.

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

- Io/kPath.h