CrystalSpace

Public API Reference

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

void AddUnique (const csPathsList &list, bool overrideRecursive=true)
 Add entries of another path list that aren't already in this list.
size_t AddUnique (const Entry &path, bool overrideRecursive=true)
 Add a path, but only if it isn't in the list already.
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.
void AddUniqueExpanded (const csPathsList &list, 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.
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.
 csPathsList (const char *const pathList[], bool expand=false)
 Construct from a list of single paths.
 csPathsList (const char *pathList, bool expand=false)
 Construct from a list of paths separated by CS_PATH_DELIMITER.
 csPathsList (csPathsList const &o)
 Copy constructor.
 csPathsList ()
 Constructor.
void DeleteIndex (size_t index)
 Remove an entry from the list.
csPathsListoperator= (csPathsList const &o)
 Assignment operator.
 ~csPathsList ()
 Destructor.



size_t GetSize () const
 Return number of contained paths.
size_t Length () const
 Return number of contained paths.
csPathsList operator*= (const char *right)
 Return number of contained paths.
csPathsList operator*= (const Entry &right)
 Return number of contained paths.
csPathsList operator*= (const csPathsList &right)
 Return number of contained paths.
Entryoperator[] (size_t n)
 Return number of contained paths.
Entry const & operator[] (size_t n) const
 Retrieve the n'th path record.
csPathsList operator* (const csPathsList &left, const char *right)
 Return number of contained paths.
csPathsList operator* (const csPathsList &left, const Entry &right)
 Return number of contained paths.
csPathsList operator* (const char *left, const csPathsList &right)
 Return number of contained paths.
csPathsList operator* (const Entry &left, const csPathsList &right)
 Return number of contained paths.
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).

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

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::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.
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.
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.

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.
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.
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 char *  right  ) 

Return number of contained paths.

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

Return number of contained paths.

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

Return number of contained paths.

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

Assignment operator.

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

Return number of contained paths.

Definition at line 187 of file syspath.h.

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

Retrieve the n'th path record.

Definition at line 186 of file syspath.h.


Friends And Related Function Documentation

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

Return number of contained paths.

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

Return number of contained paths.

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

Return number of contained paths.

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

Return number of contained paths.

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).


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

Generated for Crystal Space 2.0 by doxygen 1.6.1