5 # ifndef VCCC_TYPE_SUPPORT_BACK_EMPLACE_HPP
6 # define VCCC_TYPE_SUPPORT_BACK_EMPLACE_HPP
11 # pragma warning( push )
12 # pragma warning( disable : 4996)
19 # if __cplusplus >= 201703L
20 struct back_emplace_iterator_base {
23 using value_type = void;
24 # if __cplusplus >= 202002L
25 using difference_type = std::ptrdiff_t;
27 using difference_type = void;
30 using reference = void;
33 using back_emplace_iterator_base =
46 template <
class Container>
48 :
public internal::back_emplace_iterator_base
70 template<
typename Container>
71 back_emplace_iterator<Container>
82 # pragma warning( pop )
Definition: back_emplace.hpp:49
back_emplace_iterator operator++(int)
Definition: back_emplace.hpp:62
back_emplace_iterator(Container &x)
Definition: back_emplace.hpp:55
back_emplace_iterator & operator=(typename Container::value_type &&value)
Definition: back_emplace.hpp:58
Container container_type
Definition: back_emplace.hpp:53
back_emplace_iterator & operator++()
Definition: back_emplace.hpp:61
Container * container
Definition: back_emplace.hpp:51
back_emplace_iterator & operator=(const typename Container::value_type &value)
Definition: back_emplace.hpp:56
back_emplace_iterator & operator*()
Definition: back_emplace.hpp:60
std::output_iterator_tag output_iterator_tag
Definition: iterator_tag.hpp:16
std::enable_if_t< std::is_object< T >::value, T * > addressof(T &t) noexcept
Definition: addressof.hpp:33
back_emplace_iterator< Container > back_emplacer(Container &container)
make back_emplace_iterator
Definition: back_emplace.hpp:72
Definition: matrix.hpp:495
Definition: directory.h:12
constexpr VCCC_INLINE_OR_STATIC detail::element_niebloid< 1 > value
Definition: key_value.hpp:35