1 #ifndef SILICIUM_PATH_SEGMENT_HPP
2 #define SILICIUM_PATH_SEGMENT_HPP
7 #include <boost/filesystem/path.hpp>
20 : m_value(
std::
move(other.m_value))
25 : m_value(other.m_value)
37 m_value = other.m_value;
43 m_value.
swap(other.m_value);
46 boost::filesystem::path
56 boost::filesystem::path
const &
65 char_type
const *
c_str() const BOOST_NOEXCEPT
67 return m_value.
c_str();
72 if (maybe_segment.parent_path().empty())
83 explicit path_segment(boost::filesystem::path
const &value)
96 template <
class ComparableToPath>
102 template <
class ComparableToPath>
123 template <
class ComparableToPath>
126 return !(left == right);
129 template <
class ComparableToPath>
132 return !(left == right);
std::size_t hash_value(path_segment const &value)
Definition: path_segment.hpp:140
std::remove_reference< T >::type && move(T &&ref)
Definition: move.hpp:10
Definition: absolute_path.hpp:21
BOOST_STATIC_ASSERT(Si::is_handle< absolute_path >::value)
std::ostream & operator<<(std::ostream &out, absolute_path const &p)
Definition: absolute_path.hpp:144
char_type const * c_str() const BOOST_NOEXCEPT
Definition: path.hpp:129
Definition: absolute_path.hpp:352
Definition: absolute_path.hpp:19
boost::filesystem::path to_boost_path() const
Definition: path_segment.hpp:50
Definition: optional.hpp:39
static optional< path_segment > create(boost::filesystem::path const &maybe_segment)
Definition: path_segment.hpp:70
boost::container::string noexcept_string
Definition: noexcept_string.hpp:26
char_type const * c_str() const BOOST_NOEXCEPT
Definition: path_segment.hpp:65
noexcept_string const & underlying() const BOOST_NOEXCEPT
Definition: path.hpp:124
noexcept_string const & underlying() const BOOST_NOEXCEPT
Definition: path_segment.hpp:60
path_segment() BOOST_NOEXCEPT
Definition: path_segment.hpp:15
boost::filesystem::path to_boost_path() const
Definition: path.hpp:110
SILICIUM_USE_RESULT absolute_path operator/(absolute_path const &front, relative_path const &back)
Definition: absolute_path.hpp:246
SILICIUM_USE_RESULT bool operator==(absolute_path const &left, ComparableToPath const &right)
Definition: absolute_path.hpp:169
void swap(path_segment &other) BOOST_NOEXCEPT
Definition: path_segment.hpp:41
SILICIUM_USE_RESULT bool operator<(absolute_path const &left, absolute_path const &right)
Definition: absolute_path.hpp:214
path_segment(path_segment const &other)
Definition: path_segment.hpp:24
void combine(relative_path const &back)
Definition: absolute_path.hpp:90
Definition: path_segment.hpp:11
SILICIUM_USE_RESULT std::size_t hash_value(absolute_path const &value)
Definition: absolute_path.hpp:220
SILICIUM_USE_RESULT bool operator!=(absolute_path const &left, ComparableToPath const &right)
Definition: absolute_path.hpp:201
char native_path_char
Definition: path_char.hpp:14
path_segment(path_segment &&other) BOOST_NOEXCEPT
Definition: path_segment.hpp:19
path_segment & operator=(path_segment &&other) BOOST_NOEXCEPT
Definition: path_segment.hpp:29
void swap(path &other) BOOST_NOEXCEPT
Definition: path.hpp:101
Definition: relative_path.hpp:10
native_path_char char_type
Definition: path_segment.hpp:13
std::size_t operator()(Si::path_segment const &value) const
Definition: path_segment.hpp:171