timemory 3.3.0
Modular C++ Toolkit for Performance Analysis and Logging. Profiling API and Tools for C, C++, CUDA, Fortran, and Python. The C++ template API is essentially a framework to creating tools: it is designed to provide a unifying interface for recording various performance measurements alongside data logging and interfaces to other tools.
tim::utility::path Class Reference

#include "timemory/utility/utility.hpp"

+ Collaboration diagram for tim::utility::path:

Public Types

using size_type = std::string::size_type
 

Public Member Functions

TIMEMORY_UTILITY_INLINE path (const std::string &_path)
 
TIMEMORY_UTILITY_INLINE path (char *_path)
 
TIMEMORY_UTILITY_INLINE path (const path &rhs)
 
TIMEMORY_UTILITY_INLINE path (const char *_path)
 
TIMEMORY_UTILITY_INLINE pathoperator= (const std::string &rhs)
 
TIMEMORY_UTILITY_INLINE pathoperator= (const path &rhs)
 
TIMEMORY_UTILITY_INLINE pathinsert (size_type __pos, const std::string &__s)
 
TIMEMORY_UTILITY_INLINE pathinsert (size_type __pos, const path &__s)
 

Static Public Member Functions

static TIMEMORY_UTILITY_INLINE std::string osrepr (std::string _path)
 
static TIMEMORY_UTILITY_INLINE std::string os ()
 
static TIMEMORY_UTILITY_INLINE std::string inverse ()
 
static TIMEMORY_UTILITY_INLINE std::string canonical (std::string _path)
 

Detailed Description

Definition at line 176 of file utility.hpp.

Member Typedef Documentation

◆ size_type

using tim::utility::path::size_type = std::string::size_type

Definition at line 179 of file utility.hpp.

Constructor & Destructor Documentation

◆ path() [1/4]

tim::utility::path::path ( const std::string &  _path)

Definition at line 153 of file utility.cpp.

154: std::string(osrepr(_path))
155{}
static TIMEMORY_UTILITY_INLINE std::string osrepr(std::string _path)
Definition: utility.cpp:221
tim::mpl::apply< std::string > string
Definition: macros.hpp:53

◆ path() [2/4]

tim::utility::path::path ( char *  _path)

Definition at line 157 of file utility.cpp.

159{}

◆ path() [3/4]

tim::utility::path::path ( const path rhs)

Definition at line 161 of file utility.cpp.

162: std::string(osrepr(rhs))
163{}

◆ path() [4/4]

tim::utility::path::path ( const char *  _path)

Definition at line 165 of file utility.cpp.

166: std::string(osrepr(std::string(const_cast<char*>(_path))))
167{}

Member Function Documentation

◆ canonical()

std::string tim::utility::path::canonical ( std::string  _path)
static

Definition at line 235 of file utility.cpp.

236{
237 return filepath::canonical(std::move(_path));
238}
std::string canonical(std::string _path)
Definition: filepath.hpp:134

References tim::filepath::canonical().

◆ insert() [1/2]

path & tim::utility::path::insert ( size_type  __pos,
const path __s 
)

Definition at line 192 of file utility.cpp.

193{
194 std::string::operator=(osrepr(std::string::insert(__pos, __s)));
195 return *this;
196}
_reported insert(_hash_id)

References osrepr().

◆ insert() [2/2]

path & tim::utility::path::insert ( size_type  __pos,
const std::string &  __s 
)

Definition at line 185 of file utility.cpp.

186{
187 std::string::operator=(osrepr(std::string::insert(__pos, __s)));
188 return *this;
189}

References osrepr().

◆ inverse()

std::string tim::utility::path::inverse ( )
static

Definition at line 209 of file utility.cpp.

210{
211#if defined(TIMEMORY_WINDOWS)
212 return "/";
213#elif defined(TIMEMORY_UNIX)
214 return "\\";
215#endif
216}

◆ operator=() [1/2]

path & tim::utility::path::operator= ( const path rhs)

Definition at line 177 of file utility.cpp.

178{
179 if(this != &rhs)
180 std::string::operator=(osrepr(rhs));
181 return *this;
182}

References osrepr().

◆ operator=() [2/2]

path & tim::utility::path::operator= ( const std::string &  rhs)

Definition at line 170 of file utility.cpp.

171{
172 std::string::operator=(osrepr(rhs));
173 return *this;
174}

References osrepr().

◆ os()

std::string tim::utility::path::os ( )
static

Definition at line 199 of file utility.cpp.

200{
201#if defined(TIMEMORY_WINDOWS)
202 return "\\";
203#elif defined(TIMEMORY_UNIX)
204 return "/";
205#endif
206}

◆ osrepr()

std::string tim::utility::path::osrepr ( std::string  _path)
static

Definition at line 221 of file utility.cpp.

222{
223#if defined(TIMEMORY_WINDOWS)
224 filepath::replace(_path, '/', "\\");
225 filepath::replace(_path, "\\\\", "\\");
226#elif defined(TIMEMORY_UNIX)
227 filepath::replace(_path, '\\', "/");
228 filepath::replace(_path, "//", "/");
229#endif
230 return _path;
231}
std::string & replace(std::string &_path, char _c, const char *_v)
Definition: filepath.hpp:66

References tim::filepath::replace().

Referenced by insert(), and operator=().


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