di
0.1.0
Loading...
Searching...
No Matches
cdata.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/container/concepts/contiguous_container.h
"
4
#include "
di/container/concepts/iterator.h
"
5
#include "
di/container/interface/data.h
"
6
#include "
di/container/interface/enable_borrowed_container.h
"
7
#include "
di/container/interface/possibly_const_container.h
"
8
#include "
di/container/meta/const_iterator.h
"
9
#include "
di/function/pipeable.h
"
10
#include "
di/function/tag_invoke.h
"
11
#include "
di/meta/core.h
"
12
#include "
di/meta/util.h
"
13
#include "
di/util/as_const_pointer.h
"
14
#include "
di/util/forward.h
"
15
16
namespace
di::container
{
17
struct
CDataFunction
:
function::pipeline::EnablePipeline
{
18
template
<concepts::ContiguousContainer T>
19
requires
(
enable_borrowed_container
(
types::in_place_type
<
meta::RemoveCV<T>
>))
20
constexpr
auto
operator
()(T&&
container
)
const
{
21
return
util::as_const_pointer
(
container::data
(detail::possibly_const_container(
container
)));
22
}
23
};
24
25
constexpr
inline
auto
cdata
=
CDataFunction
{};
26
}
27
28
namespace
di
{
29
using
container::cdata
;
30
}
as_const_pointer.h
const_iterator.h
contiguous_container.h
core.h
data.h
forward.h
enable_borrowed_container.h
iterator.h
di::container
Definition
sequence.h:12
di::container::enable_borrowed_container
constexpr struct di::container::EnableBorrowedContainer enable_borrowed_container
di::container::cdata
constexpr auto cdata
Definition
cdata.h:25
di::container::data
constexpr auto data
Definition
data.h:51
di::meta::RemoveCV
RemoveConst< RemoveVolatile< T > > RemoveCV
Definition
core.h:57
di::types::in_place_type
constexpr auto in_place_type
Definition
in_place_type.h:12
di::util::as_const_pointer
constexpr auto as_const_pointer(T const *pointer)
Definition
as_const_pointer.h:5
di
Definition
any_storable.h:9
pipeable.h
possibly_const_container.h
di::container::CDataFunction
Definition
cdata.h:17
di::function::pipeline::EnablePipeline
Definition
pipeable.h:8
tag_invoke.h
util.h
di
container
interface
cdata.h
Generated by
1.13.2