Skip to content
Welcome to the new CppUtils documentation!
using CppUtils::Container::MeshNodePtr< Key, Value, Policy >::MutableBranch = Branch<false>;
using CppUtils::Container::MeshNodePtr< Key, Value, Policy >::ConstBranch = Branch<true>;
[[nodiscard]] static constexpr auto MeshNodePtr::makeRoot(auto&&... args) -> MeshNodePtr;

[[nodiscard]] static constexpr auto MeshNodePtr::make(auto&&... args) -> MeshNodePtr;

constexpr MeshNodePtr::MeshNodePtr() = default;

explicit constexpr MeshNodePtr::MeshNodePtr(SharedPtr node);

[[nodiscard]] constexpr auto MeshNodePtr::operator==(const MeshNodePtr& other) const noexcept -> bool;

explicit constexpr MeshNodePtr::operator bool() const noexcept;

[[nodiscard]] constexpr auto MeshNodePtr::operator[](this auto&& self, Type::In<Key> key);

[[nodiscard]] constexpr auto MeshNodePtr::at(Type::In<Key> key) const -> std::expected<Branch<true>, std::string_view>;

[[nodiscard]] constexpr auto MeshNodePtr::contains(Type::In<Key> key) const -> bool;

[[nodiscard]] constexpr auto MeshNodePtr::count(Type::In<Key> key) const -> std::size_t;

[[nodiscard]] constexpr auto MeshNodePtr::getDistanceFromRoot() const -> std::size_t;

[[nodiscard]] constexpr auto MeshNodePtr::getId() const noexcept -> std::size_t;

constexpr auto MeshNodePtr::setId(std::size_t newId) const -> void;

constexpr auto MeshNodePtr::setPolicy(std::conditional_t<std::is_void_v<Policy>, int, Policy> policy) const -> void requires (not std::is_void_v<Policy>) { if (m_node) m_node->uniqueAccess()->value.policy = std::move(policy); } [[nodiscard]] constexpr auto operator->(this auto&& self [[clang::lifetimebound, msvc::lifetimebound]]);

[[nodiscard]] constexpr auto MeshNodePtr::operator->(this auto&& self [[clang::lifetimebound, msvc::lifetimebound]]);

[[nodiscard]] constexpr auto MeshNodePtr::operator*(this auto&& self [[clang::lifetimebound, msvc::lifetimebound]]) -> decltype(auto);

constexpr auto MeshNodePtr::setValue(auto&& newValue) const -> void;

[[nodiscard]] constexpr auto MeshNodePtr::getValue() const -> Thread::ReadOnlyAccessor<Value>;

[[nodiscard]] constexpr auto MeshNodePtr::getBranches() const -> Thread::ReadOnlyAccessor<Branches>;

constexpr auto MeshNodePtr::clearBranches() const -> void;