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_ToNormal 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_Application (const kChar *appName, kChar *appPath, kSize capacity)
| Given a application name (e.g. More...
kStatus | kPath_ApplicationName (const kChar *appName, kChar *fileName, kSize capacity)
| Given a application name (e.g. More...
kStatus | kPath_BaseName (const kChar *path, kChar *baseName, kSize capacity)
| Given a file path, returns the base name by stripping the parent directory portion. More...
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_IsAbsolute (const kChar *path)
| Determines whether the provided path in an absolute path. More...
kBool | kPath_IsFileNameValid (const kChar *fileName)
| Reports whether the provided file name is valid. 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_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_ToCanonical (const kChar *path, kChar *normalized, kSize capacity)
| Transforms all path separators to normal form, canonicalizes the path by collapsing redundant separators and removes trailing slashes. More...
kStatus | kPath_ToNative (const kChar *path, kChar *native, kSize capacity)
| Transforms all path separators to native form. More...
kStatus | kPath_ToNormal (const kChar *path, kChar *normalized, kSize capacity)
| Transforms all path separators to normal form and removes trailing slashes. 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
| Maximum supported path length.

## Additional Inherited Members
Protected Member Functions inherited from kObject
kStatus | kObject_FreeMem (kObject object, void *mem)
| Protected method called by derived classes to free memory using the object's allocator. More...
kStatus | kObject_FreeMemRef (kObject object, void *mem)
| Protected method called by derived classes to free memory (and reset the provided memory pointer to kNULL) using the object's allocator. More...
kStatus | kObject_GetMem (kObject object, kSize size, void *mem)
| Protected method called by derived classes to allocate memory using the object's allocator. More...
kStatus | kObject_GetMemZero (kObject object, kSize size, void *mem)
| Protected method called by derived classes to allocate and zero memory using the object's allocator. More...
kStatus | kObject_Init (kObject object, kType type, kAlloc alloc)
| Protected method called by derived classes to initialize the kObject base class. More...
kStatus | kObject_VDisposeItems (kObject object)
| Protected virtual method that destroys any aggregated child objects associated with a collection. More...
kBool | kObject_VEquals (kObject object, kObject other)
| Protected virtual method that compares two objects for equality. More...
kSize | kObject_VHashCode (kObject object)
| Protected virtual method that calculates a hash code representing the object instance. More...
kStatus | kObject_VInitClone (kObject object, kObject source, kAlloc allocator)
| Protected virtual method that clones (makes a deep copy of) the specified source object. More...
kStatus | kObject_VRelease (kObject object)
| Protected virtual method that deallocates any resources owned by the object. More...
kSize | kObject_VSize (kObject object)
| Protected virtual method that calculates the total size (in bytes) of the object instance. More...

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

- Io/kPath.h