blob: b2809eb2d725838c7d8a9b9a9e1b7a7457460eb6 [file] [log] [blame]
// Copyright 2018 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef BENCH_GL_FILES_PATH_H_
#define BENCH_GL_FILES_PATH_H_
#include <iostream>
class FilePath {
public:
FilePath() { this->path_ = std::string(""); }
FilePath(const FilePath& that) { this->path_ = that.path_; }
FilePath(std::string path) { this->path_ = path; }
FilePath(const char* path) { this->path_ = path; }
~FilePath() = default;
FilePath DirName();
const std::string& value() const;
bool IsSeparator(char character);
FilePath Append(const FilePath& path);
void StripTrailingSeparatorsInternal();
private:
std::string path_;
char kStringTerminator = '\0';
char kSeparators[2] = "/";
char kCurrentDirectory[2] = ".";
};
bool CreateDirectory(FilePath&);
std::string::size_type FindDriveLetter(std::string path);
#endif // BENCH_GL_FILES_PATH_H_