Aller au contenu
Bienvenue sur la nouvelle documentation de CppUtils !
using CppUtils::Container::MeshNodePtr<Key, Value, Policy>::Branch<IsConst>::VectorAccessor = std::conditional_t<IsConst, Thread::ReadOnlyAccessor<std::vector<Link>>, Thread::Accessor<std::vector<Link>, Thread::SharedMutex>>;
constexpr Branch::Branch() = default;
constexpr Branch::Branch(MeshNodePtr parent, Key key, SafeShared<std::vector<Link>> branchLinks, VectorAccessor vectorAccessor);
[[nodiscard]] constexpr auto Branch::size() const noexcept -> std::size_t;
[[nodiscard]] constexpr auto Branch::empty() const noexcept -> bool;
[[nodiscard]] constexpr auto Branch::contains(const MeshNodePtr& node) const -> bool;
constexpr auto Branch::clear() -> void requires (not IsConst) { m_vectorAccessor.reset(); MeshNodePtr::detach(m_parent, m_key); } [[nodiscard]] constexpr auto operator[](std::size_t index) const -> std::expected<MeshNodePtr, std::string_view>;
[[nodiscard]] constexpr auto Branch::operator[](std::size_t index) const -> std::expected<MeshNodePtr, std::string_view>;
constexpr auto Branch::operator>>(const MeshNodePtr& other) -> const MeshNodePtr &;
constexpr auto Branch::operator>>(Branch<false>&& other) -> Branch<false> &&;
constexpr auto Branch::operator-(const MeshNodePtr& other) -> void;
template <bool OtherIsConst>
constexpr auto Branch::operator&(const Branch<OtherIsConst>& other) -> void;
template <bool OtherIsConst>
constexpr auto Branch::operator/(const Branch<OtherIsConst>& other) -> void requires (not IsConst) { m_vectorAccessor.reset(); other.m_vectorAccessor.reset(); MeshNodePtr::detach(other.m_key, m_parent, m_key, other.m_parent); } [[nodiscard]] constexpr auto front() const;
[[nodiscard]] constexpr auto Branch::front() const;
[[nodiscard]] constexpr auto Branch::back() const;
[[nodiscard]] constexpr auto Branch::begin() const [[clang::lifetimebound, msvc::lifetimebound]];
[[nodiscard]] constexpr auto Branch::end() const [[clang::lifetimebound, msvc::lifetimebound]];