Aller au contenu
Bienvenue sur la nouvelle documentation de CppUtils !
using CppUtils::Container::BidirectionalMap<Lhs, Rhs>::Pair = std::pair<Lhs, Rhs>;
using CppUtils::Container::BidirectionalMap<Lhs, Rhs>::Map = MultiKeyMap<TaggedKey<"Left", Lhs>, TaggedKey<"Right", Rhs>, void>;
using CppUtils::Container::BidirectionalMap<Lhs, Rhs>::value_type = typename Map::value_type;
using CppUtils::Container::BidirectionalMap<Lhs, Rhs>::size_type = std::size_t;
using CppUtils::Container::BidirectionalMap<Lhs, Rhs>::difference_type = std::ptrdiff_t;
using CppUtils::Container::BidirectionalMap<Lhs, Rhs>::reference = typename Map::reference;
using CppUtils::Container::BidirectionalMap<Lhs, Rhs>::const_reference = typename Map::const_reference;
using CppUtils::Container::BidirectionalMap<Lhs, Rhs>::pointer = typename Map::pointer;
using CppUtils::Container::BidirectionalMap<Lhs, Rhs>::const_pointer = typename Map::const_pointer;
using CppUtils::Container::BidirectionalMap<Lhs, Rhs>::iterator = typename Map::const_iterator;
using CppUtils::Container::BidirectionalMap<Lhs, Rhs>::const_iterator = typename Map::const_iterator;
BidirectionalMap::BidirectionalMap() = default;
explicit BidirectionalMap::BidirectionalMap(auto&&... pairs) requires (sizeof...(pairs) > 0 and (std::same_as<std::remove_cvref_t<decltype(pairs)>, Pair> and ...));
template <std::input_iterator InputIterator>
BidirectionalMap::BidirectionalMap(InputIterator first, InputIterator last);
explicit BidirectionalMap::BidirectionalMap(std::initializer_list<Pair> values);
[[nodiscard]] constexpr auto BidirectionalMap::begin(this auto&& self) noexcept -> decltype(auto);
[[nodiscard]] constexpr auto BidirectionalMap::cbegin() const noexcept -> decltype(auto);
[[nodiscard]] constexpr auto BidirectionalMap::end(this auto&& self) noexcept -> decltype(auto);
[[nodiscard]] constexpr auto BidirectionalMap::cend() const noexcept -> decltype(auto);
[[nodiscard]] constexpr auto BidirectionalMap::empty() const noexcept -> bool;
[[nodiscard]] constexpr auto BidirectionalMap::size() const noexcept -> std::size_t;
auto BidirectionalMap::clear() noexcept -> void;
auto BidirectionalMap::insert(Lhs lhs, Rhs rhs) -> bool;
auto BidirectionalMap::insert(Pair value) -> bool;
[[nodiscard]] auto BidirectionalMap::findLeft(const Lhs& lhs) const noexcept -> const_iterator;
[[nodiscard]] auto BidirectionalMap::findRight(const Rhs& rhs) const noexcept -> const_iterator;
[[nodiscard]] auto BidirectionalMap::containsLeft(const Lhs& lhs) const noexcept -> bool;
[[nodiscard]] auto BidirectionalMap::containsRight(const Rhs& rhs) const noexcept -> bool;
[[nodiscard]] auto BidirectionalMap::left(const Lhs& lhs) const -> const Rhs&;
auto BidirectionalMap::eraseLeft(const Lhs& lhs) noexcept -> bool;
auto BidirectionalMap::eraseRight(const Rhs& rhs) noexcept -> bool;