Class AbstractSequence

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class AbstractSequence : public mindspore::abstract::AbstractBase

Class AbstractSequence describes the abstract value of a tuple or list.

Subclassed by mindspore::abstract::AbstractList, mindspore::abstract::AbstractTuple

Public Functions

explicit AbstractSequence(AbstractBasePtrList &&elements, const std::shared_ptr<AnfNodeWeakPtrList> &sequence_nodes)

Constructor of AbstractSequence.

Parameters
  • elements[in] A list of abstracts.

  • sequence_nodes[in] The nodes of tuple/list, usually are MakeTuple/MakeList CNodes or tuple/list ValueNodes.

explicit AbstractSequence(const AbstractBasePtrList &elements, const std::shared_ptr<AnfNodeWeakPtrList> &sequence_nodes)

Constructor of AbstractSequence.

Parameters
  • elements[in] A list of abstracts.

  • sequence_nodes[in] The nodes of tuple/list, usually are MakeTuple/MakeList CNodes or tuple/list ValueNodes.

~AbstractSequence() override = default

Destructor of AbstractSequence.

MS_DECLARE_PARENT (AbstractSequence, AbstractBase) TypePtrList ElementsType() const

Get the all of types.

Returns

A vector of types.

BaseShapePtrList ElementsShape() const

Get the all of shapes.

Returns

A vector of shapes.

AbstractBasePtrList ElementsClone() const

Clone all of the abstracts.

Returns

A vector of the cloned abstracts.

AbstractBasePtrList ElementsBroaden() const

Broaden the list of abstracts.

Returns

A vector of the broadened abstracts.

AbstractBasePtrList ElementsPartialBroaden() const

Broaden abstract with constraints, only when cond_func is true.

Returns

A pointer to the broadened abstract.

template<typename T>
ValuePtr ElementsBuildValue() const

Get real value by specific template.

Template Parameters

T – the class type of value.

Returns

A point to value.

template<typename T>
AbstractBasePtr ElementsJoin(const AbstractBasePtr &other)

Combine other abstract to the sequence of abstracts.

Template Parameters

T – param other’s class type.

Parameters

other[in] The other abstract to be joined.

Returns

A pointer to the combined abstract.

AnfNodeWeakPtrList SequenceNodesJoin(const AbstractBasePtr &other)

Combine other sequence nodes with this one.

Parameters

other[in] The other abstract to be joined.

Returns

A sequence nodes list combined.

inline std::size_t size() const

Get the size of the stored elements.

Returns

A size_t.

inline const AbstractBasePtrList &elements() const

Get the stored elements.

Returns

A vector of elements.

bool PurifyElements()

Purify the elements list, and clean unused elements.

Returns

A boolean, which indicates whether success.

inline const std::shared_ptr<AnfNodeWeakPtrList> &sequence_nodes() const

Get the sequence nodes where these ‘AbstractSequence’ evaluated from.

Returns

The nodes of tuple/list, usually are MakeTuple/MakeList CNodes or tuple/list ValueNodes.

inline void set_sequence_nodes(const std::shared_ptr<AnfNodeWeakPtrList> &sequence_nodes)

Set the sequence nodes where these ‘AbstractSequence’ evaluated from.

Parameters

sequence_nodes[in] The nodes of tuple/list, usually are MakeTuple/MakeList CNodes or tuple/list ValueNodes.

void InsertSequenceNode(const AnfNodePtr &sequence_node)

Insert a node into the sequence nodes.

Parameters

sequence_node[in] The node to intert into sequence nodes.

void InsertSequenceNodes(const AnfNodeWeakPtrList &sequence_nodes)

Insert nodes into the sequence nodes.

Parameters

sequence_nodes[in] The nodes to intert into sequence nodes.

void UpdateSequenceNode(const AnfNodePtr &old_sequence_node, const AnfNodePtr &new_sequence_node)

Update the sequence nodes.

Parameters
  • old_sequence_node[in] The old node in sequence nodes.

  • new_sequence_node[in] The new node to replace old node in sequence nodes.

virtual std::size_t hash() const override

Get the hash value of this object.

Returns

The hash value.

virtual std::string ToString() const override

Get the string representation of this object.

Returns

The string representation.

virtual std::string ToString(bool verbose) const override

Get the hash number of the abstract.

Get the formatted text to describe the abstract.

Get the formatted text to describe the abstract.

Returns

The hash of the object.

Returns

A string.

Returns

A string.