LLVM 22.0.0git
llvm::ImmutableGraph< NodeValueT, EdgeValueT > Class Template Reference

#include "Target/X86/ImmutableGraph.h"

Inheritance diagram for llvm::ImmutableGraph< NodeValueT, EdgeValueT >:
[legend]

Classes

class  Edge
class  EdgeSet
class  Node
class  NodeSet

Public Types

using node_value_type = NodeValueT
using edge_value_type = EdgeValueT
using size_type = int

Public Member Functions

ArrayRef< Nodenodes () const
const Nodenodes_begin () const
const Nodenodes_end () const
ArrayRef< Edgeedges () const
const Edgeedges_begin () const
const Edgeedges_end () const
size_type nodes_size () const
size_type edges_size () const
size_type getNodeIndex (const Node &N) const
size_type getEdgeIndex (const Edge &E) const

Protected Member Functions

 ImmutableGraph (std::unique_ptr< Node[]> Nodes, std::unique_ptr< Edge[]> Edges, size_type NodesSize, size_type EdgesSize)
 ImmutableGraph (const ImmutableGraph &)=delete
 ImmutableGraph (ImmutableGraph &&)=delete
ImmutableGraphoperator= (const ImmutableGraph &)=delete
ImmutableGraphoperator= (ImmutableGraph &&)=delete

Friends

template<typename>
class ImmutableGraphBuilder

Detailed Description

template<typename NodeValueT, typename EdgeValueT>
class llvm::ImmutableGraph< NodeValueT, EdgeValueT >

Definition at line 38 of file ImmutableGraph.h.

Member Typedef Documentation

◆ edge_value_type

template<typename NodeValueT, typename EdgeValueT>
using llvm::ImmutableGraph< NodeValueT, EdgeValueT >::edge_value_type = EdgeValueT

Definition at line 44 of file ImmutableGraph.h.

◆ node_value_type

template<typename NodeValueT, typename EdgeValueT>
using llvm::ImmutableGraph< NodeValueT, EdgeValueT >::node_value_type = NodeValueT

Definition at line 43 of file ImmutableGraph.h.

◆ size_type

template<typename NodeValueT, typename EdgeValueT>
using llvm::ImmutableGraph< NodeValueT, EdgeValueT >::size_type = int

Definition at line 45 of file ImmutableGraph.h.

Constructor & Destructor Documentation

◆ ImmutableGraph() [1/3]

template<typename NodeValueT, typename EdgeValueT>
llvm::ImmutableGraph< NodeValueT, EdgeValueT >::ImmutableGraph ( std::unique_ptr< Node[]> Nodes,
std::unique_ptr< Edge[]> Edges,
size_type NodesSize,
size_type EdgesSize )
inlineprotected

◆ ImmutableGraph() [2/3]

template<typename NodeValueT, typename EdgeValueT>
llvm::ImmutableGraph< NodeValueT, EdgeValueT >::ImmutableGraph ( const ImmutableGraph< NodeValueT, EdgeValueT > & )
protecteddelete

◆ ImmutableGraph() [3/3]

template<typename NodeValueT, typename EdgeValueT>
llvm::ImmutableGraph< NodeValueT, EdgeValueT >::ImmutableGraph ( ImmutableGraph< NodeValueT, EdgeValueT > && )
protecteddelete

Member Function Documentation

◆ edges()

template<typename NodeValueT, typename EdgeValueT>
ArrayRef< Edge > llvm::ImmutableGraph< NodeValueT, EdgeValueT >::edges ( ) const
inline

◆ edges_begin()

template<typename NodeValueT, typename EdgeValueT>
const Edge * llvm::ImmutableGraph< NodeValueT, EdgeValueT >::edges_begin ( ) const
inline

◆ edges_end()

template<typename NodeValueT, typename EdgeValueT>
const Edge * llvm::ImmutableGraph< NodeValueT, EdgeValueT >::edges_end ( ) const
inline

Definition at line 96 of file ImmutableGraph.h.

◆ edges_size()

template<typename NodeValueT, typename EdgeValueT>
size_type llvm::ImmutableGraph< NodeValueT, EdgeValueT >::edges_size ( ) const
inline

◆ getEdgeIndex()

template<typename NodeValueT, typename EdgeValueT>
size_type llvm::ImmutableGraph< NodeValueT, EdgeValueT >::getEdgeIndex ( const Edge & E) const
inline

Definition at line 106 of file ImmutableGraph.h.

◆ getNodeIndex()

template<typename NodeValueT, typename EdgeValueT>
size_type llvm::ImmutableGraph< NodeValueT, EdgeValueT >::getNodeIndex ( const Node & N) const
inline

Definition at line 102 of file ImmutableGraph.h.

◆ nodes()

template<typename NodeValueT, typename EdgeValueT>
ArrayRef< Node > llvm::ImmutableGraph< NodeValueT, EdgeValueT >::nodes ( ) const
inline

◆ nodes_begin()

template<typename NodeValueT, typename EdgeValueT>
const Node * llvm::ImmutableGraph< NodeValueT, EdgeValueT >::nodes_begin ( ) const
inline

◆ nodes_end()

template<typename NodeValueT, typename EdgeValueT>
const Node * llvm::ImmutableGraph< NodeValueT, EdgeValueT >::nodes_end ( ) const
inline

Definition at line 92 of file ImmutableGraph.h.

◆ nodes_size()

template<typename NodeValueT, typename EdgeValueT>
size_type llvm::ImmutableGraph< NodeValueT, EdgeValueT >::nodes_size ( ) const
inline

◆ operator=() [1/2]

template<typename NodeValueT, typename EdgeValueT>
ImmutableGraph & llvm::ImmutableGraph< NodeValueT, EdgeValueT >::operator= ( const ImmutableGraph< NodeValueT, EdgeValueT > & )
protecteddelete

◆ operator=() [2/2]

template<typename NodeValueT, typename EdgeValueT>
ImmutableGraph & llvm::ImmutableGraph< NodeValueT, EdgeValueT >::operator= ( ImmutableGraph< NodeValueT, EdgeValueT > && )
protecteddelete

◆ ImmutableGraphBuilder

template<typename NodeValueT, typename EdgeValueT>
template<typename>
friend class ImmutableGraphBuilder
friend

Definition at line 40 of file ImmutableGraph.h.


The documentation for this class was generated from the following file: