//go:build !no_gotd_slices // +build !no_gotd_slices // Code generated by gotdgen, DO NOT EDIT. package tg import ( "context" "errors" "fmt" "sort" "strings" "go.uber.org/multierr" "go.mau.fi/mautrix-telegram/pkg/gotd/bin" "go.mau.fi/mautrix-telegram/pkg/gotd/tdjson" "go.mau.fi/mautrix-telegram/pkg/gotd/tdp" "go.mau.fi/mautrix-telegram/pkg/gotd/tgerr" ) // No-op definition for keeping imports. var ( _ = bin.Buffer{} _ = context.Background() _ = fmt.Stringer(nil) _ = strings.Builder{} _ = errors.Is _ = multierr.AppendInto _ = sort.Ints _ = tdp.Format _ = tgerr.Error{} _ = tdjson.Encoder{} ) // PageBlockClassArray is adapter for slice of PageBlockClass. type PageBlockClassArray []PageBlockClass // Sort sorts slice of PageBlockClass. func (s PageBlockClassArray) Sort(less func(a, b PageBlockClass) bool) PageBlockClassArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockClass. func (s PageBlockClassArray) SortStable(less func(a, b PageBlockClass) bool) PageBlockClassArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockClass. func (s PageBlockClassArray) Retain(keep func(x PageBlockClass) bool) PageBlockClassArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockClassArray) First() (v PageBlockClass, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockClassArray) Last() (v PageBlockClass, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockClassArray) PopFirst() (v PageBlockClass, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockClass a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockClassArray) Pop() (v PageBlockClass, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // AsPageBlockTitle returns copy with only PageBlockTitle constructors. func (s PageBlockClassArray) AsPageBlockTitle() (to PageBlockTitleArray) { for _, elem := range s { value, ok := elem.(*PageBlockTitle) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockSubtitle returns copy with only PageBlockSubtitle constructors. func (s PageBlockClassArray) AsPageBlockSubtitle() (to PageBlockSubtitleArray) { for _, elem := range s { value, ok := elem.(*PageBlockSubtitle) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockAuthorDate returns copy with only PageBlockAuthorDate constructors. func (s PageBlockClassArray) AsPageBlockAuthorDate() (to PageBlockAuthorDateArray) { for _, elem := range s { value, ok := elem.(*PageBlockAuthorDate) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockHeader returns copy with only PageBlockHeader constructors. func (s PageBlockClassArray) AsPageBlockHeader() (to PageBlockHeaderArray) { for _, elem := range s { value, ok := elem.(*PageBlockHeader) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockSubheader returns copy with only PageBlockSubheader constructors. func (s PageBlockClassArray) AsPageBlockSubheader() (to PageBlockSubheaderArray) { for _, elem := range s { value, ok := elem.(*PageBlockSubheader) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockParagraph returns copy with only PageBlockParagraph constructors. func (s PageBlockClassArray) AsPageBlockParagraph() (to PageBlockParagraphArray) { for _, elem := range s { value, ok := elem.(*PageBlockParagraph) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockPreformatted returns copy with only PageBlockPreformatted constructors. func (s PageBlockClassArray) AsPageBlockPreformatted() (to PageBlockPreformattedArray) { for _, elem := range s { value, ok := elem.(*PageBlockPreformatted) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockFooter returns copy with only PageBlockFooter constructors. func (s PageBlockClassArray) AsPageBlockFooter() (to PageBlockFooterArray) { for _, elem := range s { value, ok := elem.(*PageBlockFooter) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockAnchor returns copy with only PageBlockAnchor constructors. func (s PageBlockClassArray) AsPageBlockAnchor() (to PageBlockAnchorArray) { for _, elem := range s { value, ok := elem.(*PageBlockAnchor) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockList returns copy with only PageBlockList constructors. func (s PageBlockClassArray) AsPageBlockList() (to PageBlockListArray) { for _, elem := range s { value, ok := elem.(*PageBlockList) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockBlockquote returns copy with only PageBlockBlockquote constructors. func (s PageBlockClassArray) AsPageBlockBlockquote() (to PageBlockBlockquoteArray) { for _, elem := range s { value, ok := elem.(*PageBlockBlockquote) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockPullquote returns copy with only PageBlockPullquote constructors. func (s PageBlockClassArray) AsPageBlockPullquote() (to PageBlockPullquoteArray) { for _, elem := range s { value, ok := elem.(*PageBlockPullquote) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockPhoto returns copy with only PageBlockPhoto constructors. func (s PageBlockClassArray) AsPageBlockPhoto() (to PageBlockPhotoArray) { for _, elem := range s { value, ok := elem.(*PageBlockPhoto) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockVideo returns copy with only PageBlockVideo constructors. func (s PageBlockClassArray) AsPageBlockVideo() (to PageBlockVideoArray) { for _, elem := range s { value, ok := elem.(*PageBlockVideo) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockCover returns copy with only PageBlockCover constructors. func (s PageBlockClassArray) AsPageBlockCover() (to PageBlockCoverArray) { for _, elem := range s { value, ok := elem.(*PageBlockCover) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockEmbed returns copy with only PageBlockEmbed constructors. func (s PageBlockClassArray) AsPageBlockEmbed() (to PageBlockEmbedArray) { for _, elem := range s { value, ok := elem.(*PageBlockEmbed) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockEmbedPost returns copy with only PageBlockEmbedPost constructors. func (s PageBlockClassArray) AsPageBlockEmbedPost() (to PageBlockEmbedPostArray) { for _, elem := range s { value, ok := elem.(*PageBlockEmbedPost) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockCollage returns copy with only PageBlockCollage constructors. func (s PageBlockClassArray) AsPageBlockCollage() (to PageBlockCollageArray) { for _, elem := range s { value, ok := elem.(*PageBlockCollage) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockSlideshow returns copy with only PageBlockSlideshow constructors. func (s PageBlockClassArray) AsPageBlockSlideshow() (to PageBlockSlideshowArray) { for _, elem := range s { value, ok := elem.(*PageBlockSlideshow) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockChannel returns copy with only PageBlockChannel constructors. func (s PageBlockClassArray) AsPageBlockChannel() (to PageBlockChannelArray) { for _, elem := range s { value, ok := elem.(*PageBlockChannel) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockAudio returns copy with only PageBlockAudio constructors. func (s PageBlockClassArray) AsPageBlockAudio() (to PageBlockAudioArray) { for _, elem := range s { value, ok := elem.(*PageBlockAudio) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockKicker returns copy with only PageBlockKicker constructors. func (s PageBlockClassArray) AsPageBlockKicker() (to PageBlockKickerArray) { for _, elem := range s { value, ok := elem.(*PageBlockKicker) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockTable returns copy with only PageBlockTable constructors. func (s PageBlockClassArray) AsPageBlockTable() (to PageBlockTableArray) { for _, elem := range s { value, ok := elem.(*PageBlockTable) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockOrderedList returns copy with only PageBlockOrderedList constructors. func (s PageBlockClassArray) AsPageBlockOrderedList() (to PageBlockOrderedListArray) { for _, elem := range s { value, ok := elem.(*PageBlockOrderedList) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockDetails returns copy with only PageBlockDetails constructors. func (s PageBlockClassArray) AsPageBlockDetails() (to PageBlockDetailsArray) { for _, elem := range s { value, ok := elem.(*PageBlockDetails) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockRelatedArticles returns copy with only PageBlockRelatedArticles constructors. func (s PageBlockClassArray) AsPageBlockRelatedArticles() (to PageBlockRelatedArticlesArray) { for _, elem := range s { value, ok := elem.(*PageBlockRelatedArticles) if !ok { continue } to = append(to, *value) } return to } // AsPageBlockMap returns copy with only PageBlockMap constructors. func (s PageBlockClassArray) AsPageBlockMap() (to PageBlockMapArray) { for _, elem := range s { value, ok := elem.(*PageBlockMap) if !ok { continue } to = append(to, *value) } return to } // PageBlockTitleArray is adapter for slice of PageBlockTitle. type PageBlockTitleArray []PageBlockTitle // Sort sorts slice of PageBlockTitle. func (s PageBlockTitleArray) Sort(less func(a, b PageBlockTitle) bool) PageBlockTitleArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockTitle. func (s PageBlockTitleArray) SortStable(less func(a, b PageBlockTitle) bool) PageBlockTitleArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockTitle. func (s PageBlockTitleArray) Retain(keep func(x PageBlockTitle) bool) PageBlockTitleArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockTitleArray) First() (v PageBlockTitle, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockTitleArray) Last() (v PageBlockTitle, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockTitleArray) PopFirst() (v PageBlockTitle, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockTitle a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockTitleArray) Pop() (v PageBlockTitle, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockSubtitleArray is adapter for slice of PageBlockSubtitle. type PageBlockSubtitleArray []PageBlockSubtitle // Sort sorts slice of PageBlockSubtitle. func (s PageBlockSubtitleArray) Sort(less func(a, b PageBlockSubtitle) bool) PageBlockSubtitleArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockSubtitle. func (s PageBlockSubtitleArray) SortStable(less func(a, b PageBlockSubtitle) bool) PageBlockSubtitleArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockSubtitle. func (s PageBlockSubtitleArray) Retain(keep func(x PageBlockSubtitle) bool) PageBlockSubtitleArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockSubtitleArray) First() (v PageBlockSubtitle, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockSubtitleArray) Last() (v PageBlockSubtitle, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockSubtitleArray) PopFirst() (v PageBlockSubtitle, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockSubtitle a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockSubtitleArray) Pop() (v PageBlockSubtitle, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockAuthorDateArray is adapter for slice of PageBlockAuthorDate. type PageBlockAuthorDateArray []PageBlockAuthorDate // Sort sorts slice of PageBlockAuthorDate. func (s PageBlockAuthorDateArray) Sort(less func(a, b PageBlockAuthorDate) bool) PageBlockAuthorDateArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockAuthorDate. func (s PageBlockAuthorDateArray) SortStable(less func(a, b PageBlockAuthorDate) bool) PageBlockAuthorDateArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockAuthorDate. func (s PageBlockAuthorDateArray) Retain(keep func(x PageBlockAuthorDate) bool) PageBlockAuthorDateArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockAuthorDateArray) First() (v PageBlockAuthorDate, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockAuthorDateArray) Last() (v PageBlockAuthorDate, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockAuthorDateArray) PopFirst() (v PageBlockAuthorDate, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockAuthorDate a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockAuthorDateArray) Pop() (v PageBlockAuthorDate, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockHeaderArray is adapter for slice of PageBlockHeader. type PageBlockHeaderArray []PageBlockHeader // Sort sorts slice of PageBlockHeader. func (s PageBlockHeaderArray) Sort(less func(a, b PageBlockHeader) bool) PageBlockHeaderArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockHeader. func (s PageBlockHeaderArray) SortStable(less func(a, b PageBlockHeader) bool) PageBlockHeaderArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockHeader. func (s PageBlockHeaderArray) Retain(keep func(x PageBlockHeader) bool) PageBlockHeaderArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockHeaderArray) First() (v PageBlockHeader, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockHeaderArray) Last() (v PageBlockHeader, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockHeaderArray) PopFirst() (v PageBlockHeader, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockHeader a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockHeaderArray) Pop() (v PageBlockHeader, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockSubheaderArray is adapter for slice of PageBlockSubheader. type PageBlockSubheaderArray []PageBlockSubheader // Sort sorts slice of PageBlockSubheader. func (s PageBlockSubheaderArray) Sort(less func(a, b PageBlockSubheader) bool) PageBlockSubheaderArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockSubheader. func (s PageBlockSubheaderArray) SortStable(less func(a, b PageBlockSubheader) bool) PageBlockSubheaderArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockSubheader. func (s PageBlockSubheaderArray) Retain(keep func(x PageBlockSubheader) bool) PageBlockSubheaderArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockSubheaderArray) First() (v PageBlockSubheader, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockSubheaderArray) Last() (v PageBlockSubheader, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockSubheaderArray) PopFirst() (v PageBlockSubheader, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockSubheader a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockSubheaderArray) Pop() (v PageBlockSubheader, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockParagraphArray is adapter for slice of PageBlockParagraph. type PageBlockParagraphArray []PageBlockParagraph // Sort sorts slice of PageBlockParagraph. func (s PageBlockParagraphArray) Sort(less func(a, b PageBlockParagraph) bool) PageBlockParagraphArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockParagraph. func (s PageBlockParagraphArray) SortStable(less func(a, b PageBlockParagraph) bool) PageBlockParagraphArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockParagraph. func (s PageBlockParagraphArray) Retain(keep func(x PageBlockParagraph) bool) PageBlockParagraphArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockParagraphArray) First() (v PageBlockParagraph, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockParagraphArray) Last() (v PageBlockParagraph, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockParagraphArray) PopFirst() (v PageBlockParagraph, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockParagraph a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockParagraphArray) Pop() (v PageBlockParagraph, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockPreformattedArray is adapter for slice of PageBlockPreformatted. type PageBlockPreformattedArray []PageBlockPreformatted // Sort sorts slice of PageBlockPreformatted. func (s PageBlockPreformattedArray) Sort(less func(a, b PageBlockPreformatted) bool) PageBlockPreformattedArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockPreformatted. func (s PageBlockPreformattedArray) SortStable(less func(a, b PageBlockPreformatted) bool) PageBlockPreformattedArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockPreformatted. func (s PageBlockPreformattedArray) Retain(keep func(x PageBlockPreformatted) bool) PageBlockPreformattedArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockPreformattedArray) First() (v PageBlockPreformatted, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockPreformattedArray) Last() (v PageBlockPreformatted, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockPreformattedArray) PopFirst() (v PageBlockPreformatted, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockPreformatted a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockPreformattedArray) Pop() (v PageBlockPreformatted, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockFooterArray is adapter for slice of PageBlockFooter. type PageBlockFooterArray []PageBlockFooter // Sort sorts slice of PageBlockFooter. func (s PageBlockFooterArray) Sort(less func(a, b PageBlockFooter) bool) PageBlockFooterArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockFooter. func (s PageBlockFooterArray) SortStable(less func(a, b PageBlockFooter) bool) PageBlockFooterArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockFooter. func (s PageBlockFooterArray) Retain(keep func(x PageBlockFooter) bool) PageBlockFooterArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockFooterArray) First() (v PageBlockFooter, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockFooterArray) Last() (v PageBlockFooter, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockFooterArray) PopFirst() (v PageBlockFooter, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockFooter a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockFooterArray) Pop() (v PageBlockFooter, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockAnchorArray is adapter for slice of PageBlockAnchor. type PageBlockAnchorArray []PageBlockAnchor // Sort sorts slice of PageBlockAnchor. func (s PageBlockAnchorArray) Sort(less func(a, b PageBlockAnchor) bool) PageBlockAnchorArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockAnchor. func (s PageBlockAnchorArray) SortStable(less func(a, b PageBlockAnchor) bool) PageBlockAnchorArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockAnchor. func (s PageBlockAnchorArray) Retain(keep func(x PageBlockAnchor) bool) PageBlockAnchorArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockAnchorArray) First() (v PageBlockAnchor, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockAnchorArray) Last() (v PageBlockAnchor, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockAnchorArray) PopFirst() (v PageBlockAnchor, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockAnchor a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockAnchorArray) Pop() (v PageBlockAnchor, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockListArray is adapter for slice of PageBlockList. type PageBlockListArray []PageBlockList // Sort sorts slice of PageBlockList. func (s PageBlockListArray) Sort(less func(a, b PageBlockList) bool) PageBlockListArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockList. func (s PageBlockListArray) SortStable(less func(a, b PageBlockList) bool) PageBlockListArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockList. func (s PageBlockListArray) Retain(keep func(x PageBlockList) bool) PageBlockListArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockListArray) First() (v PageBlockList, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockListArray) Last() (v PageBlockList, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockListArray) PopFirst() (v PageBlockList, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockList a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockListArray) Pop() (v PageBlockList, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockBlockquoteArray is adapter for slice of PageBlockBlockquote. type PageBlockBlockquoteArray []PageBlockBlockquote // Sort sorts slice of PageBlockBlockquote. func (s PageBlockBlockquoteArray) Sort(less func(a, b PageBlockBlockquote) bool) PageBlockBlockquoteArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockBlockquote. func (s PageBlockBlockquoteArray) SortStable(less func(a, b PageBlockBlockquote) bool) PageBlockBlockquoteArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockBlockquote. func (s PageBlockBlockquoteArray) Retain(keep func(x PageBlockBlockquote) bool) PageBlockBlockquoteArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockBlockquoteArray) First() (v PageBlockBlockquote, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockBlockquoteArray) Last() (v PageBlockBlockquote, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockBlockquoteArray) PopFirst() (v PageBlockBlockquote, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockBlockquote a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockBlockquoteArray) Pop() (v PageBlockBlockquote, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockPullquoteArray is adapter for slice of PageBlockPullquote. type PageBlockPullquoteArray []PageBlockPullquote // Sort sorts slice of PageBlockPullquote. func (s PageBlockPullquoteArray) Sort(less func(a, b PageBlockPullquote) bool) PageBlockPullquoteArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockPullquote. func (s PageBlockPullquoteArray) SortStable(less func(a, b PageBlockPullquote) bool) PageBlockPullquoteArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockPullquote. func (s PageBlockPullquoteArray) Retain(keep func(x PageBlockPullquote) bool) PageBlockPullquoteArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockPullquoteArray) First() (v PageBlockPullquote, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockPullquoteArray) Last() (v PageBlockPullquote, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockPullquoteArray) PopFirst() (v PageBlockPullquote, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockPullquote a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockPullquoteArray) Pop() (v PageBlockPullquote, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockPhotoArray is adapter for slice of PageBlockPhoto. type PageBlockPhotoArray []PageBlockPhoto // Sort sorts slice of PageBlockPhoto. func (s PageBlockPhotoArray) Sort(less func(a, b PageBlockPhoto) bool) PageBlockPhotoArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockPhoto. func (s PageBlockPhotoArray) SortStable(less func(a, b PageBlockPhoto) bool) PageBlockPhotoArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockPhoto. func (s PageBlockPhotoArray) Retain(keep func(x PageBlockPhoto) bool) PageBlockPhotoArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockPhotoArray) First() (v PageBlockPhoto, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockPhotoArray) Last() (v PageBlockPhoto, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockPhotoArray) PopFirst() (v PageBlockPhoto, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockPhoto a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockPhotoArray) Pop() (v PageBlockPhoto, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockVideoArray is adapter for slice of PageBlockVideo. type PageBlockVideoArray []PageBlockVideo // Sort sorts slice of PageBlockVideo. func (s PageBlockVideoArray) Sort(less func(a, b PageBlockVideo) bool) PageBlockVideoArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockVideo. func (s PageBlockVideoArray) SortStable(less func(a, b PageBlockVideo) bool) PageBlockVideoArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockVideo. func (s PageBlockVideoArray) Retain(keep func(x PageBlockVideo) bool) PageBlockVideoArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockVideoArray) First() (v PageBlockVideo, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockVideoArray) Last() (v PageBlockVideo, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockVideoArray) PopFirst() (v PageBlockVideo, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockVideo a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockVideoArray) Pop() (v PageBlockVideo, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockCoverArray is adapter for slice of PageBlockCover. type PageBlockCoverArray []PageBlockCover // Sort sorts slice of PageBlockCover. func (s PageBlockCoverArray) Sort(less func(a, b PageBlockCover) bool) PageBlockCoverArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockCover. func (s PageBlockCoverArray) SortStable(less func(a, b PageBlockCover) bool) PageBlockCoverArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockCover. func (s PageBlockCoverArray) Retain(keep func(x PageBlockCover) bool) PageBlockCoverArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockCoverArray) First() (v PageBlockCover, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockCoverArray) Last() (v PageBlockCover, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockCoverArray) PopFirst() (v PageBlockCover, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockCover a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockCoverArray) Pop() (v PageBlockCover, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockEmbedArray is adapter for slice of PageBlockEmbed. type PageBlockEmbedArray []PageBlockEmbed // Sort sorts slice of PageBlockEmbed. func (s PageBlockEmbedArray) Sort(less func(a, b PageBlockEmbed) bool) PageBlockEmbedArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockEmbed. func (s PageBlockEmbedArray) SortStable(less func(a, b PageBlockEmbed) bool) PageBlockEmbedArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockEmbed. func (s PageBlockEmbedArray) Retain(keep func(x PageBlockEmbed) bool) PageBlockEmbedArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockEmbedArray) First() (v PageBlockEmbed, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockEmbedArray) Last() (v PageBlockEmbed, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockEmbedArray) PopFirst() (v PageBlockEmbed, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockEmbed a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockEmbedArray) Pop() (v PageBlockEmbed, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockEmbedPostArray is adapter for slice of PageBlockEmbedPost. type PageBlockEmbedPostArray []PageBlockEmbedPost // Sort sorts slice of PageBlockEmbedPost. func (s PageBlockEmbedPostArray) Sort(less func(a, b PageBlockEmbedPost) bool) PageBlockEmbedPostArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockEmbedPost. func (s PageBlockEmbedPostArray) SortStable(less func(a, b PageBlockEmbedPost) bool) PageBlockEmbedPostArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockEmbedPost. func (s PageBlockEmbedPostArray) Retain(keep func(x PageBlockEmbedPost) bool) PageBlockEmbedPostArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockEmbedPostArray) First() (v PageBlockEmbedPost, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockEmbedPostArray) Last() (v PageBlockEmbedPost, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockEmbedPostArray) PopFirst() (v PageBlockEmbedPost, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockEmbedPost a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockEmbedPostArray) Pop() (v PageBlockEmbedPost, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // SortByDate sorts slice of PageBlockEmbedPost by Date. func (s PageBlockEmbedPostArray) SortByDate() PageBlockEmbedPostArray { return s.Sort(func(a, b PageBlockEmbedPost) bool { return a.GetDate() < b.GetDate() }) } // SortStableByDate sorts slice of PageBlockEmbedPost by Date. func (s PageBlockEmbedPostArray) SortStableByDate() PageBlockEmbedPostArray { return s.SortStable(func(a, b PageBlockEmbedPost) bool { return a.GetDate() < b.GetDate() }) } // PageBlockCollageArray is adapter for slice of PageBlockCollage. type PageBlockCollageArray []PageBlockCollage // Sort sorts slice of PageBlockCollage. func (s PageBlockCollageArray) Sort(less func(a, b PageBlockCollage) bool) PageBlockCollageArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockCollage. func (s PageBlockCollageArray) SortStable(less func(a, b PageBlockCollage) bool) PageBlockCollageArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockCollage. func (s PageBlockCollageArray) Retain(keep func(x PageBlockCollage) bool) PageBlockCollageArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockCollageArray) First() (v PageBlockCollage, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockCollageArray) Last() (v PageBlockCollage, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockCollageArray) PopFirst() (v PageBlockCollage, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockCollage a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockCollageArray) Pop() (v PageBlockCollage, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockSlideshowArray is adapter for slice of PageBlockSlideshow. type PageBlockSlideshowArray []PageBlockSlideshow // Sort sorts slice of PageBlockSlideshow. func (s PageBlockSlideshowArray) Sort(less func(a, b PageBlockSlideshow) bool) PageBlockSlideshowArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockSlideshow. func (s PageBlockSlideshowArray) SortStable(less func(a, b PageBlockSlideshow) bool) PageBlockSlideshowArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockSlideshow. func (s PageBlockSlideshowArray) Retain(keep func(x PageBlockSlideshow) bool) PageBlockSlideshowArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockSlideshowArray) First() (v PageBlockSlideshow, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockSlideshowArray) Last() (v PageBlockSlideshow, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockSlideshowArray) PopFirst() (v PageBlockSlideshow, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockSlideshow a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockSlideshowArray) Pop() (v PageBlockSlideshow, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockChannelArray is adapter for slice of PageBlockChannel. type PageBlockChannelArray []PageBlockChannel // Sort sorts slice of PageBlockChannel. func (s PageBlockChannelArray) Sort(less func(a, b PageBlockChannel) bool) PageBlockChannelArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockChannel. func (s PageBlockChannelArray) SortStable(less func(a, b PageBlockChannel) bool) PageBlockChannelArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockChannel. func (s PageBlockChannelArray) Retain(keep func(x PageBlockChannel) bool) PageBlockChannelArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockChannelArray) First() (v PageBlockChannel, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockChannelArray) Last() (v PageBlockChannel, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockChannelArray) PopFirst() (v PageBlockChannel, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockChannel a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockChannelArray) Pop() (v PageBlockChannel, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockAudioArray is adapter for slice of PageBlockAudio. type PageBlockAudioArray []PageBlockAudio // Sort sorts slice of PageBlockAudio. func (s PageBlockAudioArray) Sort(less func(a, b PageBlockAudio) bool) PageBlockAudioArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockAudio. func (s PageBlockAudioArray) SortStable(less func(a, b PageBlockAudio) bool) PageBlockAudioArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockAudio. func (s PageBlockAudioArray) Retain(keep func(x PageBlockAudio) bool) PageBlockAudioArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockAudioArray) First() (v PageBlockAudio, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockAudioArray) Last() (v PageBlockAudio, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockAudioArray) PopFirst() (v PageBlockAudio, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockAudio a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockAudioArray) Pop() (v PageBlockAudio, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockKickerArray is adapter for slice of PageBlockKicker. type PageBlockKickerArray []PageBlockKicker // Sort sorts slice of PageBlockKicker. func (s PageBlockKickerArray) Sort(less func(a, b PageBlockKicker) bool) PageBlockKickerArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockKicker. func (s PageBlockKickerArray) SortStable(less func(a, b PageBlockKicker) bool) PageBlockKickerArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockKicker. func (s PageBlockKickerArray) Retain(keep func(x PageBlockKicker) bool) PageBlockKickerArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockKickerArray) First() (v PageBlockKicker, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockKickerArray) Last() (v PageBlockKicker, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockKickerArray) PopFirst() (v PageBlockKicker, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockKicker a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockKickerArray) Pop() (v PageBlockKicker, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockTableArray is adapter for slice of PageBlockTable. type PageBlockTableArray []PageBlockTable // Sort sorts slice of PageBlockTable. func (s PageBlockTableArray) Sort(less func(a, b PageBlockTable) bool) PageBlockTableArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockTable. func (s PageBlockTableArray) SortStable(less func(a, b PageBlockTable) bool) PageBlockTableArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockTable. func (s PageBlockTableArray) Retain(keep func(x PageBlockTable) bool) PageBlockTableArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockTableArray) First() (v PageBlockTable, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockTableArray) Last() (v PageBlockTable, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockTableArray) PopFirst() (v PageBlockTable, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockTable a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockTableArray) Pop() (v PageBlockTable, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockOrderedListArray is adapter for slice of PageBlockOrderedList. type PageBlockOrderedListArray []PageBlockOrderedList // Sort sorts slice of PageBlockOrderedList. func (s PageBlockOrderedListArray) Sort(less func(a, b PageBlockOrderedList) bool) PageBlockOrderedListArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockOrderedList. func (s PageBlockOrderedListArray) SortStable(less func(a, b PageBlockOrderedList) bool) PageBlockOrderedListArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockOrderedList. func (s PageBlockOrderedListArray) Retain(keep func(x PageBlockOrderedList) bool) PageBlockOrderedListArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockOrderedListArray) First() (v PageBlockOrderedList, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockOrderedListArray) Last() (v PageBlockOrderedList, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockOrderedListArray) PopFirst() (v PageBlockOrderedList, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockOrderedList a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockOrderedListArray) Pop() (v PageBlockOrderedList, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockDetailsArray is adapter for slice of PageBlockDetails. type PageBlockDetailsArray []PageBlockDetails // Sort sorts slice of PageBlockDetails. func (s PageBlockDetailsArray) Sort(less func(a, b PageBlockDetails) bool) PageBlockDetailsArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockDetails. func (s PageBlockDetailsArray) SortStable(less func(a, b PageBlockDetails) bool) PageBlockDetailsArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockDetails. func (s PageBlockDetailsArray) Retain(keep func(x PageBlockDetails) bool) PageBlockDetailsArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockDetailsArray) First() (v PageBlockDetails, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockDetailsArray) Last() (v PageBlockDetails, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockDetailsArray) PopFirst() (v PageBlockDetails, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockDetails a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockDetailsArray) Pop() (v PageBlockDetails, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockRelatedArticlesArray is adapter for slice of PageBlockRelatedArticles. type PageBlockRelatedArticlesArray []PageBlockRelatedArticles // Sort sorts slice of PageBlockRelatedArticles. func (s PageBlockRelatedArticlesArray) Sort(less func(a, b PageBlockRelatedArticles) bool) PageBlockRelatedArticlesArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockRelatedArticles. func (s PageBlockRelatedArticlesArray) SortStable(less func(a, b PageBlockRelatedArticles) bool) PageBlockRelatedArticlesArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockRelatedArticles. func (s PageBlockRelatedArticlesArray) Retain(keep func(x PageBlockRelatedArticles) bool) PageBlockRelatedArticlesArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockRelatedArticlesArray) First() (v PageBlockRelatedArticles, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockRelatedArticlesArray) Last() (v PageBlockRelatedArticles, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockRelatedArticlesArray) PopFirst() (v PageBlockRelatedArticles, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockRelatedArticles a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockRelatedArticlesArray) Pop() (v PageBlockRelatedArticles, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true } // PageBlockMapArray is adapter for slice of PageBlockMap. type PageBlockMapArray []PageBlockMap // Sort sorts slice of PageBlockMap. func (s PageBlockMapArray) Sort(less func(a, b PageBlockMap) bool) PageBlockMapArray { sort.Slice(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // SortStable sorts slice of PageBlockMap. func (s PageBlockMapArray) SortStable(less func(a, b PageBlockMap) bool) PageBlockMapArray { sort.SliceStable(s, func(i, j int) bool { return less(s[i], s[j]) }) return s } // Retain filters in-place slice of PageBlockMap. func (s PageBlockMapArray) Retain(keep func(x PageBlockMap) bool) PageBlockMapArray { n := 0 for _, x := range s { if keep(x) { s[n] = x n++ } } s = s[:n] return s } // First returns first element of slice (if exists). func (s PageBlockMapArray) First() (v PageBlockMap, ok bool) { if len(s) < 1 { return } return s[0], true } // Last returns last element of slice (if exists). func (s PageBlockMapArray) Last() (v PageBlockMap, ok bool) { if len(s) < 1 { return } return s[len(s)-1], true } // PopFirst returns first element of slice (if exists) and deletes it. func (s *PageBlockMapArray) PopFirst() (v PageBlockMap, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[0] // Delete by index from SliceTricks. copy(a[0:], a[1:]) var zero PageBlockMap a[len(a)-1] = zero a = a[:len(a)-1] *s = a return v, true } // Pop returns last element of slice (if exists) and deletes it. func (s *PageBlockMapArray) Pop() (v PageBlockMap, ok bool) { if s == nil || len(*s) < 1 { return } a := *s v = a[len(a)-1] a = a[:len(a)-1] *s = a return v, true }