Loading [MathJax]/extensions/tex2jax.js
Iros
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Loading...
Searching...
No Matches
path_view_impl.h
Go to the documentation of this file.
1#pragma once
2
9#include "di/util/to_owned.h"
12
13namespace di::container {
14template<concepts::InstanceOf<string::StringImpl> Str>
16
17template<concepts::Encoding Enc>
19 : public meta::EnableView<PathViewImpl<Enc>>
20 , public meta::EnableBorrowedContainer<PathViewImpl<Enc>>
21 , public ConstantPathInterface<PathViewImpl<Enc>, Enc>
22 , public util::OwnedType<PathViewImpl<Enc>, PathImpl<string::StringImpl<Enc>>> {
23private:
24 using View = string::StringViewImpl<Enc>;
25 using CodePoint = meta::EncodingCodePoint<Enc>;
26 using ViewIter = meta::ContainerIterator<View>;
27
28public:
29 using Encoding = Enc;
30
31 PathViewImpl() = default;
32
33 constexpr PathViewImpl(View view) : m_view(view) { this->compute_first_component_end(); }
34
35 constexpr auto data() const -> View { return m_view; }
36
37private:
38 View m_view;
39};
40}
Definition constant_path_interface.h:16
constexpr auto view() const &-> PathView
Definition constant_path_interface.h:31
constexpr void compute_first_component_end()
Definition constant_path_interface.h:106
constexpr PathViewImpl(View view)
Definition path_view_impl.h:33
Enc Encoding
Definition path_view_impl.h:29
constexpr auto data() const -> View
Definition path_view_impl.h:35
Definition view.h:35
Definition string_view_impl_forward_declaration.h:7
Definition enable_borrowed_container.h:7
Definition enable_view.h:7
Definition sequence.h:12
RemoveCVRef< T >::CodePoint EncodingCodePoint
Definition encoding.h:19
decltype(container::begin(util::declval< T & >())) ContainerIterator
Definition container_iterator.h:8
Definition to_owned.h:29