ipcq 0.12.0
Loading...
Searching...
No Matches
traits.hpp
Go to the documentation of this file.
1/**
2 * @file
3 * @ingroup ipcq_detail
4 * @brief Basic implementation detail traits
5 * @copyright
6 * SPDX-FileCopyrightText: 2019-2020 European Southern Observatory (ESO)
7 *
8 * SPDX-License-Identifier: LGPL-3.0-only
9 */
10#ifndef IPCQ_DETAIL_TRAITS_HPP_
11#define IPCQ_DETAIL_TRAITS_HPP_
12
13namespace ipcq::detail {
14
15/**
16 * Shared memory queue iterator trait for non-const iterator.
17 *
18 * @ingroup ipcq_detail
19 */
20template <class T>
22 using value_type = T;
25 using size_type = size_t;
26 using difference_type = std::ptrdiff_t;
27};
28
29/**
30 * Shared memory queue iterator trait for const iterator.
31 *
32 * @ingroup ipcq_detail
33 */
34template <class T>
36 using value_type = T;
37 using pointer = const value_type*;
38 using reference = const value_type&;
39 using size_type = size_t;
40 using difference_type = std::ptrdiff_t;
41};
42} // namespace ipcq::detail
43#endif // #ifndef IPCQ_DETAIL_TRAITS_HPP_
Shared memory queue iterator trait for const iterator.
Definition traits.hpp:35
const value_type & reference
Definition traits.hpp:38
std::ptrdiff_t difference_type
Definition traits.hpp:40
const value_type * pointer
Definition traits.hpp:37
Shared memory queue iterator trait for non-const iterator.
Definition traits.hpp:21
std::ptrdiff_t difference_type
Definition traits.hpp:26