Template Class Graph::Attribute

Nested Relationships

This class is a nested type of Class Graph.

Nested Types

Class Documentation

template<typename NodeOrEdge, typename T, bool isConst>
class Attribute

Public Types

using AttributeStorage_type = std::conditional_t<isConst, const AttributeStorage<NodeOrEdge, ASB, T>, AttributeStorage<NodeOrEdge, ASB, T>>

Public Functions

inline explicit Attribute(std::shared_ptr<AttributeStorage_type> ownedStorage = nullptr)
inline Attribute(Attribute const &other)
template<bool ic = isConst, std::enable_if_t<ic, int> = 0>
inline Attribute(Attribute<NodeOrEdge, T, false> const &other)
inline Attribute &operator=(Attribute other)
inline void swap(Attribute &other)
inline Attribute(Attribute &&other) noexcept
template<bool ic = isConst, std::enable_if_t<ic, int> = 0>
inline Attribute(Attribute<NodeOrEdge, T, false> &&other) noexcept
inline auto begin() const
inline auto end() const
inline auto size() const noexcept
template<bool ic = isConst>
inline std::enable_if_t<!ic> set(index i, T v)
template<bool ic = isConst>
inline std::enable_if_t<!ic> set2(node u, node v, T t)
inline auto get(index i) const
inline auto get2(node u, node v) const
inline auto get(index i, T defaultT) const
inline auto get2(node u, node v, T defaultT) const
inline IndexProxy operator[](index i) const
inline IndexProxy operator()(node u, node v) const
inline void checkAttribute() const
inline auto getName() const
inline void write(std::string const &filename) const
template<bool ic = isConst>
inline std::enable_if_t<!ic> read(const std::string &filename)
class Iterator

Public Types

using value_type = T
using reference = std::conditional_t<isConst, const value_type&, value_type&>
using pointer = std::conditional_t<isConst, const value_type*, value_type*>
using iterator_category = std::forward_iterator_tag
using difference_type = ptrdiff_t

Public Functions

inline Iterator()
inline Iterator(AttributeStorage_type *storage)
inline Iterator &nextValid()
inline Iterator &operator++()
inline auto operator*() const
inline bool operator==(Iterator const &iter) const noexcept
inline bool operator!=(Iterator const &iter) const noexcept