LLVM 19.0.0git
Classes | Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
llvm::ImmutableGraph< NodeValueT, EdgeValueT > Class Template Reference

#include "Target/X86/ImmutableGraph.h"

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

Definition at line 80 of file ImmutableGraph.h.

◆ 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

◆ edges_size()

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

Definition at line 99 of file ImmutableGraph.h.

◆ getEdgeIndex()

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

◆ getNodeIndex()

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

◆ 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

◆ nodes_size()

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

Definition at line 98 of file ImmutableGraph.h.

◆ 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

Friends And Related Function Documentation

◆ 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: