My Project
in_place.hpp
Go to the documentation of this file.
1 
28 #ifndef BSL_IN_PLACE_HPP
29 #define BSL_IN_PLACE_HPP
30 
31 #include "cstdint.hpp"
32 
33 namespace bsl
34 {
45  class in_place_t final
46  {
47  public:
52  explicit constexpr in_place_t() noexcept = default;
53  };
54 
56  constexpr in_place_t in_place{};
57 
71  template<typename T>
72  class in_place_type_t final
73  {
74  public:
79  explicit constexpr in_place_type_t() noexcept = default;
80  };
81 
95  template<bsl::uintmax I>
96  class in_place_index_t final
97  {
98  public:
103  explicit constexpr in_place_index_t() noexcept = default;
104  };
105 }
106 
107 #endif
bsl::in_place, bsl::in_place_type, and bsl::in_place_index are disambiguation tags that can be passed...
Definition: in_place.hpp:72
constexpr in_place_t() noexcept=default
Default constructor that ensure construction of this type must be explicit.
constexpr in_place_type_t() noexcept=default
Default constructor that ensure construction of this type must be explicit.
bsl::in_place, bsl::in_place_type, and bsl::in_place_index are disambiguation tags that can be passed...
Definition: in_place.hpp:45
constexpr in_place_index_t() noexcept=default
Default constructor that ensure construction of this type must be explicit.
constexpr in_place_t in_place
reduces the verbosity of bsl::in_place_t
Definition: in_place.hpp:56
bsl::in_place, bsl::in_place_type, and bsl::in_place_index are disambiguation tags that can be passed...
Definition: in_place.hpp:96