Ardour  9.0-pre0-822-g12e3bc5c20
PBD::Searchpath Class Reference

#include <search_path.h>

Inheritance diagram for PBD::Searchpath:
[legend]

Public Member Functions

LIBPBD_TEMPLATE_MEMBER_API Searchpath ()
 
LIBPBD_TEMPLATE_MEMBER_API Searchpath (const std::string &search_path)
 
LIBPBD_TEMPLATE_MEMBER_API Searchpath (const std::vector< std::string > &paths)
 
LIBPBD_TEMPLATE_MEMBER_API ~Searchpath ()
 
LIBPBD_TEMPLATE_MEMBER_API const std::string to_string () const
 
LIBPBD_TEMPLATE_MEMBER_API Searchpathoperator+= (const Searchpath &spath)
 
LIBPBD_TEMPLATE_MEMBER_API Searchpathoperator+= (const std::string &directory_path)
 
LIBPBD_TEMPLATE_MEMBER_API const Searchpath operator+ (const Searchpath &other)
 
LIBPBD_TEMPLATE_MEMBER_API const Searchpath operator+ (const std::string &directory_path)
 
LIBPBD_TEMPLATE_MEMBER_API Searchpathoperator-= (const Searchpath &spath)
 
LIBPBD_TEMPLATE_MEMBER_API Searchpathoperator-= (const std::string &directory_path)
 
LIBPBD_TEMPLATE_MEMBER_API Searchpathadd_subdirectory_to_paths (const std::string &subdir)
 
LIBPBD_TEMPLATE_MEMBER_API void add_directory (const std::string &directory_path)
 
LIBPBD_TEMPLATE_MEMBER_API void add_directories (const std::vector< std::string > &paths)
 
LIBPBD_TEMPLATE_MEMBER_API void remove_directory (const std::string &directory_path)
 
LIBPBD_TEMPLATE_MEMBER_API void remove_directories (const std::vector< std::string > &paths)
 
LIBPBD_TEMPLATE_MEMBER_API bool contains (const std::string &path) const
 

Detailed Description

The Searchpath class is a helper class for getting a vector of paths contained in a search path string where a "search path string" contains absolute directory paths separated by a colon(:) or a semi-colon(;) on windows.

The Searchpath class does not test whether the paths exist or are directories. It is basically just a container.

Definition at line 44 of file search_path.h.

Constructor & Destructor Documentation

◆ Searchpath() [1/3]

LIBPBD_TEMPLATE_MEMBER_API PBD::Searchpath::Searchpath ( )

Create an empty Searchpath.

◆ Searchpath() [2/3]

LIBPBD_TEMPLATE_MEMBER_API PBD::Searchpath::Searchpath ( const std::string &  search_path)

Initialize Searchpath from a string where the string contains one or more absolute paths to directories which are delimited by a path separation character. The path delimeter is a colon(:) on unix and a semi-colon(;) on windows.

Each path contained in the search path may or may not resolve to an existing directory in the filesystem.

Parameters
search_pathA path string.

◆ Searchpath() [3/3]

LIBPBD_TEMPLATE_MEMBER_API PBD::Searchpath::Searchpath ( const std::vector< std::string > &  paths)

Initialize Searchpath from a vector of paths that may or may not exist.

Parameters
pathsA vector of paths.

◆ ~Searchpath()

LIBPBD_TEMPLATE_MEMBER_API PBD::Searchpath::~Searchpath ( )
inline

Definition at line 73 of file search_path.h.

Member Function Documentation

◆ add_directories()

LIBPBD_TEMPLATE_MEMBER_API void PBD::Searchpath::add_directories ( const std::vector< std::string > &  paths)

Add directories in paths to this Searchpath.

◆ add_directory()

LIBPBD_TEMPLATE_MEMBER_API void PBD::Searchpath::add_directory ( const std::string &  directory_path)

Add directory_path to this Searchpath.

◆ add_subdirectory_to_paths()

LIBPBD_TEMPLATE_MEMBER_API Searchpath& PBD::Searchpath::add_subdirectory_to_paths ( const std::string &  subdir)

Add a sub-directory to each path in the search path.

Parameters
subdirThe directory name, it should not contain any path separating tokens.

◆ contains()

LIBPBD_TEMPLATE_MEMBER_API bool PBD::Searchpath::contains ( const std::string &  path) const
Returns
true if Searchpath already contains path

◆ operator+() [1/2]

LIBPBD_TEMPLATE_MEMBER_API const Searchpath PBD::Searchpath::operator+ ( const Searchpath other)

Concatenate another Searchpath onto this.

◆ operator+() [2/2]

LIBPBD_TEMPLATE_MEMBER_API const Searchpath PBD::Searchpath::operator+ ( const std::string &  directory_path)

Add another path to the search path.

◆ operator+=() [1/2]

LIBPBD_TEMPLATE_MEMBER_API Searchpath& PBD::Searchpath::operator+= ( const Searchpath spath)

Add all the directories in path to this.

◆ operator+=() [2/2]

LIBPBD_TEMPLATE_MEMBER_API Searchpath& PBD::Searchpath::operator+= ( const std::string &  directory_path)

Add another directory path to the search path.

◆ operator-=() [1/2]

LIBPBD_TEMPLATE_MEMBER_API Searchpath& PBD::Searchpath::operator-= ( const Searchpath spath)

Remove all the directories in path from this.

◆ operator-=() [2/2]

LIBPBD_TEMPLATE_MEMBER_API Searchpath& PBD::Searchpath::operator-= ( const std::string &  directory_path)

Remove a directory path from the search path.

◆ remove_directories()

LIBPBD_TEMPLATE_MEMBER_API void PBD::Searchpath::remove_directories ( const std::vector< std::string > &  paths)

Remove all the directories in paths from this Searchpath.

◆ remove_directory()

LIBPBD_TEMPLATE_MEMBER_API void PBD::Searchpath::remove_directory ( const std::string &  directory_path)

Remove directory_path from this Searchpath.

◆ to_string()

LIBPBD_TEMPLATE_MEMBER_API const std::string PBD::Searchpath::to_string ( ) const
Returns
a search path string.

The string that is returned contains the platform specific path separator.


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