Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
SkSL::ExpressionArray Class Reference

#include <SkSLDefines.h>

Inheritance diagram for SkSL::ExpressionArray:
skia_private::STArray< 2, std::unique_ptr< Expression > > SkAlignedSTStorage< SkContainerAllocator::RoundUp< std::unique_ptr< Expression > >(Nreq), std::unique_ptr< Expression > > skia_private::TArray< std::unique_ptr< Expression >, sk_is_trivially_relocatable_v< std::unique_ptr< Expression > > >

Public Member Functions

ExpressionArray clone () const
 
- Public Member Functions inherited from skia_private::STArray< 2, std::unique_ptr< Expression > >
 STArray ()
 
 STArray (const std::unique_ptr< Expression > *array, int count)
 
 STArray (SkSpan< const std::unique_ptr< Expression > > data)
 
 STArray (std::initializer_list< std::unique_ptr< Expression > > data)
 
 STArray (int reserveCount)
 
 STArray (const STArray &that)
 
 STArray (const TArray< std::unique_ptr< Expression >, sk_is_trivially_relocatable_v< std::unique_ptr< Expression > > > &that)
 
 STArray (STArray &&that)
 
 STArray (TArray< std::unique_ptr< Expression >, sk_is_trivially_relocatable_v< std::unique_ptr< Expression > > > &&that)
 
STArrayoperator= (const STArray &that)
 
STArrayoperator= (const TArray< std::unique_ptr< Expression >, sk_is_trivially_relocatable_v< std::unique_ptr< Expression > > > &that)
 
STArrayoperator= (STArray &&that)
 
STArrayoperator= (TArray< std::unique_ptr< Expression >, sk_is_trivially_relocatable_v< std::unique_ptr< Expression > > > &&that)
 
- Public Member Functions inherited from skia_private::TArray< std::unique_ptr< Expression >, sk_is_trivially_relocatable_v< std::unique_ptr< Expression > > >
 TArray ()
 
 TArray (int reserveCount)
 
 TArray (const TArray &that)
 
 TArray (TArray &&that)
 
 TArray (const std::unique_ptr< Expression > *array, int count)
 
 TArray (SkSpan< const std::unique_ptr< Expression > > data)
 
 TArray (std::initializer_list< std::unique_ptr< Expression > > data)
 
TArrayoperator= (const TArray &that)
 
TArrayoperator= (TArray &&that)
 
 ~TArray ()
 
void reset (int n)
 
void reset (const std::unique_ptr< Expression > *array, int count)
 
void reserve (int n)
 
void reserve_exact (int n)
 
void removeShuffle (int n)
 
bool empty () const
 
std::unique_ptr< Expression > & push_back ()
 
std::unique_ptr< Expression > & push_back (const std::unique_ptr< Expression > &t)
 
std::unique_ptr< Expression > & push_back (std::unique_ptr< Expression > &&t)
 
std::unique_ptr< Expression > & emplace_back (Args &&... args)
 
std::unique_ptr< Expression > * push_back_n (int n)
 
std::unique_ptr< Expression > * push_back_n (int n, const std::unique_ptr< Expression > &t)
 
std::unique_ptr< Expression > * push_back_n (int n, const std::unique_ptr< Expression > t[])
 
std::unique_ptr< Expression > * move_back_n (int n, std::unique_ptr< Expression > *t)
 
void pop_back ()
 
void pop_back_n (int n)
 
void resize_back (int newCount)
 
void swap (TArray &that)
 
void move_back (TArray &that)
 
std::unique_ptr< Expression > * begin ()
 
const std::unique_ptr< Expression > * begin () const
 
std::unique_ptr< Expression > * end ()
 
const std::unique_ptr< Expression > * end () const
 
std::unique_ptr< Expression > * data ()
 
const std::unique_ptr< Expression > * data () const
 
int size () const
 
size_t size_bytes () const
 
void resize (size_t count)
 
void clear ()
 
void shrink_to_fit ()
 
std::unique_ptr< Expression > & operator[] (int i)
 
const std::unique_ptr< Expression > & operator[] (int i) const
 
std::unique_ptr< Expression > & at (int i)
 
const std::unique_ptr< Expression > & at (int i) const
 
std::unique_ptr< Expression > & front ()
 
const std::unique_ptr< Expression > & front () const
 
std::unique_ptr< Expression > & back ()
 
const std::unique_ptr< Expression > & back () const
 
std::unique_ptr< Expression > & fromBack (int i)
 
const std::unique_ptr< Expression > & fromBack (int i) const
 
bool operator== (const TArray< std::unique_ptr< Expression >, MEM_MOVE > &right) const
 
bool operator!= (const TArray< std::unique_ptr< Expression >, MEM_MOVE > &right) const
 
int capacity () const
 

Additional Inherited Members

- Public Types inherited from skia_private::TArray< std::unique_ptr< Expression >, sk_is_trivially_relocatable_v< std::unique_ptr< Expression > > >
using value_type = std::unique_ptr< Expression >
 
- Protected Member Functions inherited from skia_private::TArray< std::unique_ptr< Expression >, sk_is_trivially_relocatable_v< std::unique_ptr< Expression > > >
 TArray (SkAlignedSTStorage< InitialCapacity, std::unique_ptr< Expression > > *storage, int size=0)
 
 TArray (const std::unique_ptr< Expression > *array, int size, SkAlignedSTStorage< InitialCapacity, std::unique_ptr< Expression > > *storage)
 
 TArray (SkSpan< const std::unique_ptr< Expression > > data, SkAlignedSTStorage< InitialCapacity, std::unique_ptr< Expression > > *storage)
 

Detailed Description

Definition at line 24 of file SkSLDefines.h.

Member Function Documentation

◆ clone()

ExpressionArray SkSL::ExpressionArray::clone ( ) const

Returns a new ExpressionArray containing a clone of every element.

Definition at line 49 of file SkSLExpression.cpp.

49 {
50 ExpressionArray cloned;
51 cloned.reserve_exact(this->size());
52 for (const std::unique_ptr<Expression>& expr : *this) {
53 cloned.push_back(expr ? expr->clone() : nullptr);
54 }
55 return cloned;
56}

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