Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
SearchPathSplitter Class Reference

#include "lib/searchpath.hpp"

Description

Helper: Access a path Specification as a sequence of filesystem Paths.

This iterator class dissects a ':'-separated path list. The individual components may use the symbol $ORIGIN to refer to the directory holding the current executable.

Definition at line 61 of file searchpath.hpp.

Public Types

using value_type = std::string
 
using reference = value_type &
 
using pointer = value_type *
 

Public Member Functions

 SearchPathSplitter ()=default
 
 SearchPathSplitter (string &searchPath)
 
 LIFT_PARENT_INCREMENT_OPERATOR (std::sregex_iterator)
 
 ENABLE_USE_IN_STD_RANGE_FOR_LOOPS (SearchPathSplitter)
 
string operator* () const
 
- Public Member Functions inherited from RegexSearchIter
 RegexSearchIter ()=default
 
 RegexSearchIter (string const &toParse, regex const &regex)
 
 RegexSearchIter (string_view toParse, regex const &regex)
 
 operator bool () const
 
bool isValid () const
 
bool empty () const
 
 LIFT_PARENT_INCREMENT_OPERATOR (std::sregex_iterator)
 
 ENABLE_USE_IN_STD_RANGE_FOR_LOOPS (RegexSearchIter)
 

Static Private Attributes

static const regex ACCEPT_PATHELEMENT {"(^|:)\\s*([^:]+)", regex::optimize}
 

Constructor & Destructor Documentation

◆ SearchPathSplitter() [1/2]

SearchPathSplitter ( )
default

◆ SearchPathSplitter() [2/2]

SearchPathSplitter ( string &  searchPath)
inline
Parameters
searchPath
Warning
search path string must exist somewhere else

Definition at line 68 of file searchpath.hpp.

Member Typedef Documentation

◆ value_type

using value_type = std::string

Definition at line 75 of file searchpath.hpp.

◆ reference

Definition at line 76 of file searchpath.hpp.

◆ pointer

using pointer = value_type*

Definition at line 77 of file searchpath.hpp.

Member Function Documentation

◆ LIFT_PARENT_INCREMENT_OPERATOR()

LIFT_PARENT_INCREMENT_OPERATOR ( std::sregex_iterator  )

◆ ENABLE_USE_IN_STD_RANGE_FOR_LOOPS()

ENABLE_USE_IN_STD_RANGE_FOR_LOOPS ( SearchPathSplitter  )

◆ operator*()

string operator* ( ) const
inline

Definition at line 80 of file searchpath.hpp.

References RegexSearchIter::isValid(), LERR_, and lib::replaceMagicLinkerTokens().

+ Here is the call graph for this function:

Member Data Documentation

◆ ACCEPT_PATHELEMENT

const regex ACCEPT_PATHELEMENT {"(^|:)\\s*([^:]+)", regex::optimize}
staticprivate

Definition at line 64 of file searchpath.hpp.

+ Inheritance diagram for SearchPathSplitter:
+ Collaboration diagram for SearchPathSplitter:

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