22 #ifndef __TERRALIB_COMMON_INTERNAL_PATH_H
23 #define __TERRALIB_COMMON_INTERNAL_PATH_H
24 #include "../Config.h"
60 path(
const std::string& v);
62 bool empty()
const {
return segments_.empty() && !absolute_;}
73 const std::string& front()
const;
76 const std::string& back()
const;
79 bool match_prefix(
const path& rhs)
const;
87 bool pop_back(
const path& back);
89 size_t size()
const {
return segments_.size();}
98 path operator +(
const std::string& rhs)
const {
100 return result += rhs;
102 path& operator +=(
const std::string& rhs);
106 return result += rhs;
109 std::string encoding()
const;
110 std::string string()
const;
111 const_iterator
begin()
const {
return segments_.begin();}
112 const_iterator
end()
const {
return segments_.end();}
115 friend bool TECOMMONEXPORT parse(std::string::const_iterator& first, std::string::const_iterator last,
path& v, std::string* errs);
130 bool TECOMMONEXPORT parse(std::string::const_iterator& first, std::string::const_iterator last,
path& v, std::string* errs = 0);
void is_directory(bool v)
Set whether a directory or not.
TEDATAACCESSEXPORT te::da::Expression * operator<(const te::da::Expression &e1, const te::da::Expression &e2)
std::string encoding() const
Calculate encoded string.
std::ostream & operator<<(std::ostream &os, const authority &v)
Stream out URI authority.
const_iterator end() const
Get iterator at end.
bool TECOMMONEXPORT parse(std::string::const_iterator &first, std::string::const_iterator last, authority &v)
Parse URI authority, returning whether found or not and advancing first and setting authority if foun...
bool is_directory() const
Test if a directory, meaning the path ends in a "/".
TEDATAACCESSEXPORT te::da::Expression * operator==(const te::da::Expression &e1, const te::da::Expression &e2)
TEDATAACCESSEXPORT te::da::Expression * operator!=(const te::da::Expression &e1, const te::da::Expression &e2)
static const char SEPARATOR_CHAR
separator ('/')
bool empty() const
Test if empty and not absolute.
segments_type::const_iterator const_iterator
segments const iterator type
std::list< std::string > segments_type
segments type
#define TECOMMONEXPORT
You can use this macro in order to export/import classes and functions from this module.
const_iterator begin() const
Get iterator at beginning.
bool absolute() const
Test if absolute, meaning path begins with "/".
std::string TECOMMONEXPORT convert(const path &v)
URI path to string.
void absolute(bool v)
Set whether absolute or not.