csPathsList Class Reference (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Classes | Public Member Functions
csPathsList Class Reference
Utilities

Class to manage a list of paths. More...

`#include <csutil/syspath.h>`

List of all members.

## Classes
struct | Entry
| This structure contains information about a plugin path. More...
## Public Member Functions
size_t | AddUnique (const char *path, bool scanRecursive=false, const char *type=0, bool overrideRecursive=true)
| Add a path, but only if it isn't in the list already.
size_t | AddUnique (const Entry &path, bool overrideRecursive=true)
| Add a path, but only if it isn't in the list already.
void | AddUnique (const csPathsList &list, bool overrideRecursive=true)
| Add entries of another path list that aren't already in this list.
size_t | AddUniqueExpanded (const char *path, bool scanRecursive=false, const char *type=0, bool overrideRecursive=true)
| Add a path, but only if it isn't in the list already.
size_t | AddUniqueExpanded (const Entry &path, bool overrideRecursive=true)
| Add a path, but only if it isn't in the list already.
void | AddUniqueExpanded (const csPathsList &list, bool overrideRecursive=true)
| Add a path, but only if it isn't in the list already.
| csPathsList ()
| Constructor.
| csPathsList (csPathsList const &o)
| Copy constructor.
| csPathsList (const char *pathList, bool expand=false)
| Construct from a list of paths separated by CS_PATH_DELIMITER.
| csPathsList (const char *const pathList[], bool expand=false)
| Construct from a list of single paths.
void | DeleteIndex (size_t index)
| Remove an entry from the list.
csPathsList & | operator= (csPathsList const &o)
| Assignment operator.
| ~csPathsList ()
| Destructor.
size_t | Length () const
| Return number of contained paths.
size_t | GetSize () const
| Return number of contained paths.
Entry const & | operator[] (size_t n) const
| Retrieve the n'th path record.
Entry & | operator[] (size_t n)
| Retrieve the n'th path record.
csPathsList | operator*= (const csPathsList &right)
| Create a list of paths where all paths are those on the left side concatenated with those on the right (of course with a CS_PATH_SEPARATOR ensured to be in between).
csPathsList | operator*= (const Entry &right)
| Create a list of paths where all paths are those on the left side concatenated with those on the right (of course with a CS_PATH_SEPARATOR ensured to be in between).
csPathsList | operator*= (const char *right)
| Create a list of paths where all paths are those on the left side concatenated with those on the right (of course with a CS_PATH_SEPARATOR ensured to be in between).
csPathsList | operator* (const csPathsList &left, const csPathsList &right)
| Create a list of paths where all paths are those on the left side concatenated with those on the right (of course with a CS_PATH_SEPARATOR ensured to be in between).
csPathsList | operator* (const Entry &left, const csPathsList &right)
| Create a list of paths where all paths are those on the left side concatenated with those on the right (of course with a CS_PATH_SEPARATOR ensured to be in between).
csPathsList | operator* (const char *left, const csPathsList &right)
| Create a list of paths where all paths are those on the left side concatenated with those on the right (of course with a CS_PATH_SEPARATOR ensured to be in between).
csPathsList | operator* (const csPathsList &left, const Entry &right)
| Create a list of paths where all paths are those on the left side concatenated with those on the right (of course with a CS_PATH_SEPARATOR ensured to be in between).
csPathsList | operator* (const csPathsList &left, const char *right)
| Create a list of paths where all paths are those on the left side concatenated with those on the right (of course with a CS_PATH_SEPARATOR ensured to be in between).

## Detailed Description

Class to manage a list of paths.

Remarks:
  Entries are ensured to not have a terminating path separator.
  Empty entries ("") are allowed.

Definition at line 62 of file syspath.h.

## Constructor & Destructor Documentation

csPathsList::csPathsList | ( |  | ) |

Constructor.

csPathsList::csPathsList | ( | csPathsList const & | o | ) |

Copy constructor.

csPathsList::csPathsList | ( | const char * | pathList,
|  | bool | expand = `false`
| ) |  |

Construct from a list of paths separated by CS_PATH_DELIMITER.

csPathsList::csPathsList | ( | const char *const | pathList[],
|  | bool | expand = `false`
| ) |  |

Construct from a list of single paths.

The list must be terminated by a 0 entry.

csPathsList::~csPathsList | ( |  | ) |

Destructor.

## Member Function Documentation

size_t csPathsList::AddUnique | ( | const char * | path,
|  | bool | scanRecursive = `false`,
|  | const char * | type = `0`,
|  | bool | overrideRecursive = `true`
| ) |  |

Add a path, but only if it isn't in the list already.

Parameters:

  path | Path to add to the list.
  scanRecursive | Mark the path to be scanned recursively.
  type | An arbitrary string assigning a type to the directory (i.e. "app", "crystal", etc.).
  overrideRecursive | If the path is already in the list, just set the 'scan recursive' flag.

Returns:
  Index of path in the list.

Remarks:
  Uses csPathsIdentical() to compare paths.

size_t csPathsList::AddUnique | ( | const Entry & | path,
|  | bool | overrideRecursive = `true`
| ) |  |

Add a path, but only if it isn't in the list already.

Parameters:

  path | Path to add to the list.
  overrideRecursive | If the path is already in the list, just set the 'scan recursive' flag.

Returns:
  Index of path in the list.

Remarks:
  Uses csPathsIdentical() to compare paths.

void csPathsList::AddUnique | ( | const csPathsList & | list,
|  | bool | overrideRecursive = `true`
| ) |  | `[inline]`

Add entries of another path list that aren't already in this list.

Definition at line 154 of file syspath.h.

size_t csPathsList::AddUniqueExpanded | ( | const char * | path,
|  | bool | scanRecursive = `false`,
|  | const char * | type = `0`,
|  | bool | overrideRecursive = `true`
| ) |  |

Add a path, but only if it isn't in the list already.

Add a path, but only if it isn't in the list already.

Parameters:

  path | Path to add to the list.
  scanRecursive | Mark the path to be scanned recursively.
  type | An arbitrary string assigning a type to the directory (i.e. "app", "crystal", etc.).
  overrideRecursive | If the path is already in the list, just set the 'scan recursive' flag.

Returns:
  Index of path in the list.

Remarks:
  Uses csPathsIdentical() to compare paths.

Remarks:
  Saves full native paths and uses csExpandPath() for this.

size_t csPathsList::AddUniqueExpanded | ( | const Entry & | path,
|  | bool | overrideRecursive = `true`
| ) |  |

Add a path, but only if it isn't in the list already.

Add a path, but only if it isn't in the list already.

Parameters:

  path | Path to add to the list.
  overrideRecursive | If the path is already in the list, just set the 'scan recursive' flag.

Returns:
  Index of path in the list.

Remarks:
  Uses csPathsIdentical() to compare paths.

Remarks:
  Saves full native paths and uses csExpandPath() for this.

void csPathsList::AddUniqueExpanded | ( | const csPathsList & | list,
|  | bool | overrideRecursive = `true`
| ) |  | `[inline]`

Add a path, but only if it isn't in the list already.

Add entries of another path list that aren't already in this list.

Remarks:
  Saves full native paths and uses csExpandPath() for this.

Definition at line 166 of file syspath.h.

void csPathsList::DeleteIndex | ( | size_t | index | ) |

Remove an entry from the list.

size_t csPathsList::GetSize | ( |  | ) | const`[inline]`

Return number of contained paths.

Definition at line 180 of file syspath.h.

size_t csPathsList::Length | ( |  | ) | const`[inline]`

Return number of contained paths.

Definition at line 179 of file syspath.h.

csPathsList csPathsList::operator*= | ( | const csPathsList & | right | ) |

Create a list of paths where all paths are those on the left side concatenated with those on the right (of course with a CS_PATH_SEPARATOR ensured to be in between).

csPathsList csPathsList::operator*= | ( | const Entry & | right | ) |

Create a list of paths where all paths are those on the left side concatenated with those on the right (of course with a CS_PATH_SEPARATOR ensured to be in between).

csPathsList csPathsList::operator*= | ( | const char * | right | ) |

Create a list of paths where all paths are those on the left side concatenated with those on the right (of course with a CS_PATH_SEPARATOR ensured to be in between).

csPathsList& csPathsList::operator= | ( | csPathsList const & | o | ) |

Assignment operator.

Entry const& csPathsList::operator[] | ( | size_t | n | ) | const`[inline]`

Retrieve the n'th path record.

Definition at line 186 of file syspath.h.

Entry& csPathsList::operator[] | ( | size_t | n | ) | `[inline]`

Retrieve the n'th path record.

Definition at line 187 of file syspath.h.

## Friends And Related Function Documentation

csPathsList operator* | ( | const csPathsList & | left,
|  | const csPathsList & | right
| ) |  | `[friend]`

Create a list of paths where all paths are those on the left side concatenated with those on the right (of course with a CS_PATH_SEPARATOR ensured to be in between).

csPathsList operator* | ( | const Entry & | left,
|  | const csPathsList & | right
| ) |  | `[friend]`

Create a list of paths where all paths are those on the left side concatenated with those on the right (of course with a CS_PATH_SEPARATOR ensured to be in between).

csPathsList operator* | ( | const char * | left,
|  | const csPathsList & | right
| ) |  | `[friend]`

Create a list of paths where all paths are those on the left side concatenated with those on the right (of course with a CS_PATH_SEPARATOR ensured to be in between).

csPathsList operator* | ( | const csPathsList & | left,
|  | const Entry & | right
| ) |  | `[friend]`

Create a list of paths where all paths are those on the left side concatenated with those on the right (of course with a CS_PATH_SEPARATOR ensured to be in between).

csPathsList operator* | ( | const csPathsList & | left,
|  | const char * | right
| ) |  | `[friend]`

Create a list of paths where all paths are those on the left side concatenated with those on the right (of course with a CS_PATH_SEPARATOR ensured to be in between).

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

- csutil/syspath.h